WooCommerce Gutenberg Products Block - Version 2.7.0

Version Description

  • 2020-06-08 =
  • bug: Fix bug in Checkout block preventing a retry of credit card payment when first credit card used fails and a new one is tried. #2655
  • bug: Avoid some theme style properties leaking into the Cart and Checkout select controls. #2647
  • bug: Fixes to the product grid blocks in Twenty Twenty: discounted prices are no longer underlined and the On Sale badge is correctly positioned in the All Products block. #2573
  • bug: Improved alignment of credit card validation error messages. #2662
  • bug: Show the 'No shipping methods' placeholder in the editor with the Checkout block if there are shipping methods but all of them are disabled. #2543
  • enhancement: Filter block font sizes have been adjusted to be in line with other blocks. #2594
  • enhancement: The All Products block and the other product grid blocks now share more styles and the markup is more similar (see release post or docs to learn how to undo this change). #2428 [DN]
  • enhancement: The Cart and Checkout blocks now use the heading styles provided by the theme. #2597
  • enhancement: The Cart block titles have been merged into one. #2615
  • enhancement: The item count badges of the Checkout block have been updated so it looks better in light & dark backgrounds. #2619
  • enhancement: Checkout step progress indicator design has been updated to match the theme headings style. #2649
  • performance: Reduce bundlesize of blocks using @wordpress/components directly. #2664
Download this release

Release Info

Developer aljullu
Plugin Icon 128x128 WooCommerce Gutenberg Products Block
Version 2.7.0
Comparing to
See all releases

Code changes from version 2.6.1 to 2.7.0

Files changed (215) hide show
  1. assets/css/abstracts/_colors.scss +1 -2
  2. assets/css/abstracts/_mixins.scss +15 -10
  3. assets/css/editor.scss +14 -0
  4. assets/css/style.scss +279 -0
  5. assets/img/avatar.jpg +0 -0
  6. assets/img/collection.jpg +0 -0
  7. assets/img/single-product-preview.svg +5 -0
  8. assets/js/atomic/blocks/index.js +11 -0
  9. assets/js/atomic/blocks/product/button/block.js +146 -0
  10. assets/js/atomic/blocks/product/button/edit.js +17 -0
  11. assets/js/atomic/blocks/product/button/index.js +2 -11
  12. assets/js/atomic/blocks/product/button/style.scss +26 -0
  13. assets/js/atomic/blocks/product/image/attributes.js +16 -0
  14. assets/js/atomic/blocks/product/image/block.js +132 -0
  15. assets/js/atomic/blocks/product/image/edit.js +97 -0
  16. assets/js/atomic/blocks/product/image/frontend.js +13 -0
  17. assets/js/atomic/blocks/product/image/index.js +4 -117
  18. assets/js/atomic/blocks/product/image/style.scss +53 -0
  19. assets/js/atomic/blocks/product/index.js +0 -7
  20. assets/js/atomic/blocks/product/price/block.js +143 -0
  21. assets/js/atomic/blocks/product/price/edit.js +8 -0
  22. assets/js/atomic/blocks/product/price/index.js +2 -12
  23. assets/js/atomic/blocks/product/price/style.scss +19 -0
  24. assets/js/atomic/blocks/product/rating/block.js +80 -0
  25. assets/js/atomic/blocks/product/rating/edit.js +8 -0
  26. assets/js/atomic/blocks/product/rating/index.js +2 -12
  27. assets/js/atomic/blocks/product/rating/style.scss +54 -0
  28. assets/js/atomic/blocks/product/sale-badge/block.js +68 -0
  29. assets/js/atomic/blocks/product/sale-badge/edit.js +8 -0
  30. assets/js/atomic/blocks/product/sale-badge/index.js +2 -12
  31. assets/js/atomic/blocks/product/sale-badge/style.scss +16 -0
  32. assets/js/atomic/blocks/product/save.js +12 -0
  33. assets/js/atomic/blocks/product/sku/block.js +55 -0
  34. assets/js/atomic/blocks/product/sku/edit.js +22 -0
  35. assets/js/atomic/blocks/product/sku/index.js +30 -0
  36. assets/js/atomic/blocks/product/sku/style.scss +9 -0
  37. assets/js/atomic/blocks/product/summary/block.js +72 -0
  38. assets/js/atomic/blocks/product/summary/edit.js +8 -0
  39. assets/js/atomic/blocks/product/summary/index.js +2 -12
  40. assets/js/atomic/blocks/product/summary/style.scss +12 -0
  41. assets/js/atomic/blocks/product/title/attributes.js +12 -0
  42. assets/js/atomic/blocks/product/title/block.js +81 -0
  43. assets/js/atomic/blocks/product/title/edit.js +56 -0
  44. assets/js/atomic/blocks/product/title/frontend.js +13 -0
  45. assets/js/atomic/blocks/product/title/index.js +4 -77
  46. assets/js/atomic/blocks/product/title/style.scss +25 -0
  47. assets/js/atomic/components/product/button/index.js +0 -114
  48. assets/js/atomic/components/product/image/index.js +0 -105
  49. assets/js/atomic/components/product/index.js +0 -7
  50. assets/js/atomic/components/product/price/index.js +0 -72
  51. assets/js/atomic/components/product/rating/index.js +0 -49
  52. assets/js/atomic/components/product/sale-badge/index.js +0 -39
  53. assets/js/atomic/components/product/summary/index.js +0 -40
  54. assets/js/atomic/components/product/title/index.js +0 -48
  55. assets/js/atomic/utils/create-blocks-from-template.js +18 -0
  56. assets/js/atomic/utils/get-block-map.js +33 -0
  57. assets/js/atomic/utils/index.js +4 -0
  58. assets/js/atomic/utils/render-inner-blocks.js +65 -0
  59. assets/js/atomic/utils/render-parent-block.js +41 -0
  60. assets/js/base/components/block-error-boundary/style.scss +1 -1
  61. assets/js/base/components/cart-checkout/button/style.scss +2 -2
  62. assets/js/base/components/cart-checkout/form-step/index.js +22 -11
  63. assets/js/base/components/cart-checkout/form-step/style.scss +32 -35
  64. assets/js/base/components/cart-checkout/index.js +1 -0
  65. assets/js/base/components/cart-checkout/order-summary/index.js +53 -0
  66. assets/js/{blocks/cart-checkout/checkout/sidebar → base/components/cart-checkout/order-summary}/order-summary-item.js +9 -9
  67. assets/js/base/components/cart-checkout/order-summary/style.scss +83 -0
  68. assets/js/base/components/cart-checkout/policies/style.scss +1 -1
  69. assets/js/base/components/cart-checkout/product-low-stock-badge/style.scss +1 -1
  70. assets/js/base/components/cart-checkout/product-metadata/style.scss +1 -1
  71. assets/js/base/components/cart-checkout/product-name/style.scss +1 -1
  72. assets/js/base/components/cart-checkout/product-sale-badge/style.scss +1 -1
  73. assets/js/base/components/cart-checkout/shipping-calculator/style.scss +1 -2
  74. assets/js/base/components/cart-checkout/shipping-rates-control/package.js +11 -7
  75. assets/js/base/components/cart-checkout/shipping-rates-control/style.scss +7 -18
  76. assets/js/base/components/cart-checkout/totals/totals-coupon-code-input/index.js +7 -6
  77. assets/js/base/components/cart-checkout/totals/totals-coupon-code-input/style.scss +2 -1
  78. assets/js/base/components/cart-checkout/totals/totals-footer-item/style.scss +1 -1
  79. assets/js/base/components/cart-checkout/totals/totals-item/style.scss +2 -2
  80. assets/js/base/components/cart-checkout/totals/totals-shipping-item/index.js +43 -45
  81. assets/js/base/components/chip/style.scss +1 -1
  82. assets/js/base/components/dropdown-selector/style.scss +4 -4
  83. assets/js/base/components/pagination/style.scss +1 -1
  84. assets/js/base/components/panel/index.js +58 -0
  85. assets/js/base/components/panel/style.scss +37 -0
  86. assets/js/base/components/payment-methods/express-checkout.js +9 -7
  87. assets/js/base/components/payment-methods/express-payment-methods.js +1 -1
  88. assets/js/base/components/payment-methods/saved-payment-method-options.js +2 -0
  89. assets/js/base/components/payment-methods/style.scss +51 -15
  90. assets/js/base/components/product-list-item/index.js +4 -7
  91. assets/js/base/components/product-list-item/utils.js +2 -2
  92. assets/js/base/components/product-list/index.js +4 -4
  93. assets/js/base/components/product-list/no-matching-products.js +6 -10
  94. assets/js/base/components/product-list/no-products.js +6 -10
  95. assets/js/base/components/product-list/style.scss +3 -323
  96. assets/js/base/components/quantity-selector/style.scss +2 -2
  97. assets/js/base/components/radio-control/_mixin.scss +1 -1
  98. assets/js/base/components/reviews/review-list-item/style.scss +2 -2
  99. assets/js/base/components/select/style.scss +21 -21
  100. assets/js/base/components/sidebar-layout/style.scss +24 -51
  101. assets/js/base/components/tabs/style.scss +2 -1
  102. assets/js/base/components/text-input/style.scss +9 -8
  103. assets/js/base/components/title/index.js +36 -0
  104. assets/js/base/components/title/style.scss +13 -0
  105. assets/js/base/components/validation/style.scss +1 -1
  106. assets/js/base/context/cart-checkout/payment-methods/constants.js +1 -0
  107. assets/js/base/context/cart-checkout/payment-methods/payment-method-data-context.js +17 -0
  108. assets/js/base/context/cart-checkout/payment-methods/reducer.js +9 -0
  109. assets/js/base/context/index.js +0 -2
  110. assets/js/base/context/inner-block-configuration-context.js +0 -42
  111. assets/js/base/context/product-layout-context.js +0 -42
  112. assets/js/base/hocs/with-filtered-attributes.js +24 -0
  113. assets/js/base/hooks/index.js +0 -1
  114. assets/js/base/hooks/order/index.js +0 -1
  115. assets/js/base/hooks/order/use-store-order.js +0 -10
  116. assets/js/base/hooks/payment-methods/use-payment-method-interface.js +2 -9
  117. assets/js/base/hooks/test/use-query-state.js +1 -1
  118. assets/js/base/utils/get-valid-block-attributes.js +36 -0
  119. assets/js/base/utils/index.js +2 -0
  120. assets/js/base/utils/render-frontend.js +45 -0
  121. assets/js/blocks-registry/payment-methods/assertions.js +0 -1
  122. assets/js/blocks/active-filters/frontend.js +6 -6
  123. assets/js/blocks/active-filters/style.scss +2 -2
  124. assets/js/blocks/attribute-filter/edit.js +2 -2
  125. assets/js/blocks/attribute-filter/editor.scss +1 -6
  126. assets/js/blocks/attribute-filter/frontend.js +6 -6
  127. assets/js/blocks/cart-checkout/cart/frontend.js +10 -10
  128. assets/js/blocks/cart-checkout/cart/full-cart/cart-line-items-title.js +13 -19
  129. assets/js/blocks/cart-checkout/cart/full-cart/index.js +49 -58
  130. assets/js/blocks/cart-checkout/cart/full-cart/style.scss +14 -17
  131. assets/js/blocks/cart-checkout/cart/index.js +2 -3
  132. assets/js/blocks/cart-checkout/checkout/editor.scss +1 -1
  133. assets/js/blocks/cart-checkout/checkout/frontend.js +12 -10
  134. assets/js/blocks/cart-checkout/checkout/index.js +2 -2
  135. assets/js/blocks/cart-checkout/checkout/sidebar/index.js +1 -5
  136. assets/js/blocks/cart-checkout/checkout/sidebar/order-summary.js +0 -65
  137. assets/js/blocks/cart-checkout/checkout/style.scss +23 -146
  138. assets/js/blocks/featured-category/block.js +1 -1
  139. assets/js/blocks/featured-category/editor.scss +0 -5
  140. assets/js/blocks/featured-product/block.js +1 -1
  141. assets/js/blocks/featured-product/editor.scss +0 -5
  142. assets/js/blocks/handpicked-products/block.js +1 -1
  143. assets/js/blocks/price-filter/edit.js +1 -1
  144. assets/js/blocks/price-filter/editor.scss +1 -6
  145. assets/js/blocks/price-filter/frontend.js +6 -6
  146. assets/js/blocks/product-categories/style.scss +2 -2
  147. assets/js/blocks/product-category/block.js +1 -1
  148. assets/js/blocks/product-category/editor.scss +1 -3
  149. assets/js/blocks/product-search/style.scss +2 -2
  150. assets/js/blocks/product-tag/block.js +1 -1
  151. assets/js/blocks/product-tag/editor.scss +1 -3
  152. assets/js/blocks/products-by-attribute/block.js +1 -1
  153. assets/js/blocks/products/all-products/block.js +10 -18
  154. assets/js/blocks/products/all-products/edit.js +31 -33
  155. assets/js/blocks/products/all-products/frontend.js +6 -6
  156. assets/js/blocks/products/all-products/index.js +1 -1
  157. assets/js/blocks/products/base-utils.js +0 -30
  158. assets/js/blocks/products/editor.scss +1 -6
  159. assets/js/blocks/products/utils.js +1 -1
  160. assets/js/blocks/reviews/frontend.js +6 -2
  161. assets/js/blocks/reviews/reviews-by-category/edit.js +1 -1
  162. assets/js/blocks/reviews/reviews-by-product/edit.js +1 -1
  163. assets/js/blocks/single-product/attributes.js +18 -0
  164. assets/js/blocks/single-product/block.js +34 -0
  165. assets/js/blocks/single-product/constants.js +50 -0
  166. assets/js/blocks/single-product/edit/api-error.js +18 -0
  167. assets/js/blocks/single-product/edit/editor-block-controls.js +28 -0
  168. assets/js/blocks/single-product/edit/editor.scss +18 -0
  169. assets/js/blocks/single-product/edit/index.js +116 -0
  170. assets/js/blocks/single-product/edit/layout-editor.js +82 -0
  171. assets/js/blocks/single-product/edit/shared-product-control.js +22 -0
  172. assets/js/blocks/single-product/frontend.js +39 -0
  173. assets/js/blocks/single-product/index.js +43 -0
  174. assets/js/blocks/single-product/save.js +15 -0
  175. assets/js/components/block-title/editor.scss +1 -1
  176. assets/js/components/block-title/index.js +1 -1
  177. assets/js/components/edit-product-link/index.js +40 -0
  178. assets/js/components/product-attribute-term-control/style.scss +5 -0
  179. assets/js/components/product-category-control/style.scss +5 -0
  180. assets/js/components/product-tag-control/style.scss +5 -0
  181. assets/js/icons/index.js +7 -0
  182. assets/js/icons/library/arrow-down-alt2.js +27 -0
  183. assets/js/icons/library/barcode.js +15 -0
  184. assets/js/icons/library/chevron-down.js +12 -0
  185. assets/js/icons/library/chevron-up.js +12 -0
  186. assets/js/icons/library/no-alt.js +26 -0
  187. assets/js/icons/library/reader.js +13 -0
  188. assets/js/icons/library/restore.js +13 -0
  189. assets/js/module_replacements/dashicon.js +23 -0
  190. assets/js/payment-method-extensions/payment-methods/stripe/stripe-utils/normalize.js +0 -2
  191. assets/js/payment-method-extensions/payment-methods/stripe/stripe-utils/utils.js +0 -5
  192. assets/js/previews/cart-block.js +1 -1
  193. assets/js/previews/categories.js +2 -4
  194. assets/js/previews/checkout-block.js +1 -1
  195. assets/js/previews/index.js +1 -0
  196. assets/js/previews/reviews.js +5 -7
  197. assets/js/previews/single-product-block.js +16 -0
  198. assets/js/settings/blocks/constants.js +4 -0
  199. assets/js/settings/blocks/feature-flags.js +57 -0
  200. assets/js/settings/blocks/index.js +1 -0
  201. assets/js/shared/context/index.js +2 -0
  202. assets/js/shared/context/inner-block-layout-context.js +53 -0
  203. assets/js/shared/context/product-data-context.js +33 -0
  204. assets/js/type-defs/registered-payment-method-props.js +0 -4
  205. assets/js/utils/render-frontend.js +0 -79
  206. build/active-filters-frontend.asset.php +1 -1
  207. build/active-filters-frontend.js +2 -2
  208. build/active-filters.asset.php +1 -1
  209. build/active-filters.js +1 -1
  210. build/all-products-frontend.asset.php +1 -1
  211. build/all-products-frontend.js +2 -2
  212. build/all-products.asset.php +1 -1
  213. build/all-products.js +1 -1
  214. build/all-reviews-legacy.asset.php +1 -1
  215. build/all-reviews-legacy.js +1 -1
assets/css/abstracts/_colors.scss CHANGED
@@ -44,12 +44,11 @@ $error-red: #d94f4f;
44
  $box-shadow-blue: #5b9dd9;
45
  $core-orange: #ca4a1f;
46
 
47
- // @todo: replace those colors with the correct values once we settle on a design system palette.
48
  $gray-10: #c3c4c7;
49
  $gray-20: #a7aaad;
50
  $gray-50: #646970;
51
  $gray-60: #50575e;
52
  $gray-80: #2c3338;
53
- // @todo: align those colors with what we have
54
  $input-border-gray: #8d96a0;
55
  $input-text-active: #2b2d2f;
44
  $box-shadow-blue: #5b9dd9;
45
  $core-orange: #ca4a1f;
46
 
 
47
  $gray-10: #c3c4c7;
48
  $gray-20: #a7aaad;
49
  $gray-50: #646970;
50
  $gray-60: #50575e;
51
  $gray-80: #2c3338;
52
+
53
  $input-border-gray: #8d96a0;
54
  $input-text-active: #2b2d2f;
assets/css/abstracts/_mixins.scss CHANGED
@@ -1,10 +1,14 @@
1
- // Converts a font-size in px to rem and optionally sets a relative line-height.
2
- @mixin font-size($sizeValue: 16px, $lineHeight: false) {
3
- font-size: ($sizeValue / 16px) * 1rem;
4
-
5
- @if ($lineHeight) {
6
- line-height: $lineHeight / $sizeValue;
7
- }
 
 
 
 
8
  }
9
 
10
  @keyframes loading-fade {
@@ -69,6 +73,7 @@
69
  color: inherit;
70
  font-family: inherit;
71
  font-size: inherit;
 
72
  font-weight: inherit;
73
  letter-spacing: inherit;
74
  line-height: inherit;
@@ -117,7 +122,7 @@
117
  -ms-word-break: break-all;
118
  }
119
 
120
- // Converts a px unit to rem.
121
- @function rem($size, $base: 16px) {
122
- @return $size / $base * 1rem;
123
  }
1
+ $fontSizes: (
2
+ "smaller": 0.75,
3
+ "small": 0.875,
4
+ "regular": 1,
5
+ "large": 1.25,
6
+ "larger": 2,
7
+ );
8
+
9
+ // Maps a named font-size to its em equivalent.
10
+ @mixin font-size($sizeName) {
11
+ font-size: map-get($fontSizes, $sizeName) * 1em;
12
  }
13
 
14
  @keyframes loading-fade {
73
  color: inherit;
74
  font-family: inherit;
75
  font-size: inherit;
76
+ font-style: inherit;
77
  font-weight: inherit;
78
  letter-spacing: inherit;
79
  line-height: inherit;
122
  -ms-word-break: break-all;
123
  }
124
 
125
+ // Converts a px unit to em.
126
+ @function em($size, $base: 16px) {
127
+ @return $size / $base * 1em;
128
  }
assets/css/editor.scss CHANGED
@@ -46,3 +46,17 @@
46
  margin: -$gap 0 $gap-small;
47
  }
48
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  margin: -$gap 0 $gap-small;
47
  }
48
  }
49
+
50
+ // Adds border to placeholder lists, so they can be distinguished from the white background.
51
+ .components-placeholder .woocommerce-search-list__list {
52
+ border: 1px solid $core-grey-light-500;
53
+ }
54
+
55
+ // Work-around to make the SearchList component work fine with the last versions of @wordpress/components.
56
+ // Ideally it should be possible to remove this once this issue is fixed in WC Admin:
57
+ // https://github.com/woocommerce/woocommerce-admin/issues/4349
58
+ .components-placeholder .woocommerce-search-list__list .woocommerce-search-list__item {
59
+ border-radius: 0;
60
+ height: auto;
61
+ text-align: left;
62
+ }
assets/css/style.scss CHANGED
@@ -1,3 +1,282 @@
1
  .wc-block-link-button {
2
  @include link-button();
3
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  .wc-block-link-button {
2
  @include link-button();
3
  }
4
+
5
+ // These styles are for the server side rendered product grid blocks.
6
+ .wc-block-grid__products .wc-block-grid__product-image {
7
+ text-decoration: none;
8
+ display: block;
9
+ position: relative;
10
+
11
+ a {
12
+ text-decoration: none;
13
+ border: 0;
14
+ outline: 0;
15
+ box-shadow: none;
16
+ }
17
+
18
+ img {
19
+ width: 100%;
20
+
21
+ &[hidden] {
22
+ display: none;
23
+ }
24
+ }
25
+ }
26
+ .edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,
27
+ .editor-styles-wrapper .wc-block-grid__product-title,
28
+ .wc-block-grid__product-title {
29
+ font-family: inherit;
30
+ line-height: 1.2em;
31
+ font-weight: 700;
32
+ padding: 0;
33
+ color: inherit;
34
+ font-size: inherit;
35
+ display: block;
36
+ }
37
+ .wc-block-grid__product-price {
38
+ display: block;
39
+
40
+ .wc-block-grid__product-price__regular {
41
+ margin-right: 0.5em;
42
+ }
43
+ }
44
+ .wc-block-grid__product-add-to-cart {
45
+ word-break: break-word;
46
+ white-space: normal;
47
+ a,
48
+ button {
49
+ word-break: break-word;
50
+ white-space: normal;
51
+ margin: 0 auto !important;
52
+ display: inline-flex;
53
+ justify-content: center;
54
+
55
+ &.loading {
56
+ opacity: 0.25;
57
+ }
58
+
59
+ &::after {
60
+ margin-left: 0.5em;
61
+ display: inline-block;
62
+ }
63
+
64
+ &.added::after {
65
+ font-family: WooCommerce; /* stylelint-disable-line */
66
+ content: "\e017";
67
+ }
68
+
69
+ &.loading::after {
70
+ font-family: WooCommerce; /* stylelint-disable-line */
71
+ content: "\e031";
72
+ animation: spin 2s linear infinite;
73
+ }
74
+ }
75
+ }
76
+ .wc-block-grid__product-rating {
77
+ display: block;
78
+
79
+ .wc-block-grid__product-rating__stars,
80
+ .star-rating {
81
+ overflow: hidden;
82
+ position: relative;
83
+ width: 5.3em;
84
+ height: 1.618em;
85
+ line-height: 1.618;
86
+ font-size: 1em;
87
+ /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
88
+ font-family: star;
89
+ font-weight: 400;
90
+ margin: 0 auto;
91
+ text-align: left;
92
+
93
+ &::before {
94
+ content: "\53\53\53\53\53";
95
+ top: 0;
96
+ left: 0;
97
+ right: 0;
98
+ position: absolute;
99
+ opacity: 0.5;
100
+ color: #aaa;
101
+ white-space: nowrap;
102
+ }
103
+ span {
104
+ overflow: hidden;
105
+ top: 0;
106
+ left: 0;
107
+ right: 0;
108
+ position: absolute;
109
+ padding-top: 1.5em;
110
+ }
111
+ span::before {
112
+ content: "\53\53\53\53\53";
113
+ top: 0;
114
+ left: 0;
115
+ right: 0;
116
+ position: absolute;
117
+ color: #000;
118
+ white-space: nowrap;
119
+ }
120
+ }
121
+ }
122
+ .wc-block-grid__product-onsale {
123
+ @include font-size(small);
124
+ padding: em($gap-smallest) em($gap-small);
125
+ display: inline-block;
126
+ width: auto;
127
+ border: 1px solid #43454b;
128
+ border-radius: 3px;
129
+ color: #43454b;
130
+ background: #fff;
131
+ text-align: center;
132
+ text-transform: uppercase;
133
+ font-weight: 600;
134
+ z-index: 9;
135
+ position: relative;
136
+ }
137
+
138
+ // Element spacing.
139
+ .wc-block-grid__product {
140
+ .wc-block-grid__product-image,
141
+ .wc-block-grid__product-title {
142
+ margin: 0 0 $gap-small;
143
+ }
144
+ // If centered when toggling alignment on, use auto margins to prevent flexbox stretching it.
145
+ .wc-block-grid__product-price,
146
+ .wc-block-grid__product-rating,
147
+ .wc-block-grid__product-add-to-cart,
148
+ .wc-block-grid__product-onsale {
149
+ margin: 0 auto $gap-small;
150
+ }
151
+ }
152
+
153
+ .theme-twentysixteen {
154
+ .wc-block-grid {
155
+ // Prevent white theme styles.
156
+ .price ins {
157
+ color: #77a464;
158
+ }
159
+ }
160
+ }
161
+
162
+ .theme-twentynineteen {
163
+ .wc-block-grid__product {
164
+ font-size: 0.88889em;
165
+ }
166
+ // Change the title font to match headings.
167
+ .wc-block-grid__product-title,
168
+ .wc-block-grid__product-onsale,
169
+ .wc-block-components-product-title,
170
+ .wc-block-components-product-sale-badge {
171
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
172
+ }
173
+ .wc-block-grid__product-title::before {
174
+ display: none;
175
+ }
176
+ .wc-block-grid__product-onsale,
177
+ .wc-block-components-product-sale-badge {
178
+ line-height: 1;
179
+ }
180
+ }
181
+
182
+ .theme-twentytwenty {
183
+ $twentytwenty-headings: -apple-system, blinkmacsystemfont, "Helvetica Neue", helvetica, sans-serif;
184
+ $twentytwenty-highlights-color: #cd2653;
185
+
186
+ .wc-block-grid__product-link {
187
+ color: #000;
188
+ }
189
+
190
+ .wc-block-grid__product-title,
191
+ .wc-block-components-product-title {
192
+ font-family: $twentytwenty-headings;
193
+ color: #000;
194
+ font-size: 1.2em;
195
+ }
196
+
197
+ .wp-block-columns .wc-block-components-product-title {
198
+ margin-top: 0;
199
+ }
200
+
201
+ .wc-block-grid__product-price,
202
+ .wc-block-components-product-price {
203
+ &__value,
204
+ .woocommerce-Price-amount {
205
+ font-family: $twentytwenty-headings;
206
+ font-size: 0.9em;
207
+ }
208
+
209
+ del {
210
+ opacity: 0.5;
211
+ }
212
+
213
+ ins {
214
+ text-decoration: none;
215
+ }
216
+ }
217
+
218
+ .wc-block-grid__product-rating,
219
+ .star-rating {
220
+ font-size: 0.7em;
221
+
222
+ .wc-block-grid__product-rating__stars,
223
+ .wc-block-components-product-rating__stars {
224
+ line-height: 1;
225
+ }
226
+ }
227
+
228
+ .wc-block-grid__product-add-to-cart > .wp-block-button__link,
229
+ .wc-block-components-product-button > .wp-block-button__link {
230
+ font-family: $twentytwenty-headings;
231
+ }
232
+
233
+ .wc-block-grid__products .wc-block-grid__product-onsale,
234
+ .wc-block-layout .wc-block-components-product-sale-badge {
235
+ background: $twentytwenty-highlights-color;
236
+ color: #fff;
237
+ font-family: $twentytwenty-headings;
238
+ font-weight: 700;
239
+ letter-spacing: -0.02em;
240
+ line-height: 1.2;
241
+ text-transform: uppercase;
242
+ }
243
+
244
+ // These styles are not applied to the All Products atomic block, so it can be positioned normally.
245
+ .wc-block-grid__products .wc-block-grid__product-onsale {
246
+ position: absolute;
247
+ right: 4px;
248
+ top: 4px;
249
+ z-index: 1;
250
+ }
251
+
252
+ // Override style from WC Core that set its position to absolute.
253
+ // These rulesets can be removed once https://github.com/woocommerce/woocommerce/pull/26516 is released.
254
+ .wc-block-grid__products .wc-block-components-product-sale-badge {
255
+ position: static;
256
+ }
257
+ .wc-block-grid__products .wc-block-grid__product-image .wc-block-components-product-sale-badge {
258
+ position: absolute;
259
+ }
260
+
261
+ // These styles are not applied to the All Products atomic block, so it can be positioned normally.
262
+ .wc-block-grid__products .wc-block-grid__product-onsale:not(.wc-block-components-product-sale-badge) {
263
+ position: absolute;
264
+ right: 4px;
265
+ top: 4px;
266
+ z-index: 1;
267
+ }
268
+
269
+ @media only screen and (min-width: 768px) {
270
+ .wc-block-grid__products .wc-block-grid__product-onsale {
271
+ @include font-size(small);
272
+ padding: em($gap-smaller);
273
+ }
274
+ }
275
+
276
+ @media only screen and (min-width: 1168px) {
277
+ .wc-block-grid__products .wc-block-grid__product-onsale {
278
+ @include font-size(small);
279
+ padding: em($gap-smaller);
280
+ }
281
+ }
282
+ }
assets/img/avatar.jpg ADDED
Binary file
assets/img/collection.jpg ADDED
Binary file
assets/img/single-product-preview.svg ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 230 100">
2
+ <g fill="#E1E3E6" fill-rule="nonzero">
3
+ <path d="M76 0h11v6H76zM76 11h88v11H76zM76 27h28v6H76zM76 44h154v28H76zM76 83h22v17H76zM104 83h44v17h-44zM0 0h66v66H0z"/>
4
+ </g>
5
+ </svg>
assets/js/atomic/blocks/index.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import './product/title';
5
+ import './product/price';
6
+ import './product/image';
7
+ import './product/rating';
8
+ import './product/button';
9
+ import './product/summary';
10
+ import './product/sale-badge';
11
+ import './product/sku';
assets/js/atomic/blocks/product/button/block.js ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import classnames from 'classnames';
6
+ import { __, _n, sprintf } from '@wordpress/i18n';
7
+ import { useEffect, useRef } from '@wordpress/element';
8
+ import { useStoreAddToCart } from '@woocommerce/base-hooks';
9
+ import { decodeEntities } from '@wordpress/html-entities';
10
+ import { triggerFragmentRefresh } from '@woocommerce/base-utils';
11
+ import {
12
+ useInnerBlockLayoutContext,
13
+ useProductDataContext,
14
+ } from '@woocommerce/shared-context';
15
+
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+ import './style.scss';
20
+
21
+ /**
22
+ * Product Button Block Component.
23
+ *
24
+ * @param {Object} props Incoming props.
25
+ * @param {string} [props.className] CSS Class name for the component.
26
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
27
+ * this is not provided.
28
+ * @return {*} The component.
29
+ */
30
+ const Block = ( { className, ...props } ) => {
31
+ const { parentClassName } = useInnerBlockLayoutContext();
32
+ const productDataContext = useProductDataContext();
33
+ const product = props.product || productDataContext.product;
34
+
35
+ return (
36
+ <div
37
+ className={ classnames(
38
+ className,
39
+ 'wp-block-button',
40
+ 'wc-block-components-product-button',
41
+ `${ parentClassName }__product-add-to-cart`
42
+ ) }
43
+ >
44
+ { product ? (
45
+ <AddToCartButton product={ product } />
46
+ ) : (
47
+ <AddToCartButtonPlaceholder />
48
+ ) }
49
+ </div>
50
+ );
51
+ };
52
+
53
+ const AddToCartButton = ( { product } ) => {
54
+ const firstMount = useRef( true );
55
+
56
+ const {
57
+ id,
58
+ permalink,
59
+ add_to_cart: productCartDetails,
60
+ has_options: hasOptions,
61
+ is_purchasable: isPurchasable,
62
+ is_in_stock: isInStock,
63
+ } = product;
64
+
65
+ const { cartQuantity, addingToCart, addToCart } = useStoreAddToCart( id );
66
+
67
+ useEffect( () => {
68
+ // Avoid running on first mount when cart quantity is first set.
69
+ if ( firstMount.current ) {
70
+ firstMount.current = false;
71
+ return;
72
+ }
73
+ triggerFragmentRefresh();
74
+ }, [ cartQuantity ] );
75
+
76
+ const addedToCart = Number.isFinite( cartQuantity ) && cartQuantity > 0;
77
+ const allowAddToCart = ! hasOptions && isPurchasable && isInStock;
78
+ const buttonAriaLabel = decodeEntities(
79
+ productCartDetails?.description || ''
80
+ );
81
+ const buttonText = addedToCart
82
+ ? sprintf(
83
+ // translators: %s number of products in cart.
84
+ _n(
85
+ '%d in cart',
86
+ '%d in cart',
87
+ cartQuantity,
88
+ 'woo-gutenberg-products-block'
89
+ ),
90
+ cartQuantity
91
+ )
92
+ : decodeEntities(
93
+ productCartDetails?.text ||
94
+ __( 'Add to cart', 'woo-gutenberg-products-block' )
95
+ );
96
+
97
+ const ButtonTag = allowAddToCart ? 'button' : 'a';
98
+ const buttonProps = {};
99
+
100
+ if ( ! allowAddToCart ) {
101
+ buttonProps.href = permalink;
102
+ buttonProps.rel = 'nofollow';
103
+ } else {
104
+ buttonProps.onClick = addToCart;
105
+ }
106
+
107
+ return (
108
+ <ButtonTag
109
+ aria-label={ buttonAriaLabel }
110
+ className={ classnames(
111
+ 'wp-block-button__link',
112
+ 'add_to_cart_button',
113
+ 'wc-block-components-product-button__button',
114
+ {
115
+ loading: addingToCart,
116
+ added: addedToCart,
117
+ }
118
+ ) }
119
+ disabled={ addingToCart }
120
+ { ...buttonProps }
121
+ >
122
+ { buttonText }
123
+ </ButtonTag>
124
+ );
125
+ };
126
+
127
+ const AddToCartButtonPlaceholder = () => {
128
+ return (
129
+ <button
130
+ className={ classnames(
131
+ 'wp-block-button__link',
132
+ 'add_to_cart_button',
133
+ 'wc-block-components-product-button__button',
134
+ 'wc-block-components-product-button__button--placeholder'
135
+ ) }
136
+ disabled={ true }
137
+ />
138
+ );
139
+ };
140
+
141
+ Block.propTypes = {
142
+ className: PropTypes.string,
143
+ product: PropTypes.object,
144
+ };
145
+
146
+ export default Block;
assets/js/atomic/blocks/product/button/edit.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { Disabled } from '@wordpress/components';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import Block from './block';
10
+
11
+ export default ( { attributes } ) => {
12
+ return (
13
+ <Disabled>
14
+ <Block { ...attributes } />
15
+ </Disabled>
16
+ );
17
+ };
assets/js/atomic/blocks/product/button/index.js CHANGED
@@ -3,14 +3,13 @@
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
- import { Disabled } from '@wordpress/components';
7
  import { Icon, cart } from '@woocommerce/icons';
8
- import { ProductButton } from '@woocommerce/atomic-components/product';
9
 
10
  /**
11
  * Internal dependencies
12
  */
13
  import sharedConfig from '../shared-config';
 
14
 
15
  const blockConfig = {
16
  title: __( 'Add to Cart Button', 'woo-gutenberg-products-block' ),
@@ -22,15 +21,7 @@ const blockConfig = {
22
  src: <Icon srcElement={ cart } />,
23
  foreground: '#96588a',
24
  },
25
- edit( props ) {
26
- const { attributes } = props;
27
-
28
- return (
29
- <Disabled>
30
- <ProductButton product={ attributes.product } />
31
- </Disabled>
32
- );
33
- },
34
  };
35
 
36
  registerBlockType( 'woocommerce/product-button', {
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
 
6
  import { Icon, cart } from '@woocommerce/icons';
 
7
 
8
  /**
9
  * Internal dependencies
10
  */
11
  import sharedConfig from '../shared-config';
12
+ import edit from './edit';
13
 
14
  const blockConfig = {
15
  title: __( 'Add to Cart Button', 'woo-gutenberg-products-block' ),
21
  src: <Icon srcElement={ cart } />,
22
  foreground: '#96588a',
23
  },
24
+ edit,
 
 
 
 
 
 
 
 
25
  };
26
 
27
  registerBlockType( 'woocommerce/product-button', {
assets/js/atomic/blocks/product/button/style.scss ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-layout .wc-block-components-product-button {
2
+ word-break: break-word;
3
+ white-space: normal;
4
+ margin-top: 0;
5
+ margin-bottom: $gap-small;
6
+
7
+ .wc-block-components-product-button__button {
8
+ word-break: break-word;
9
+ white-space: normal;
10
+ margin: 0 auto;
11
+ display: inline-flex;
12
+ justify-content: center;
13
+ }
14
+
15
+ .wc-block-components-product-button__button--placeholder {
16
+ @include placeholder();
17
+ min-width: 8em;
18
+ min-height: 3em;
19
+ }
20
+ }
21
+
22
+ .wc-block-layout--is-loading .wc-block-components-product-button > .wc-block-components-product-button__button {
23
+ @include placeholder();
24
+ min-width: 8em;
25
+ min-height: 3em;
26
+ }
assets/js/atomic/blocks/product/image/attributes.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export const blockAttributes = {
2
+ productLink: {
3
+ type: 'boolean',
4
+ default: true,
5
+ },
6
+ showSaleBadge: {
7
+ type: 'boolean',
8
+ default: true,
9
+ },
10
+ saleBadgeAlign: {
11
+ type: 'string',
12
+ default: 'right',
13
+ },
14
+ };
15
+
16
+ export default blockAttributes;
assets/js/atomic/blocks/product/image/block.js ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import { useState } from '@wordpress/element';
6
+ import classnames from 'classnames';
7
+ import { PLACEHOLDER_IMG_SRC } from '@woocommerce/block-settings';
8
+ import {
9
+ useInnerBlockLayoutContext,
10
+ useProductDataContext,
11
+ } from '@woocommerce/shared-context';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import ProductSaleBadge from './../sale-badge/block';
17
+ import './style.scss';
18
+
19
+ /**
20
+ * Product Image Block Component.
21
+ *
22
+ * @param {Object} props Incoming props.
23
+ * @param {string} [props.className] CSS Class name for the component.
24
+ * @param {boolean} [props.productLink] Whether or not to display a link to the product page.
25
+ * @param {boolean} [props.showSaleBadge] Whether or not to display the on sale badge.
26
+ * @param {string} [props.saleBadgeAlign] How should the sale badge be aligned if displayed.
27
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
28
+ * this is not provided.
29
+ * @return {*} The component.
30
+ */
31
+ const Block = ( {
32
+ className,
33
+ productLink = true,
34
+ showSaleBadge,
35
+ saleBadgeAlign = 'right',
36
+ ...props
37
+ } ) => {
38
+ const { parentClassName } = useInnerBlockLayoutContext();
39
+ const productDataContext = useProductDataContext();
40
+ const product = props.product || productDataContext.product;
41
+ const [ imageLoaded, setImageLoaded ] = useState( false );
42
+
43
+ if ( ! product ) {
44
+ return (
45
+ <div
46
+ className={ classnames(
47
+ className,
48
+ 'wc-block-components-product-image',
49
+ 'wc-block-components-product-image--placeholder',
50
+ `${ parentClassName }__product-image`
51
+ ) }
52
+ >
53
+ <ImagePlaceholder />
54
+ </div>
55
+ );
56
+ }
57
+
58
+ const image =
59
+ product?.images && product.images.length ? product.images[ 0 ] : null;
60
+
61
+ return (
62
+ <div
63
+ className={ classnames(
64
+ className,
65
+ 'wc-block-components-product-image',
66
+ `${ parentClassName }__product-image`
67
+ ) }
68
+ >
69
+ { productLink ? (
70
+ <a href={ product.permalink } rel="nofollow">
71
+ { !! showSaleBadge && (
72
+ <ProductSaleBadge
73
+ align={ saleBadgeAlign }
74
+ product={ product }
75
+ />
76
+ ) }
77
+ <Image
78
+ image={ image }
79
+ onLoad={ () => setImageLoaded( true ) }
80
+ loaded={ imageLoaded }
81
+ />
82
+ </a>
83
+ ) : (
84
+ <>
85
+ { !! showSaleBadge && (
86
+ <ProductSaleBadge
87
+ align={ saleBadgeAlign }
88
+ product={ product }
89
+ />
90
+ ) }
91
+ <Image
92
+ image={ image }
93
+ onLoad={ () => setImageLoaded( true ) }
94
+ loaded={ imageLoaded }
95
+ />
96
+ </>
97
+ ) }
98
+ </div>
99
+ );
100
+ };
101
+
102
+ const ImagePlaceholder = () => {
103
+ return <img src={ PLACEHOLDER_IMG_SRC } alt="" />;
104
+ };
105
+
106
+ const Image = ( { image, onLoad, loaded } ) => {
107
+ const { thumbnail, srcset, sizes, alt } = image || {};
108
+
109
+ return (
110
+ <>
111
+ <img
112
+ src={ thumbnail }
113
+ srcSet={ srcset }
114
+ sizes={ sizes }
115
+ alt={ alt }
116
+ onLoad={ onLoad }
117
+ hidden={ ! loaded }
118
+ />
119
+ { ! loaded && <ImagePlaceholder /> }
120
+ </>
121
+ );
122
+ };
123
+
124
+ Block.propTypes = {
125
+ className: PropTypes.string,
126
+ product: PropTypes.object,
127
+ productLink: PropTypes.bool,
128
+ showSaleBadge: PropTypes.bool,
129
+ saleBadgeAlign: PropTypes.string,
130
+ };
131
+
132
+ export default Block;
assets/js/atomic/blocks/product/image/edit.js ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { Disabled, PanelBody, ToggleControl } from '@wordpress/components';
6
+ import { InspectorControls } from '@wordpress/block-editor';
7
+ import ToggleButtonControl from '@woocommerce/block-components/toggle-button-control';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import Block from './block';
13
+
14
+ export default ( { attributes, setAttributes } ) => {
15
+ const { productLink, showSaleBadge, saleBadgeAlign } = attributes;
16
+
17
+ return (
18
+ <>
19
+ <InspectorControls>
20
+ <PanelBody
21
+ title={ __( 'Content', 'woo-gutenberg-products-block' ) }
22
+ >
23
+ <ToggleControl
24
+ label={ __(
25
+ 'Link to Product Page',
26
+ 'woo-gutenberg-products-block'
27
+ ) }
28
+ help={ __(
29
+ 'Links the image to the single product listing.',
30
+ 'woo-gutenberg-products-block'
31
+ ) }
32
+ checked={ productLink }
33
+ onChange={ () =>
34
+ setAttributes( {
35
+ productLink: ! productLink,
36
+ } )
37
+ }
38
+ />
39
+ <ToggleControl
40
+ label={ __(
41
+ 'Show On-Sale Badge',
42
+ 'woo-gutenberg-products-block'
43
+ ) }
44
+ help={ __(
45
+ 'Overlay a "sale" badge if the product is on-sale.',
46
+ 'woo-gutenberg-products-block'
47
+ ) }
48
+ checked={ showSaleBadge }
49
+ onChange={ () =>
50
+ setAttributes( {
51
+ showSaleBadge: ! showSaleBadge,
52
+ } )
53
+ }
54
+ />
55
+ { showSaleBadge && (
56
+ <ToggleButtonControl
57
+ label={ __(
58
+ 'Sale Badge Alignment',
59
+ 'woo-gutenberg-products-block'
60
+ ) }
61
+ value={ saleBadgeAlign }
62
+ options={ [
63
+ {
64
+ label: __(
65
+ 'Left',
66
+ 'woo-gutenberg-products-block'
67
+ ),
68
+ value: 'left',
69
+ },
70
+ {
71
+ label: __(
72
+ 'Center',
73
+ 'woo-gutenberg-products-block'
74
+ ),
75
+ value: 'center',
76
+ },
77
+ {
78
+ label: __(
79
+ 'Right',
80
+ 'woo-gutenberg-products-block'
81
+ ),
82
+ value: 'right',
83
+ },
84
+ ] }
85
+ onChange={ ( value ) =>
86
+ setAttributes( { saleBadgeAlign: value } )
87
+ }
88
+ />
89
+ ) }
90
+ </PanelBody>
91
+ </InspectorControls>
92
+ <Disabled>
93
+ <Block { ...attributes } />
94
+ </Disabled>
95
+ </>
96
+ );
97
+ };
assets/js/atomic/blocks/product/image/frontend.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { compose } from '@wordpress/compose';
5
+ import withFilteredAttributes from '@woocommerce/base-hocs/with-filtered-attributes';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import Block from './block';
11
+ import attributes from './attributes';
12
+
13
+ export default compose( withFilteredAttributes( attributes ) )( Block );
assets/js/atomic/blocks/product/image/index.js CHANGED
@@ -4,17 +4,13 @@
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, image } from '@woocommerce/icons';
7
- import { Fragment } from '@wordpress/element';
8
- import { Disabled, PanelBody, ToggleControl } from '@wordpress/components';
9
- import { InspectorControls } from '@wordpress/block-editor';
10
- import ToggleButtonControl from '@woocommerce/block-components/toggle-button-control';
11
- import { ProductImage } from '@woocommerce/atomic-components/product';
12
- import { previewProducts } from '@woocommerce/resource-previews';
13
 
14
  /**
15
  * Internal dependencies
16
  */
17
  import sharedConfig from '../shared-config';
 
 
18
 
19
  const blockConfig = {
20
  title: __( 'Product Image', 'woo-gutenberg-products-block' ),
@@ -26,117 +22,8 @@ const blockConfig = {
26
  src: <Icon srcElement={ image } />,
27
  foreground: '#96588a',
28
  },
29
- attributes: {
30
- product: {
31
- type: 'object',
32
- default: previewProducts[ 0 ],
33
- },
34
- productLink: {
35
- type: 'boolean',
36
- default: true,
37
- },
38
- showSaleBadge: {
39
- type: 'boolean',
40
- default: true,
41
- },
42
- saleBadgeAlign: {
43
- type: 'string',
44
- default: 'right',
45
- },
46
- },
47
- edit( props ) {
48
- const { attributes, setAttributes } = props;
49
- const { productLink, showSaleBadge, saleBadgeAlign } = attributes;
50
-
51
- return (
52
- <Fragment>
53
- <InspectorControls>
54
- <PanelBody
55
- title={ __(
56
- 'Content',
57
- 'woo-gutenberg-products-block'
58
- ) }
59
- >
60
- <ToggleControl
61
- label={ __(
62
- 'Link to Product Page',
63
- 'woo-gutenberg-products-block'
64
- ) }
65
- help={ __(
66
- 'Links the image to the single product listing.',
67
- 'woo-gutenberg-products-block'
68
- ) }
69
- checked={ productLink }
70
- onChange={ () =>
71
- setAttributes( {
72
- productLink: ! productLink,
73
- } )
74
- }
75
- />
76
- <ToggleControl
77
- label={ __(
78
- 'Show On-Sale Badge',
79
- 'woo-gutenberg-products-block'
80
- ) }
81
- help={ __(
82
- 'Overlay a "sale" badge if the product is on-sale.',
83
- 'woo-gutenberg-products-block'
84
- ) }
85
- checked={ showSaleBadge }
86
- onChange={ () =>
87
- setAttributes( {
88
- showSaleBadge: ! showSaleBadge,
89
- } )
90
- }
91
- />
92
- { showSaleBadge && (
93
- <ToggleButtonControl
94
- label={ __(
95
- 'Sale Badge Alignment',
96
- 'woo-gutenberg-products-block'
97
- ) }
98
- value={ saleBadgeAlign }
99
- options={ [
100
- {
101
- label: __(
102
- 'Left',
103
- 'woo-gutenberg-products-block'
104
- ),
105
- value: 'left',
106
- },
107
- {
108
- label: __(
109
- 'Center',
110
- 'woo-gutenberg-products-block'
111
- ),
112
- value: 'center',
113
- },
114
- {
115
- label: __(
116
- 'Right',
117
- 'woo-gutenberg-products-block'
118
- ),
119
- value: 'right',
120
- },
121
- ] }
122
- onChange={ ( value ) =>
123
- setAttributes( { saleBadgeAlign: value } )
124
- }
125
- />
126
- ) }
127
- </PanelBody>
128
- </InspectorControls>
129
- <Disabled>
130
- <ProductImage
131
- product={ attributes.product }
132
- productLink={ productLink }
133
- showSaleBadge={ showSaleBadge }
134
- saleBadgeAlign={ saleBadgeAlign }
135
- />
136
- </Disabled>
137
- </Fragment>
138
- );
139
- },
140
  };
141
 
142
  registerBlockType( 'woocommerce/product-image', {
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, image } from '@woocommerce/icons';
 
 
 
 
 
 
7
 
8
  /**
9
  * Internal dependencies
10
  */
11
  import sharedConfig from '../shared-config';
12
+ import attributes from './attributes';
13
+ import edit from './edit';
14
 
15
  const blockConfig = {
16
  title: __( 'Product Image', 'woo-gutenberg-products-block' ),
22
  src: <Icon srcElement={ image } />,
23
  foreground: '#96588a',
24
  },
25
+ attributes,
26
+ edit,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  };
28
 
29
  registerBlockType( 'woocommerce/product-image', {
assets/js/atomic/blocks/product/image/style.scss ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .editor-styles-wrapper .wc-block-layout .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image,
2
+ .wc-block-layout .wc-block-components-product-image {
3
+ margin-top: 0;
4
+ margin-bottom: $gap-small;
5
+ text-decoration: none;
6
+ display: block;
7
+ position: relative;
8
+
9
+ a {
10
+ text-decoration: none;
11
+ border: 0;
12
+ outline: 0;
13
+ box-shadow: none;
14
+ }
15
+
16
+ img {
17
+ vertical-align: middle;
18
+ width: 100%;
19
+
20
+ &[hidden] {
21
+ display: none;
22
+ }
23
+ }
24
+
25
+ .wc-block-components-product-sale-badge {
26
+ &--alignleft {
27
+ position: absolute;
28
+ left: $gap-smaller/2;
29
+ top: $gap-smaller/2;
30
+ right: auto;
31
+ margin: 0;
32
+ }
33
+ &--aligncenter {
34
+ position: absolute;
35
+ top: $gap-smaller/2;
36
+ left: 50%;
37
+ right: auto;
38
+ transform: translateX(-50%);
39
+ margin: 0;
40
+ }
41
+ &--alignright {
42
+ position: absolute;
43
+ right: $gap-smaller/2;
44
+ top: $gap-smaller/2;
45
+ left: auto;
46
+ margin: 0;
47
+ }
48
+ }
49
+ }
50
+
51
+ .wc-block-layout--is-loading .wc-block-components-product-image {
52
+ @include placeholder();
53
+ }
assets/js/atomic/blocks/product/index.js DELETED
@@ -1,7 +0,0 @@
1
- export { default as ProductTitle } from './title';
2
- export { default as ProductPrice } from './price';
3
- export { default as ProductImage } from './image';
4
- export { default as ProductRating } from './rating';
5
- export { default as ProductButton } from './button';
6
- export { default as ProductSummary } from './summary';
7
- export { default as ProductSaleBadge } from './sale-badge';
 
 
 
 
 
 
 
assets/js/atomic/blocks/product/price/block.js ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import classnames from 'classnames';
6
+ import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
7
+ import { getCurrencyFromPriceResponse } from '@woocommerce/base-utils';
8
+ import {
9
+ useInnerBlockLayoutContext,
10
+ useProductDataContext,
11
+ } from '@woocommerce/shared-context';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import './style.scss';
17
+
18
+ /**
19
+ * Product Price Block Component.
20
+ *
21
+ * @param {Object} props Incoming props.
22
+ * @param {string} [props.className] CSS Class name for the component.
23
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
24
+ * this is not provided.
25
+ * @return {*} The component.
26
+ */
27
+ const Block = ( { className, ...props } ) => {
28
+ const { parentClassName } = useInnerBlockLayoutContext();
29
+ const productDataContext = useProductDataContext();
30
+ const product = props.product || productDataContext.product;
31
+
32
+ if ( ! product ) {
33
+ return (
34
+ <div
35
+ className={ classnames(
36
+ className,
37
+ 'price',
38
+ 'wc-block-components-product-price',
39
+ `${ parentClassName }__product-price`
40
+ ) }
41
+ />
42
+ );
43
+ }
44
+
45
+ const prices = product.prices || {};
46
+ const currency = getCurrencyFromPriceResponse( prices );
47
+
48
+ return (
49
+ <div
50
+ className={ classnames(
51
+ className,
52
+ 'price',
53
+ 'wc-block-components-product-price',
54
+ `${ parentClassName }__product-price`
55
+ ) }
56
+ >
57
+ { hasPriceRange( prices ) ? (
58
+ <PriceRange
59
+ currency={ currency }
60
+ minAmount={ prices.price_range.min_amount }
61
+ maxAmount={ prices.price_range.max_amount }
62
+ />
63
+ ) : (
64
+ <Price
65
+ currency={ currency }
66
+ price={ prices.price }
67
+ regularPrice={ prices.regular_price }
68
+ />
69
+ ) }
70
+ </div>
71
+ );
72
+ };
73
+
74
+ const hasPriceRange = ( prices ) => {
75
+ return (
76
+ prices.price_range &&
77
+ prices.price_range.min_amount &&
78
+ prices.price_range.max_amount
79
+ );
80
+ };
81
+
82
+ const PriceRange = ( { currency, minAmount, maxAmount } ) => {
83
+ const { parentClassName } = useInnerBlockLayoutContext();
84
+
85
+ return (
86
+ <span
87
+ className={ classnames(
88
+ 'wc-block-components-product-price__value',
89
+ `${ parentClassName }__product-price__value`
90
+ ) }
91
+ >
92
+ <FormattedMonetaryAmount
93
+ currency={ currency }
94
+ value={ minAmount }
95
+ />
96
+ &nbsp;&mdash;&nbsp;
97
+ <FormattedMonetaryAmount
98
+ currency={ currency }
99
+ value={ maxAmount }
100
+ />
101
+ </span>
102
+ );
103
+ };
104
+
105
+ const Price = ( { currency, price, regularPrice } ) => {
106
+ const { parentClassName } = useInnerBlockLayoutContext();
107
+
108
+ return (
109
+ <>
110
+ { regularPrice !== price && (
111
+ <del
112
+ className={ classnames(
113
+ 'wc-block-components-product-price__regular',
114
+ `${ parentClassName }__product-price__regular`
115
+ ) }
116
+ >
117
+ <FormattedMonetaryAmount
118
+ currency={ currency }
119
+ value={ regularPrice }
120
+ />
121
+ </del>
122
+ ) }
123
+ <span
124
+ className={ classnames(
125
+ 'wc-block-components-product-price__value',
126
+ `${ parentClassName }__product-price__value`
127
+ ) }
128
+ >
129
+ <FormattedMonetaryAmount
130
+ currency={ currency }
131
+ value={ price }
132
+ />
133
+ </span>
134
+ </>
135
+ );
136
+ };
137
+
138
+ Block.propTypes = {
139
+ className: PropTypes.string,
140
+ product: PropTypes.object,
141
+ };
142
+
143
+ export default Block;
assets/js/atomic/blocks/product/price/edit.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import Block from './block';
5
+
6
+ export default ( { attributes } ) => {
7
+ return <Block { ...attributes } />;
8
+ };
assets/js/atomic/blocks/product/price/index.js CHANGED
@@ -4,12 +4,12 @@
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, bill } from '@woocommerce/icons';
7
- import { ProductPrice } from '@woocommerce/atomic-components/product';
8
 
9
  /**
10
  * Internal dependencies
11
  */
12
  import sharedConfig from '../shared-config';
 
13
 
14
  const blockConfig = {
15
  title: __( 'Product Price', 'woo-gutenberg-products-block' ),
@@ -21,17 +21,7 @@ const blockConfig = {
21
  src: <Icon srcElement={ bill } />,
22
  foreground: '#96588a',
23
  },
24
-
25
- /**
26
- * Renders the edit view for a block.
27
- *
28
- * @param {Object} props Props to pass to block.
29
- */
30
- edit( props ) {
31
- const { attributes } = props;
32
-
33
- return <ProductPrice product={ attributes.product } />;
34
- },
35
  };
36
 
37
  registerBlockType( 'woocommerce/product-price', {
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, bill } from '@woocommerce/icons';
 
7
 
8
  /**
9
  * Internal dependencies
10
  */
11
  import sharedConfig from '../shared-config';
12
+ import edit from './edit';
13
 
14
  const blockConfig = {
15
  title: __( 'Product Price', 'woo-gutenberg-products-block' ),
21
  src: <Icon srcElement={ bill } />,
22
  foreground: '#96588a',
23
  },
24
+ edit,
 
 
 
 
 
 
 
 
 
 
25
  };
26
 
27
  registerBlockType( 'woocommerce/product-price', {
assets/js/atomic/blocks/product/price/style.scss ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-layout {
2
+ .wc-block-components-product-price {
3
+ margin-top: 0;
4
+ margin-bottom: $gap-small;
5
+ display: block;
6
+
7
+ &__regular {
8
+ margin-right: 0.5em;
9
+ }
10
+ }
11
+ &--is-loading {
12
+ .wc-block-components-product-price::before {
13
+ @include placeholder();
14
+ content: ".";
15
+ display: inline-block;
16
+ width: 5em;
17
+ }
18
+ }
19
+ }
assets/js/atomic/blocks/product/rating/block.js ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import { __, sprintf } from '@wordpress/i18n';
6
+ import classnames from 'classnames';
7
+ import {
8
+ useInnerBlockLayoutContext,
9
+ useProductDataContext,
10
+ } from '@woocommerce/shared-context';
11
+
12
+ /**
13
+ * Internal dependencies
14
+ */
15
+ import './style.scss';
16
+
17
+ /**
18
+ * Product Rating Block Component.
19
+ *
20
+ * @param {Object} props Incoming props.
21
+ * @param {string} [props.className] CSS Class name for the component.
22
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
23
+ * this is not provided.
24
+ * @return {*} The component.
25
+ */
26
+ const Block = ( { className, ...props } ) => {
27
+ const { parentClassName } = useInnerBlockLayoutContext();
28
+ const productDataContext = useProductDataContext();
29
+ const product = props.product || productDataContext.product;
30
+ const rating = getAverageRating( product );
31
+
32
+ if ( ! rating ) {
33
+ return null;
34
+ }
35
+
36
+ const starStyle = {
37
+ width: ( rating / 5 ) * 100 + '%',
38
+ };
39
+
40
+ const ratingText = sprintf(
41
+ __( 'Rated %f out of 5', 'woo-gutenberg-products-block' ),
42
+ rating
43
+ );
44
+
45
+ return (
46
+ <div
47
+ className={ classnames(
48
+ className,
49
+ 'star-rating',
50
+ 'wc-block-components-product-rating',
51
+ `${ parentClassName }__product-rating`
52
+ ) }
53
+ >
54
+ <div
55
+ className={ classnames(
56
+ 'wc-block-components-product-rating__stars',
57
+ `${ parentClassName }__product-rating__stars`
58
+ ) }
59
+ role="img"
60
+ aria-label={ ratingText }
61
+ >
62
+ <span style={ starStyle }>{ ratingText }</span>
63
+ </div>
64
+ </div>
65
+ );
66
+ };
67
+
68
+ const getAverageRating = ( product ) => {
69
+ // eslint-disable-next-line camelcase
70
+ const rating = parseFloat( product?.average_rating || 0 );
71
+
72
+ return Number.isFinite( rating ) && rating > 0 ? rating : 0;
73
+ };
74
+
75
+ Block.propTypes = {
76
+ className: PropTypes.string,
77
+ product: PropTypes.object,
78
+ };
79
+
80
+ export default Block;
assets/js/atomic/blocks/product/rating/edit.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import Block from './block';
5
+
6
+ export default ( { attributes } ) => {
7
+ return <Block { ...attributes } />;
8
+ };
assets/js/atomic/blocks/product/rating/index.js CHANGED
@@ -4,12 +4,12 @@
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, star } from '@woocommerce/icons';
7
- import { ProductRating } from '@woocommerce/atomic-components/product';
8
 
9
  /**
10
  * Internal dependencies
11
  */
12
  import sharedConfig from '../shared-config';
 
13
 
14
  const blockConfig = {
15
  title: __( 'Product Rating', 'woo-gutenberg-products-block' ),
@@ -21,17 +21,7 @@ const blockConfig = {
21
  src: <Icon srcElement={ star } />,
22
  foreground: '#96588a',
23
  },
24
-
25
- /**
26
- * Renders the edit view for a block.
27
- *
28
- * @param {Object} props Props to pass to block.
29
- */
30
- edit( props ) {
31
- const { attributes } = props;
32
-
33
- return <ProductRating product={ attributes.product } />;
34
- },
35
  };
36
 
37
  registerBlockType( 'woocommerce/product-rating', {
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, star } from '@woocommerce/icons';
 
7
 
8
  /**
9
  * Internal dependencies
10
  */
11
  import sharedConfig from '../shared-config';
12
+ import edit from './edit';
13
 
14
  const blockConfig = {
15
  title: __( 'Product Rating', 'woo-gutenberg-products-block' ),
21
  src: <Icon srcElement={ star } />,
22
  foreground: '#96588a',
23
  },
24
+ edit,
 
 
 
 
 
 
 
 
 
 
25
  };
26
 
27
  registerBlockType( 'woocommerce/product-rating', {
assets/js/atomic/blocks/product/rating/style.scss ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-layout {
2
+ .wc-block-components-product-rating {
3
+ display: block;
4
+ margin-top: 0;
5
+ margin-bottom: $gap-small;
6
+
7
+ &__stars {
8
+ overflow: hidden;
9
+ position: relative;
10
+ width: 5.3em;
11
+ height: 1.618em;
12
+ line-height: 1.618;
13
+ font-size: 1em;
14
+ /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
15
+ font-family: star;
16
+ font-weight: 400;
17
+ margin: 0 auto;
18
+ text-align: left;
19
+
20
+ &::before {
21
+ content: "\53\53\53\53\53";
22
+ top: 0;
23
+ left: 0;
24
+ right: 0;
25
+ position: absolute;
26
+ opacity: 0.5;
27
+ color: #aaa;
28
+ white-space: nowrap;
29
+ }
30
+ span {
31
+ overflow: hidden;
32
+ top: 0;
33
+ left: 0;
34
+ right: 0;
35
+ position: absolute;
36
+ padding-top: 1.5em;
37
+ }
38
+ span::before {
39
+ content: "\53\53\53\53\53";
40
+ top: 0;
41
+ left: 0;
42
+ right: 0;
43
+ position: absolute;
44
+ color: #000;
45
+ white-space: nowrap;
46
+ }
47
+ }
48
+ }
49
+ .wc-block-single-product {
50
+ .wc-block-components-product-rating__stars {
51
+ margin: 0;
52
+ }
53
+ }
54
+ }
assets/js/atomic/blocks/product/sale-badge/block.js ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import { __ } from '@wordpress/i18n';
6
+ import classnames from 'classnames';
7
+ import Label from '@woocommerce/base-components/label';
8
+ import {
9
+ useInnerBlockLayoutContext,
10
+ useProductDataContext,
11
+ } from '@woocommerce/shared-context';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import './style.scss';
17
+
18
+ /**
19
+ * Product Sale Badge Block Component.
20
+ *
21
+ * @param {Object} props Incoming props.
22
+ * @param {string} [props.className] CSS Class name for the component.
23
+ * @param {string} [props.align] Alignment of the badge.
24
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
25
+ * this is not provided.
26
+ * @return {*} The component.
27
+ */
28
+ const Block = ( { className, align, ...props } ) => {
29
+ const { parentClassName } = useInnerBlockLayoutContext();
30
+ const productDataContext = useProductDataContext();
31
+ const product = props.product || productDataContext.product;
32
+
33
+ if ( ! product || ! product.on_sale ) {
34
+ return null;
35
+ }
36
+
37
+ const alignClass =
38
+ typeof align === 'string'
39
+ ? `wc-block-components-product-sale-badge--align${ align }`
40
+ : '';
41
+
42
+ return (
43
+ <div
44
+ className={ classnames(
45
+ 'wc-block-components-product-sale-badge',
46
+ className,
47
+ alignClass,
48
+ `${ parentClassName }__product-onsale`
49
+ ) }
50
+ >
51
+ <Label
52
+ label={ __( 'Sale', 'woo-gutenberg-products-block' ) }
53
+ screenReaderLabel={ __(
54
+ 'Product on sale',
55
+ 'woo-gutenberg-products-block'
56
+ ) }
57
+ />
58
+ </div>
59
+ );
60
+ };
61
+
62
+ Block.propTypes = {
63
+ className: PropTypes.string,
64
+ align: PropTypes.string,
65
+ product: PropTypes.object,
66
+ };
67
+
68
+ export default Block;
assets/js/atomic/blocks/product/sale-badge/edit.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import Block from './block';
5
+
6
+ export default ( { attributes } ) => {
7
+ return <Block { ...attributes } />;
8
+ };
assets/js/atomic/blocks/product/sale-badge/index.js CHANGED
@@ -3,13 +3,13 @@
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
- import { ProductSaleBadge } from '@woocommerce/atomic-components/product';
7
  import { Icon, tag } from '@woocommerce/icons';
8
 
9
  /**
10
  * Internal dependencies
11
  */
12
  import sharedConfig from '../shared-config';
 
13
 
14
  const blockConfig = {
15
  title: __( 'On-Sale Badge', 'woo-gutenberg-products-block' ),
@@ -24,17 +24,7 @@ const blockConfig = {
24
  supports: {
25
  html: false,
26
  },
27
-
28
- /**
29
- * Renders the edit view for a block.
30
- *
31
- * @param {Object} props Props to pass to block.
32
- */
33
- edit( props ) {
34
- const { align, product } = props.attributes;
35
-
36
- return <ProductSaleBadge product={ product } align={ align } />;
37
- },
38
  };
39
 
40
  registerBlockType( 'woocommerce/product-sale-badge', {
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
 
6
  import { Icon, tag } from '@woocommerce/icons';
7
 
8
  /**
9
  * Internal dependencies
10
  */
11
  import sharedConfig from '../shared-config';
12
+ import edit from './edit';
13
 
14
  const blockConfig = {
15
  title: __( 'On-Sale Badge', 'woo-gutenberg-products-block' ),
24
  supports: {
25
  html: false,
26
  },
27
+ edit,
 
 
 
 
 
 
 
 
 
 
28
  };
29
 
30
  registerBlockType( 'woocommerce/product-sale-badge', {
assets/js/atomic/blocks/product/sale-badge/style.scss ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-components-product-sale-badge {
2
+ margin: 0 auto $gap-small;
3
+ @include font-size(small);
4
+ padding: em($gap-smallest) em($gap-small);
5
+ display: inline-block;
6
+ width: auto;
7
+ border: 1px solid #43454b;
8
+ border-radius: 3px;
9
+ color: #43454b;
10
+ background: #fff;
11
+ text-align: center;
12
+ text-transform: uppercase;
13
+ font-weight: 600;
14
+ z-index: 9;
15
+ position: static;
16
+ }
assets/js/atomic/blocks/product/save.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
6
+ const save = ( { attributes } ) => {
7
+ return (
8
+ <div className={ classnames( 'is-loading', attributes.className ) } />
9
+ );
10
+ };
11
+
12
+ export default save;
assets/js/atomic/blocks/product/sku/block.js ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import PropTypes from 'prop-types';
6
+ import classnames from 'classnames';
7
+ import {
8
+ useInnerBlockLayoutContext,
9
+ useProductDataContext,
10
+ } from '@woocommerce/shared-context';
11
+
12
+ /**
13
+ * Internal dependencies
14
+ */
15
+ import './style.scss';
16
+
17
+ /**
18
+ * Product SKU Block Component.
19
+ *
20
+ * @param {Object} props Incoming props.
21
+ * @param {string} [props.className] CSS Class name for the component.
22
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
23
+ * this is not provided.
24
+ * @return {*} The component.
25
+ */
26
+ const Block = ( { className, ...props } ) => {
27
+ const { parentClassName } = useInnerBlockLayoutContext();
28
+ const productDataContext = useProductDataContext();
29
+ const product = props.product || productDataContext.product || {};
30
+ const sku = product.sku || '';
31
+
32
+ if ( ! sku ) {
33
+ return null;
34
+ }
35
+
36
+ return (
37
+ <div
38
+ className={ classnames(
39
+ className,
40
+ 'wc-block-components-product-sku',
41
+ `${ parentClassName }__product-sku`
42
+ ) }
43
+ >
44
+ { __( 'SKU:', 'woo-gutenberg-products-block' ) }{ ' ' }
45
+ <strong>{ sku }</strong>
46
+ </div>
47
+ );
48
+ };
49
+
50
+ Block.propTypes = {
51
+ className: PropTypes.string,
52
+ product: PropTypes.object,
53
+ };
54
+
55
+ export default Block;
assets/js/atomic/blocks/product/sku/edit.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import EditProductLink from '@woocommerce/block-components/edit-product-link';
5
+ import { useProductDataContext } from '@woocommerce/shared-context';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import Block from './block';
11
+
12
+ export default ( { attributes } ) => {
13
+ const productDataContext = useProductDataContext();
14
+ const product = productDataContext.product || {};
15
+
16
+ return (
17
+ <>
18
+ <EditProductLink productId={ product.id } />
19
+ <Block { ...attributes } />
20
+ </>
21
+ );
22
+ };
assets/js/atomic/blocks/product/sku/index.js ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { registerBlockType } from '@wordpress/blocks';
6
+ import { Icon, barcode } from '@woocommerce/icons';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import sharedConfig from '../shared-config';
12
+ import edit from './edit';
13
+
14
+ const blockConfig = {
15
+ title: __( 'Product SKU', 'woo-gutenberg-products-block' ),
16
+ description: __(
17
+ 'Display the SKU of a product.',
18
+ 'woo-gutenberg-products-block'
19
+ ),
20
+ icon: {
21
+ src: <Icon srcElement={ barcode } />,
22
+ foreground: '#96588a',
23
+ },
24
+ edit,
25
+ };
26
+
27
+ registerBlockType( 'woocommerce/product-sku', {
28
+ ...sharedConfig,
29
+ ...blockConfig,
30
+ } );
assets/js/atomic/blocks/product/sku/style.scss ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ .wc-block-layout {
2
+ .wc-block-components-product-sku {
3
+ margin-top: 0;
4
+ margin-bottom: $gap-small;
5
+ display: block;
6
+ text-transform: uppercase;
7
+ @include font-size(small);
8
+ }
9
+ }
assets/js/atomic/blocks/product/summary/block.js ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import classnames from 'classnames';
6
+ import Summary from '@woocommerce/base-components/summary';
7
+ import { getSetting } from '@woocommerce/settings';
8
+ import {
9
+ useInnerBlockLayoutContext,
10
+ useProductDataContext,
11
+ } from '@woocommerce/shared-context';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import './style.scss';
17
+
18
+ /**
19
+ * Product Summary Block Component.
20
+ *
21
+ * @param {Object} props Incoming props.
22
+ * @param {string} [props.className] CSS Class name for the component.
23
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
24
+ * this is not provided.
25
+ * @return {*} The component.
26
+ */
27
+ const Block = ( { className, ...props } ) => {
28
+ const { parentClassName } = useInnerBlockLayoutContext();
29
+ const productDataContext = useProductDataContext();
30
+ const { product } = productDataContext || props;
31
+
32
+ if ( ! product ) {
33
+ return (
34
+ <div
35
+ className={ classnames(
36
+ className,
37
+ `wc-block-components-product-summary`
38
+ ) }
39
+ />
40
+ );
41
+ }
42
+
43
+ const source = product.short_description
44
+ ? product.short_description
45
+ : product.description;
46
+
47
+ if ( ! source ) {
48
+ return null;
49
+ }
50
+
51
+ const countType = getSetting( 'wordCountType', 'words' );
52
+
53
+ return (
54
+ <Summary
55
+ className={ classnames(
56
+ className,
57
+ `wc-block-components-product-summary`,
58
+ `${ parentClassName }__product-summary`
59
+ ) }
60
+ source={ source }
61
+ maxLength={ 150 }
62
+ countType={ countType }
63
+ />
64
+ );
65
+ };
66
+
67
+ Block.propTypes = {
68
+ className: PropTypes.string,
69
+ product: PropTypes.object,
70
+ };
71
+
72
+ export default Block;
assets/js/atomic/blocks/product/summary/edit.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import Block from './block';
5
+
6
+ export default ( { attributes } ) => {
7
+ return <Block { ...attributes } />;
8
+ };
assets/js/atomic/blocks/product/summary/index.js CHANGED
@@ -4,12 +4,12 @@
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, notes } from '@woocommerce/icons';
7
- import { ProductSummary } from '@woocommerce/atomic-components/product';
8
 
9
  /**
10
  * Internal dependencies
11
  */
12
  import sharedConfig from '../shared-config';
 
13
 
14
  const blockConfig = {
15
  title: __( 'Product Summary', 'woo-gutenberg-products-block' ),
@@ -21,17 +21,7 @@ const blockConfig = {
21
  src: <Icon srcElement={ notes } />,
22
  foreground: '#96588a',
23
  },
24
-
25
- /**
26
- * Renders the edit view for a block.
27
- *
28
- * @param {Object} props Props to pass to block.
29
- */
30
- edit( props ) {
31
- const { attributes } = props;
32
-
33
- return <ProductSummary product={ attributes.product } />;
34
- },
35
  };
36
 
37
  registerBlockType( 'woocommerce/product-summary', {
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, notes } from '@woocommerce/icons';
 
7
 
8
  /**
9
  * Internal dependencies
10
  */
11
  import sharedConfig from '../shared-config';
12
+ import edit from './edit';
13
 
14
  const blockConfig = {
15
  title: __( 'Product Summary', 'woo-gutenberg-products-block' ),
21
  src: <Icon srcElement={ notes } />,
22
  foreground: '#96588a',
23
  },
24
+ edit,
 
 
 
 
 
 
 
 
 
 
25
  };
26
 
27
  registerBlockType( 'woocommerce/product-summary', {
assets/js/atomic/blocks/product/summary/style.scss ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-layout .wc-block-components-product-summary {
2
+ margin-top: 0;
3
+ margin-bottom: $gap-small;
4
+ }
5
+
6
+ .wc-block-layout--is-loading .wc-block-components-product-summary::before {
7
+ @include placeholder();
8
+ content: ".";
9
+ display: block;
10
+ width: 100%;
11
+ height: 6em;
12
+ }
assets/js/atomic/blocks/product/title/attributes.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export const blockAttributes = {
2
+ headingLevel: {
3
+ type: 'number',
4
+ default: 2,
5
+ },
6
+ productLink: {
7
+ type: 'boolean',
8
+ default: true,
9
+ },
10
+ };
11
+
12
+ export default blockAttributes;
assets/js/atomic/blocks/product/title/block.js ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import classnames from 'classnames';
6
+ import { decodeEntities } from '@wordpress/html-entities';
7
+ import {
8
+ useInnerBlockLayoutContext,
9
+ useProductDataContext,
10
+ } from '@woocommerce/shared-context';
11
+
12
+ /**
13
+ * Internal dependencies
14
+ */
15
+ import './style.scss';
16
+
17
+ /**
18
+ * Product Title Block Component.
19
+ *
20
+ * @param {Object} props Incoming props.
21
+ * @param {string} [props.className] CSS Class name for the component.
22
+ * @param {number} [props.headingLevel] Heading level (h1, h2 etc)
23
+ * @param {boolean} [props.productLink] Whether or not to display a link to the product page.
24
+ * @param {Object} [props.product] Optional product object. Product from context will be used if
25
+ * this is not provided.
26
+ * @return {*} The component.
27
+ */
28
+ export const Block = ( {
29
+ className,
30
+ headingLevel = 2,
31
+ productLink = true,
32
+ ...props
33
+ } ) => {
34
+ const { parentClassName } = useInnerBlockLayoutContext();
35
+ const productDataContext = useProductDataContext();
36
+ const product = props.product || productDataContext.product;
37
+ const TagName = `h${ headingLevel }`;
38
+
39
+ if ( ! product ) {
40
+ return (
41
+ <TagName
42
+ // @ts-ignore
43
+ className={ classnames(
44
+ className,
45
+ 'wc-block-components-product-title',
46
+ `${ parentClassName }__product-title`
47
+ ) }
48
+ />
49
+ );
50
+ }
51
+
52
+ const productName = decodeEntities( product.name );
53
+
54
+ return (
55
+ // @ts-ignore
56
+ <TagName
57
+ className={ classnames(
58
+ className,
59
+ 'wc-block-components-product-title',
60
+ `${ parentClassName }__product-title`
61
+ ) }
62
+ >
63
+ { productLink ? (
64
+ <a href={ product.permalink } rel="nofollow">
65
+ { productName }
66
+ </a>
67
+ ) : (
68
+ productName
69
+ ) }
70
+ </TagName>
71
+ );
72
+ };
73
+
74
+ Block.propTypes = {
75
+ className: PropTypes.string,
76
+ product: PropTypes.object,
77
+ headingLevel: PropTypes.number,
78
+ productLink: PropTypes.bool,
79
+ };
80
+
81
+ export default Block;
assets/js/atomic/blocks/product/title/edit.js ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { Disabled, PanelBody, ToggleControl } from '@wordpress/components';
6
+ import { InspectorControls } from '@wordpress/block-editor';
7
+ import HeadingToolbar from '@woocommerce/block-components/heading-toolbar';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import Block from './block';
13
+
14
+ export default ( { attributes, setAttributes } ) => {
15
+ const { headingLevel, productLink } = attributes;
16
+
17
+ return (
18
+ <>
19
+ <InspectorControls>
20
+ <PanelBody
21
+ title={ __( 'Content', 'woo-gutenberg-products-block' ) }
22
+ >
23
+ <p>{ __( 'Level', 'woo-gutenberg-products-block' ) }</p>
24
+ <HeadingToolbar
25
+ isCollapsed={ false }
26
+ minLevel={ 1 }
27
+ maxLevel={ 7 }
28
+ selectedLevel={ headingLevel }
29
+ onChange={ ( newLevel ) =>
30
+ setAttributes( { headingLevel: newLevel } )
31
+ }
32
+ />
33
+ <ToggleControl
34
+ label={ __(
35
+ 'Link to Product Page',
36
+ 'woo-gutenberg-products-block'
37
+ ) }
38
+ help={ __(
39
+ 'Links the image to the single product listing.',
40
+ 'woo-gutenberg-products-block'
41
+ ) }
42
+ checked={ productLink }
43
+ onChange={ () =>
44
+ setAttributes( {
45
+ productLink: ! productLink,
46
+ } )
47
+ }
48
+ />
49
+ </PanelBody>
50
+ </InspectorControls>
51
+ <Disabled>
52
+ <Block { ...attributes } />
53
+ </Disabled>
54
+ </>
55
+ );
56
+ };
assets/js/atomic/blocks/product/title/frontend.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { compose } from '@wordpress/compose';
5
+ import withFilteredAttributes from '@woocommerce/base-hocs/with-filtered-attributes';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import Block from './block';
11
+ import attributes from './attributes';
12
+
13
+ export default compose( withFilteredAttributes( attributes ) )( Block );
assets/js/atomic/blocks/product/title/index.js CHANGED
@@ -3,17 +3,13 @@
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
6
- import { Fragment } from 'react';
7
- import { Disabled, PanelBody, ToggleControl } from '@wordpress/components';
8
- import { InspectorControls } from '@wordpress/block-editor';
9
- import { ProductTitle } from '@woocommerce/atomic-components/product';
10
- import { previewProducts } from '@woocommerce/resource-previews';
11
- import HeadingToolbar from '@woocommerce/block-components/heading-toolbar';
12
 
13
  /**
14
  * Internal dependencies
15
  */
16
  import sharedConfig from '../shared-config';
 
 
17
 
18
  const blockConfig = {
19
  title: __( 'Product Title', 'woo-gutenberg-products-block' ),
@@ -25,77 +21,8 @@ const blockConfig = {
25
  src: 'heading',
26
  foreground: '#96588a',
27
  },
28
- attributes: {
29
- product: {
30
- type: 'object',
31
- default: previewProducts[ 0 ],
32
- },
33
- headingLevel: {
34
- type: 'number',
35
- default: 2,
36
- },
37
- productLink: {
38
- type: 'boolean',
39
- default: true,
40
- },
41
- },
42
-
43
- /**
44
- * Renders the edit view for a block.
45
- *
46
- * @param {Object} props Props to pass to block.
47
- */
48
- edit( props ) {
49
- const { attributes, setAttributes } = props;
50
- const { headingLevel, productLink } = attributes;
51
-
52
- return (
53
- <Fragment>
54
- <InspectorControls>
55
- <PanelBody
56
- title={ __(
57
- 'Content',
58
- 'woo-gutenberg-products-block'
59
- ) }
60
- >
61
- <p>{ __( 'Level', 'woo-gutenberg-products-block' ) }</p>
62
- <HeadingToolbar
63
- isCollapsed={ false }
64
- minLevel={ 2 }
65
- maxLevel={ 7 }
66
- selectedLevel={ headingLevel }
67
- onChange={ ( newLevel ) =>
68
- setAttributes( { headingLevel: newLevel } )
69
- }
70
- />
71
- <ToggleControl
72
- label={ __(
73
- 'Link to Product Page',
74
- 'woo-gutenberg-products-block'
75
- ) }
76
- help={ __(
77
- 'Links the image to the single product listing.',
78
- 'woo-gutenberg-products-block'
79
- ) }
80
- checked={ productLink }
81
- onChange={ () =>
82
- setAttributes( {
83
- productLink: ! productLink,
84
- } )
85
- }
86
- />
87
- </PanelBody>
88
- </InspectorControls>
89
- <Disabled>
90
- <ProductTitle
91
- headingLevel={ headingLevel }
92
- productLink={ productLink }
93
- product={ attributes.product }
94
- />
95
- </Disabled>
96
- </Fragment>
97
- );
98
- },
99
  };
100
 
101
  registerBlockType( 'woocommerce/product-title', {
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { registerBlockType } from '@wordpress/blocks';
 
 
 
 
 
 
6
 
7
  /**
8
  * Internal dependencies
9
  */
10
  import sharedConfig from '../shared-config';
11
+ import attributes from './attributes';
12
+ import edit from './edit';
13
 
14
  const blockConfig = {
15
  title: __( 'Product Title', 'woo-gutenberg-products-block' ),
21
  src: 'heading',
22
  foreground: '#96588a',
23
  },
24
+ attributes,
25
+ edit,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  };
27
 
28
  registerBlockType( 'woocommerce/product-title', {
assets/js/atomic/blocks/product/title/style.scss ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-layout {
2
+ .wc-block-components-product-title {
3
+ margin-top: 0;
4
+ margin-bottom: $gap-small;
5
+ }
6
+ .wc-block-grid .wc-block-components-product-title {
7
+ line-height: 1.2em;
8
+ font-weight: 700;
9
+ padding: 0;
10
+ color: inherit;
11
+ font-size: inherit;
12
+ display: block;
13
+ }
14
+ &--is-loading {
15
+ .wc-block-components-product-title::before {
16
+ @include placeholder();
17
+ content: ".";
18
+ display: inline-block;
19
+ width: 7em;
20
+ }
21
+ .wc-block-grid .wc-block-components-product-title::before {
22
+ width: 10em;
23
+ }
24
+ }
25
+ }
assets/js/atomic/components/product/button/index.js DELETED
@@ -1,114 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import PropTypes from 'prop-types';
5
- import classnames from 'classnames';
6
- import { _n, sprintf } from '@wordpress/i18n';
7
- import { useEffect, useRef } from '@wordpress/element';
8
- import { useStoreAddToCart } from '@woocommerce/base-hooks';
9
- import { useProductLayoutContext } from '@woocommerce/base-context';
10
- import { decodeEntities } from '@wordpress/html-entities';
11
- import { triggerFragmentRefresh } from '@woocommerce/base-utils';
12
-
13
- const ProductButton = ( { product, className } ) => {
14
- const {
15
- id,
16
- permalink,
17
- add_to_cart: productCartDetails,
18
- has_options: hasOptions,
19
- is_purchasable: isPurchasable,
20
- is_in_stock: isInStock,
21
- } = product;
22
- const {
23
- cartQuantity,
24
- addingToCart,
25
- cartIsLoading,
26
- addToCart,
27
- } = useStoreAddToCart( id );
28
- const { layoutStyleClassPrefix } = useProductLayoutContext();
29
- const addedToCart = Number.isFinite( cartQuantity ) && cartQuantity > 0;
30
- const getButtonText = () => {
31
- if ( addedToCart ) {
32
- return sprintf(
33
- // translators: %s number of products in cart.
34
- _n(
35
- '%d in cart',
36
- '%d in cart',
37
- cartQuantity,
38
- 'woo-gutenberg-products-block'
39
- ),
40
- cartQuantity
41
- );
42
- }
43
- return decodeEntities( productCartDetails.text );
44
- };
45
-
46
- const firstMount = useRef( true );
47
-
48
- useEffect( () => {
49
- // Avoid running on first mount when cart quantity is first set.
50
- if ( firstMount.current ) {
51
- firstMount.current = false;
52
- return;
53
- }
54
- triggerFragmentRefresh();
55
- }, [ cartQuantity ] );
56
-
57
- const wrapperClasses = classnames(
58
- className,
59
- `${ layoutStyleClassPrefix }__product-add-to-cart`,
60
- 'wp-block-button'
61
- );
62
-
63
- const buttonClasses = classnames(
64
- 'wp-block-button__link',
65
- 'add_to_cart_button',
66
- {
67
- loading: addingToCart,
68
- added: addedToCart,
69
- }
70
- );
71
-
72
- if ( Object.keys( product ).length === 0 || cartIsLoading ) {
73
- return (
74
- <div className={ wrapperClasses }>
75
- <button className={ buttonClasses } disabled={ true } />
76
- </div>
77
- );
78
- }
79
- const allowAddToCart = ! hasOptions && isPurchasable && isInStock;
80
- return (
81
- <div className={ wrapperClasses }>
82
- { allowAddToCart ? (
83
- <button
84
- onClick={ addToCart }
85
- aria-label={ decodeEntities(
86
- productCartDetails.description
87
- ) }
88
- className={ buttonClasses }
89
- disabled={ addingToCart }
90
- >
91
- { getButtonText() }
92
- </button>
93
- ) : (
94
- <a
95
- href={ permalink }
96
- aria-label={ decodeEntities(
97
- productCartDetails.description
98
- ) }
99
- className={ buttonClasses }
100
- rel="nofollow"
101
- >
102
- { getButtonText() }
103
- </a>
104
- ) }
105
- </div>
106
- );
107
- };
108
-
109
- ProductButton.propTypes = {
110
- className: PropTypes.string,
111
- product: PropTypes.object.isRequired,
112
- };
113
-
114
- export default ProductButton;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/atomic/components/product/image/index.js DELETED
@@ -1,105 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import PropTypes from 'prop-types';
5
- import { Fragment, useState } from '@wordpress/element';
6
- import classnames from 'classnames';
7
- import { PLACEHOLDER_IMG_SRC } from '@woocommerce/block-settings';
8
- import { useProductLayoutContext } from '@woocommerce/base-context';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import { ProductSaleBadge } from '../../../components/product';
14
-
15
- const SaleBadge = ( { product, saleBadgeAlign, shouldRender } ) => {
16
- return shouldRender ? (
17
- <ProductSaleBadge product={ product } align={ saleBadgeAlign } />
18
- ) : null;
19
- };
20
-
21
- const Image = ( { layoutPrefix, loaded, image, onLoad } ) => {
22
- const cssClass = classnames( `${ layoutPrefix }__product-image__image`, {
23
- [ `${ layoutPrefix }__product-image__image_placeholder` ]:
24
- ! loaded && ! image,
25
- } );
26
- const { thumbnail, srcset, sizes, alt } = image || {};
27
- return (
28
- <Fragment>
29
- { image && (
30
- <img
31
- className={ cssClass }
32
- src={ thumbnail }
33
- srcSet={ srcset }
34
- sizes={ sizes }
35
- alt={ alt }
36
- onLoad={ onLoad }
37
- hidden={ ! loaded }
38
- />
39
- ) }
40
- { ! loaded && (
41
- <img
42
- className={ cssClass }
43
- src={ PLACEHOLDER_IMG_SRC }
44
- alt=""
45
- />
46
- ) }
47
- </Fragment>
48
- );
49
- };
50
-
51
- const ProductImage = ( {
52
- className,
53
- product,
54
- productLink = true,
55
- showSaleBadge = true,
56
- saleBadgeAlign = 'right',
57
- } ) => {
58
- const [ imageLoaded, setImageLoaded ] = useState( false );
59
- const { layoutStyleClassPrefix } = useProductLayoutContext();
60
- const image =
61
- product.images && product.images.length ? product.images[ 0 ] : null;
62
-
63
- const renderedSalesAndImage = (
64
- <Fragment>
65
- <SaleBadge
66
- product={ product }
67
- saleBadgeAlign={ saleBadgeAlign }
68
- shouldRender={ showSaleBadge }
69
- />
70
- <Image
71
- layoutPrefix={ layoutStyleClassPrefix }
72
- loaded={ imageLoaded }
73
- image={ image }
74
- onLoad={ () => setImageLoaded( true ) }
75
- />
76
- </Fragment>
77
- );
78
-
79
- return (
80
- <div
81
- className={ classnames(
82
- className,
83
- `${ layoutStyleClassPrefix }__product-image`
84
- ) }
85
- >
86
- { productLink ? (
87
- <a href={ product.permalink } rel="nofollow">
88
- { renderedSalesAndImage }
89
- </a>
90
- ) : (
91
- renderedSalesAndImage
92
- ) }
93
- </div>
94
- );
95
- };
96
-
97
- ProductImage.propTypes = {
98
- className: PropTypes.string,
99
- product: PropTypes.object.isRequired,
100
- productLink: PropTypes.bool,
101
- showSaleBadge: PropTypes.bool,
102
- saleBadgeAlign: PropTypes.string,
103
- };
104
-
105
- export default ProductImage;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/atomic/components/product/index.js DELETED
@@ -1,7 +0,0 @@
1
- export { default as ProductButton } from './button';
2
- export { default as ProductImage } from './image';
3
- export { default as ProductRating } from './rating';
4
- export { default as ProductTitle } from './title';
5
- export { default as ProductPrice } from './price';
6
- export { default as ProductSummary } from './summary';
7
- export { default as ProductSaleBadge } from './sale-badge';
 
 
 
 
 
 
 
assets/js/atomic/components/product/price/index.js DELETED
@@ -1,72 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import classnames from 'classnames';
5
- import { useProductLayoutContext } from '@woocommerce/base-context';
6
- import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
7
- import { getCurrencyFromPriceResponse } from '@woocommerce/base-utils';
8
-
9
- const ProductPrice = ( { className, product } ) => {
10
- const { layoutStyleClassPrefix } = useProductLayoutContext();
11
- const prices = product.prices || {};
12
- const currency = getCurrencyFromPriceResponse( prices );
13
-
14
- if (
15
- prices.price_range &&
16
- prices.price_range.min_amount &&
17
- prices.price_range.max_amount
18
- ) {
19
- return (
20
- <div
21
- className={ classnames(
22
- className,
23
- `${ layoutStyleClassPrefix }__product-price`
24
- ) }
25
- >
26
- <span
27
- className={ `${ layoutStyleClassPrefix }__product-price__value` }
28
- >
29
- <FormattedMonetaryAmount
30
- currency={ currency }
31
- value={ prices.price_range.min_amount }
32
- />
33
- &nbsp;&mdash;&nbsp;
34
- <FormattedMonetaryAmount
35
- currency={ currency }
36
- value={ prices.price_range.max_amount }
37
- />
38
- </span>
39
- </div>
40
- );
41
- }
42
-
43
- return (
44
- <div
45
- className={ classnames(
46
- className,
47
- `${ layoutStyleClassPrefix }__product-price`
48
- ) }
49
- >
50
- { prices.regular_price !== prices.price && (
51
- <del
52
- className={ `${ layoutStyleClassPrefix }__product-price__regular` }
53
- >
54
- <FormattedMonetaryAmount
55
- currency={ currency }
56
- value={ prices.regular_price }
57
- />
58
- </del>
59
- ) }
60
- <span
61
- className={ `${ layoutStyleClassPrefix }__product-price__value` }
62
- >
63
- <FormattedMonetaryAmount
64
- currency={ currency }
65
- value={ prices.price }
66
- />
67
- </span>
68
- </div>
69
- );
70
- };
71
-
72
- export default ProductPrice;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/atomic/components/product/rating/index.js DELETED
@@ -1,49 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import PropTypes from 'prop-types';
5
- import { __, sprintf } from '@wordpress/i18n';
6
- import classnames from 'classnames';
7
- import { useProductLayoutContext } from '@woocommerce/base-context';
8
-
9
- const ProductRating = ( { className, product } ) => {
10
- const rating = parseFloat( product.average_rating );
11
- const { layoutStyleClassPrefix } = useProductLayoutContext();
12
-
13
- if ( ! Number.isFinite( rating ) || rating === 0 ) {
14
- return null;
15
- }
16
-
17
- const starStyle = {
18
- width: ( rating / 5 ) * 100 + '%',
19
- };
20
-
21
- const ratingText = sprintf(
22
- __( 'Rated %f out of 5', 'woo-gutenberg-products-block' ),
23
- rating
24
- );
25
-
26
- return (
27
- <div
28
- className={ classnames(
29
- className,
30
- `${ layoutStyleClassPrefix }__product-rating`
31
- ) }
32
- >
33
- <div
34
- className={ `${ layoutStyleClassPrefix }__product-rating__stars` }
35
- role="img"
36
- aria-label={ ratingText }
37
- >
38
- <span style={ starStyle }>{ ratingText }</span>
39
- </div>
40
- </div>
41
- );
42
- };
43
-
44
- ProductRating.propTypes = {
45
- className: PropTypes.string,
46
- product: PropTypes.object.isRequired,
47
- };
48
-
49
- export default ProductRating;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/atomic/components/product/sale-badge/index.js DELETED
@@ -1,39 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
- import classnames from 'classnames';
6
- import { useProductLayoutContext } from '@woocommerce/base-context';
7
- import Label from '@woocommerce/base-components/label';
8
-
9
- const ProductSaleBadge = ( { className, product, align } ) => {
10
- const { layoutStyleClassPrefix } = useProductLayoutContext();
11
- const alignClass =
12
- typeof align === 'string'
13
- ? `${ layoutStyleClassPrefix }__product-onsale--align${ align }`
14
- : '';
15
-
16
- if ( product && product.on_sale ) {
17
- return (
18
- <div
19
- className={ classnames(
20
- className,
21
- alignClass,
22
- `${ layoutStyleClassPrefix }__product-onsale`
23
- ) }
24
- >
25
- <Label
26
- label={ __( 'Sale', 'woo-gutenberg-products-block' ) }
27
- screenReaderLabel={ __(
28
- 'Product on sale',
29
- 'woo-gutenberg-products-block'
30
- ) }
31
- />
32
- </div>
33
- );
34
- }
35
-
36
- return null;
37
- };
38
-
39
- export default ProductSaleBadge;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/atomic/components/product/summary/index.js DELETED
@@ -1,40 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import PropTypes from 'prop-types';
5
- import classnames from 'classnames';
6
- import { useProductLayoutContext } from '@woocommerce/base-context';
7
- import Summary from '@woocommerce/base-components/summary';
8
- import { getSetting } from '@woocommerce/settings';
9
-
10
- const ProductSummary = ( { className, product } ) => {
11
- const { layoutStyleClassPrefix } = useProductLayoutContext();
12
- const source = product.short_description
13
- ? product.short_description
14
- : product.description;
15
-
16
- if ( ! source ) {
17
- return null;
18
- }
19
-
20
- const countType = getSetting( 'wordCountType', 'words' );
21
-
22
- return (
23
- <Summary
24
- className={ classnames(
25
- className,
26
- `${ layoutStyleClassPrefix }__product-summary`
27
- ) }
28
- source={ source }
29
- maxLength={ 150 }
30
- countType={ countType }
31
- />
32
- );
33
- };
34
-
35
- ProductSummary.propTypes = {
36
- className: PropTypes.string,
37
- product: PropTypes.object.isRequired,
38
- };
39
-
40
- export default ProductSummary;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/atomic/components/product/title/index.js DELETED
@@ -1,48 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import PropTypes from 'prop-types';
5
- import classnames from 'classnames';
6
- import { useProductLayoutContext } from '@woocommerce/base-context';
7
- import { decodeEntities } from '@wordpress/html-entities';
8
-
9
- const ProductTitle = ( {
10
- className,
11
- product,
12
- headingLevel = 2,
13
- productLink = true,
14
- } ) => {
15
- const { layoutStyleClassPrefix } = useProductLayoutContext();
16
- if ( ! product.name ) {
17
- return null;
18
- }
19
-
20
- const productName = decodeEntities( product.name );
21
- const TagName = `h${ headingLevel }`;
22
-
23
- return (
24
- <TagName
25
- className={ classnames(
26
- className,
27
- `${ layoutStyleClassPrefix }__product-title`
28
- ) }
29
- >
30
- { productLink ? (
31
- <a href={ product.permalink } rel="nofollow">
32
- { productName }
33
- </a>
34
- ) : (
35
- productName
36
- ) }
37
- </TagName>
38
- );
39
- };
40
-
41
- ProductTitle.propTypes = {
42
- className: PropTypes.string,
43
- product: PropTypes.object.isRequired,
44
- headingLevel: PropTypes.number,
45
- productLink: PropTypes.bool,
46
- };
47
-
48
- export default ProductTitle;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/atomic/utils/create-blocks-from-template.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { createBlock } from '@wordpress/blocks';
5
+
6
+ /**
7
+ * Creates blocks for a given inner blocks Template.
8
+ *
9
+ * @param {Array} template Inner Blocks Template.
10
+ */
11
+ export const createBlocksFromTemplate = ( template ) => {
12
+ return template.map( ( [ name, atts = {}, innerBlocks = [] ] ) => {
13
+ const children = innerBlocks
14
+ ? createBlocksFromTemplate( innerBlocks )
15
+ : [];
16
+ return createBlock( name, atts, children );
17
+ } );
18
+ };
assets/js/atomic/utils/get-block-map.js ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { getRegisteredInnerBlocks } from '@woocommerce/blocks-registry';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import ProductButton from '../blocks/product/button/block';
10
+ import ProductImage from '../blocks/product/image/frontend';
11
+ import ProductPrice from '../blocks/product/price/block';
12
+ import ProductRating from '../blocks/product/rating/block';
13
+ import ProductSaleBadge from '../blocks/product/sale-badge/block';
14
+ import ProductSummary from '../blocks/product/summary/block';
15
+ import ProductTitle from '../blocks/product/title/frontend';
16
+ import ProductSku from '../blocks/product/sku/block';
17
+
18
+ /**
19
+ * Map blocks to components suitable for use on the frontend.
20
+ *
21
+ * @param {string} blockName Name of the parent block. Used to get extension children.
22
+ */
23
+ export const getBlockMap = ( blockName ) => ( {
24
+ 'woocommerce/product-price': ProductPrice,
25
+ 'woocommerce/product-image': ProductImage,
26
+ 'woocommerce/product-title': ProductTitle,
27
+ 'woocommerce/product-rating': ProductRating,
28
+ 'woocommerce/product-button': ProductButton,
29
+ 'woocommerce/product-summary': ProductSummary,
30
+ 'woocommerce/product-sale-badge': ProductSaleBadge,
31
+ 'woocommerce/product-sku': ProductSku,
32
+ ...getRegisteredInnerBlocks( blockName ),
33
+ } );
assets/js/atomic/utils/index.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ export * from './get-block-map.js';
2
+ export * from './create-blocks-from-template.js';
3
+ export * from './render-parent-block.js';
4
+ export * from './render-inner-blocks.js';
assets/js/atomic/utils/render-inner-blocks.js ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { cloneElement, isValidElement } from '@wordpress/element';
5
+ import parse from 'html-react-parser';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { getBlockMap } from './get-block-map';
11
+
12
+ /**
13
+ * Replaces saved block HTML markup with Inner Block Components.
14
+ *
15
+ * @param {Object} props Render props.
16
+ * @param {Array} props.children Children/inner blocks to render.
17
+ * @param {string} props.blockName Parent Block Name used to get the block map and for keys.
18
+ * @param {number} [props.depth] Depth of inner blocks being rendered.
19
+ */
20
+ export const renderInnerBlocks = ( {
21
+ children,
22
+ blockName: parentBlockName,
23
+ depth = 1,
24
+ } ) => {
25
+ const blockMap = getBlockMap( parentBlockName );
26
+
27
+ return Array.from( children ).map( ( el, index ) => {
28
+ const componentProps = {
29
+ ...el.dataset,
30
+ key: `${ parentBlockName }_${ depth }_${ index }`,
31
+ };
32
+
33
+ const componentChildren =
34
+ el.children && el.children.length
35
+ ? renderInnerBlocks( {
36
+ children: el.children,
37
+ blockName: parentBlockName,
38
+ depth: depth + 1,
39
+ } )
40
+ : null;
41
+
42
+ const LayoutComponent =
43
+ componentProps.blockName && blockMap[ componentProps.blockName ]
44
+ ? blockMap[ componentProps.blockName ]
45
+ : null;
46
+
47
+ if ( ! LayoutComponent ) {
48
+ const element = parse( el.outerHTML );
49
+
50
+ if ( isValidElement( element ) ) {
51
+ return componentChildren
52
+ ? cloneElement( element, componentProps, componentChildren )
53
+ : cloneElement( element, componentProps );
54
+ }
55
+ return null;
56
+ }
57
+
58
+ return (
59
+ // eslint-disable-next-line react/jsx-key
60
+ <LayoutComponent { ...componentProps }>
61
+ { componentChildren }
62
+ </LayoutComponent>
63
+ );
64
+ } );
65
+ };
assets/js/atomic/utils/render-parent-block.js ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { renderFrontend } from '@woocommerce/base-utils';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { renderInnerBlocks } from './render-inner-blocks';
10
+
11
+ /**
12
+ * Renders a block component in the place of a specified set of selectors.
13
+ *
14
+ * @param {Object} props Render props.
15
+ * @param {Function} props.Block React component to use as a replacement.
16
+ * @param {string} props.selector CSS selector to match the elements to replace.
17
+ * @param {string} [props.blockName] Optional Block Name. Used for inner block component mapping.
18
+ * @param {Function} [props.getProps] Function to generate the props object for the block.
19
+ */
20
+ export const renderParentBlock = ( {
21
+ Block,
22
+ selector,
23
+ blockName = '',
24
+ getProps = () => {},
25
+ } ) => {
26
+ const getPropsWithChildren = ( el, i ) => {
27
+ const children =
28
+ el.children && el.children.length
29
+ ? renderInnerBlocks( {
30
+ blockName,
31
+ children: el.children,
32
+ } )
33
+ : null;
34
+ return { ...getProps( el, i ), children };
35
+ };
36
+ renderFrontend( {
37
+ Block,
38
+ selector,
39
+ getProps: getPropsWithChildren,
40
+ } );
41
+ };
assets/js/base/components/block-error-boundary/style.scss CHANGED
@@ -9,7 +9,7 @@
9
  }
10
 
11
  .wc-block-error__header {
12
- font-size: 2em;
13
  font-weight: bold;
14
  margin: 0;
15
  }
9
  }
10
 
11
  .wc-block-error__header {
12
+ @include font-size(larger);
13
  font-weight: bold;
14
  margin: 0;
15
  }
assets/js/base/components/cart-checkout/button/style.scss CHANGED
@@ -1,11 +1,11 @@
1
  .wc-block-components-button:not(.is-link) {
 
2
  align-items: center;
3
  background-color: $black;
4
  color: $white;
5
  display: flex;
6
- font-size: inherit;
7
  font-weight: bold;
8
- min-height: rem(48px); // 16px * 3 = 48px, same height as text-input
9
  justify-content: center;
10
  line-height: 1;
11
  padding: 0 $gap-small;
1
  .wc-block-components-button:not(.is-link) {
2
+ @include reset-typography();
3
  align-items: center;
4
  background-color: $black;
5
  color: $white;
6
  display: flex;
 
7
  font-weight: bold;
8
+ min-height: 3em;
9
  justify-content: center;
10
  line-height: 1;
11
  padding: 0 $gap-small;
assets/js/base/components/cart-checkout/form-step/index.js CHANGED
@@ -3,6 +3,7 @@
3
  */
4
  import classnames from 'classnames';
5
  import PropTypes from 'prop-types';
 
6
 
7
  /**
8
  * Internal dependencies
@@ -11,12 +12,18 @@ import './style.scss';
11
 
12
  const StepHeading = ( { title, stepHeadingContent } ) => (
13
  <div className="wc-block-checkout-step__heading">
14
- <h4 aria-hidden="true" className="wc-block-checkout-step__title">
 
 
 
 
15
  { title }
16
- </h4>
17
- <span className="wc-block-checkout-step__heading-content">
18
- { stepHeadingContent }
19
- </span>
 
 
20
  </div>
21
  );
22
 
@@ -41,12 +48,16 @@ const FormStep = ( {
41
  title={ title }
42
  stepHeadingContent={ stepHeadingContent() }
43
  />
44
- { !! description && (
45
- <p className="wc-block-checkout-step__description">
46
- { description }
47
- </p>
48
- ) }
49
- <div className="wc-block-checkout-step__content">{ children }</div>
 
 
 
 
50
  </fieldset>
51
  );
52
  };
3
  */
4
  import classnames from 'classnames';
5
  import PropTypes from 'prop-types';
6
+ import Title from '@woocommerce/base-components/title';
7
 
8
  /**
9
  * Internal dependencies
12
 
13
  const StepHeading = ( { title, stepHeadingContent } ) => (
14
  <div className="wc-block-checkout-step__heading">
15
+ <Title
16
+ aria-hidden="true"
17
+ className="wc-block-checkout-step__title"
18
+ headingLevel="2"
19
+ >
20
  { title }
21
+ </Title>
22
+ { !! stepHeadingContent && (
23
+ <span className="wc-block-checkout-step__heading-content">
24
+ { stepHeadingContent }
25
+ </span>
26
+ ) }
27
  </div>
28
  );
29
 
48
  title={ title }
49
  stepHeadingContent={ stepHeadingContent() }
50
  />
51
+ <div className="wc-block-checkout-step__container">
52
+ { !! description && (
53
+ <p className="wc-block-checkout-step__description">
54
+ { description }
55
+ </p>
56
+ ) }
57
+ <div className="wc-block-checkout-step__content">
58
+ { children }
59
+ </div>
60
+ </div>
61
  </fieldset>
62
  );
63
  };
assets/js/base/components/cart-checkout/form-step/style.scss CHANGED
@@ -1,6 +1,3 @@
1
- $circle-size: 24px;
2
- $line-offset-from-circle-size: 8px;
3
-
4
  .wc-block-checkout-form {
5
  counter-reset: checkout-step;
6
  }
@@ -8,7 +5,7 @@ $line-offset-from-circle-size: 8px;
8
  .wc-block-checkout-form fieldset.wc-block-checkout-step {
9
  position: relative;
10
  border: none;
11
- padding: 0 0 $gap-larger $gap-larger;
12
  background: none;
13
  margin: 0;
14
 
@@ -17,6 +14,14 @@ $line-offset-from-circle-size: 8px;
17
  }
18
  }
19
 
 
 
 
 
 
 
 
 
20
  .wc-block-checkout-form fieldset.wc-block-checkout-step:disabled {
21
  opacity: 0.6;
22
  }
@@ -27,20 +32,19 @@ $line-offset-from-circle-size: 8px;
27
  align-content: center;
28
  flex-wrap: wrap;
29
  margin-bottom: $gap-smaller;
 
 
30
 
31
- .wc-block-checkout-step__title {
32
- @include font-size(16px);
33
- line-height: 1.5;
34
- color: $gray-80;
35
- font-weight: 400;
36
- margin: 0 $gap-small 0 0;
37
- }
38
  }
39
 
40
  .wc-block-checkout-step__heading-content {
41
- @include font-size(12px);
42
- line-height: 2;
43
  color: $gray-80;
 
 
44
 
45
  a {
46
  font-weight: bold;
@@ -49,42 +53,35 @@ $line-offset-from-circle-size: 8px;
49
  }
50
 
51
  .wc-block-checkout-step__description {
52
- @include font-size(14px);
53
  line-height: 1.25;
54
  color: $gray-60;
55
  margin-bottom: $gap;
56
  }
57
 
58
- .wc-block-checkout-step::before {
59
- @include font-size(14px);
 
60
  counter-increment: checkout-step;
61
- content: counter(checkout-step);
 
62
  position: absolute;
63
- width: $circle-size;
64
- height: $circle-size;
65
- left: 0;
66
  top: 0;
67
- background: $gray-20;
68
- color: $white;
69
- line-height: $circle-size;
70
  text-align: center;
71
- border-radius: $circle-size / 2;
72
- box-sizing: content-box;
73
  }
74
 
75
- // because themes can register different background colors, we can't always
76
- // relay on using white border to offest the step left line,
77
- .wc-block-checkout-step::after {
78
  content: "";
79
- // 1 Circle size + offset of the first circle and next circle.
80
- height: calc(100% - #{$circle-size + $line-offset-from-circle-size * 2});
81
- width: 1px;
82
- background-color: $gray-10;
83
  position: absolute;
84
- left: $circle-size/2;
85
- top: $circle-size + $line-offset-from-circle-size;
86
  }
87
 
88
- .wc-block-checkout-step:last-child::after {
89
  content: none;
90
  }
 
 
 
1
  .wc-block-checkout-form {
2
  counter-reset: checkout-step;
3
  }
5
  .wc-block-checkout-form fieldset.wc-block-checkout-step {
6
  position: relative;
7
  border: none;
8
+ padding: 0 0 0 $gap-larger;
9
  background: none;
10
  margin: 0;
11
 
14
  }
15
  }
16
 
17
+ .wc-block-checkout-step__container {
18
+ position: relative;
19
+ }
20
+
21
+ .wc-block-checkout-step__content {
22
+ padding-bottom: $gap-larger;
23
+ }
24
+
25
  .wc-block-checkout-form fieldset.wc-block-checkout-step:disabled {
26
  opacity: 0.6;
27
  }
32
  align-content: center;
33
  flex-wrap: wrap;
34
  margin-bottom: $gap-smaller;
35
+ position: relative;
36
+ }
37
 
38
+ .wc-block-checkout-step__title {
39
+ line-height: 1.5;
40
+ margin: 0 $gap-small 0 0;
 
 
 
 
41
  }
42
 
43
  .wc-block-checkout-step__heading-content {
44
+ @include font-size(smaller);
 
45
  color: $gray-80;
46
+ position: absolute;
47
+ right: 0;
48
 
49
  a {
50
  font-weight: bold;
53
  }
54
 
55
  .wc-block-checkout-step__description {
56
+ @include font-size(small);
57
  line-height: 1.25;
58
  color: $gray-60;
59
  margin-bottom: $gap;
60
  }
61
 
62
+ .wc-block-checkout-step__title::before {
63
+ @include reset-box();
64
+ background: transparent;
65
  counter-increment: checkout-step;
66
+ content: "\00a0" counter(checkout-step) ".";
67
+ content: "\00a0" counter(checkout-step) "." / "";
68
  position: absolute;
69
+ width: $gap-larger;
70
+ left: -$gap-larger/2;
 
71
  top: 0;
 
 
 
72
  text-align: center;
73
+ transform: translateX(-50%);
 
74
  }
75
 
76
+ .wc-block-checkout-step__container::after {
 
 
77
  content: "";
78
+ height: calc(100% - #{$gap-smaller});
79
+ border-left: 1px solid;
 
 
80
  position: absolute;
81
+ left: -$gap-larger/2;
82
+ top: 0;
83
  }
84
 
85
+ .wc-block-checkout-step:last-child .wc-block-checkout-step__container::after {
86
  content: none;
87
  }
assets/js/base/components/cart-checkout/index.js CHANGED
@@ -2,6 +2,7 @@ export { default as AddressForm } from './address-form';
2
  export { default as Button } from './button';
3
  export { default as CheckoutForm } from './form';
4
  export { default as FormStep } from './form-step';
 
5
  export { default as PlaceOrderButton } from './place-order-button';
6
  export { default as Policies } from './policies';
7
  export { default as ProductImage } from './product-image';
2
  export { default as Button } from './button';
3
  export { default as CheckoutForm } from './form';
4
  export { default as FormStep } from './form-step';
5
+ export { default as OrderSummary } from './order-summary';
6
  export { default as PlaceOrderButton } from './place-order-button';
7
  export { default as Policies } from './policies';
8
  export { default as ProductImage } from './product-image';
assets/js/base/components/cart-checkout/order-summary/index.js ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import PropTypes from 'prop-types';
6
+ import { useContainerWidthContext } from '@woocommerce/base-context';
7
+ import Panel from '@woocommerce/base-components/panel';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import OrderSummaryItem from './order-summary-item.js';
13
+ import './style.scss';
14
+
15
+ const OrderSummary = ( { cartItems = [] } ) => {
16
+ const { isLarge, hasContainerWidth } = useContainerWidthContext();
17
+
18
+ if ( ! hasContainerWidth ) {
19
+ return null;
20
+ }
21
+
22
+ return (
23
+ <Panel
24
+ className="wc-block-components-order-summary"
25
+ initialOpen={ isLarge }
26
+ title={
27
+ <span className="wc-block-components-order-summary__button-text">
28
+ { __( 'Order summary', 'woo-gutenberg-products-block' ) }
29
+ </span>
30
+ }
31
+ titleTag="h2"
32
+ >
33
+ <div className="wc-block-components-order-summary__content">
34
+ { cartItems.map( ( cartItem ) => {
35
+ return (
36
+ <OrderSummaryItem
37
+ key={ cartItem.key }
38
+ cartItem={ cartItem }
39
+ />
40
+ );
41
+ } ) }
42
+ </div>
43
+ </Panel>
44
+ );
45
+ };
46
+
47
+ OrderSummary.propTypes = {
48
+ cartItems: PropTypes.arrayOf(
49
+ PropTypes.shape( { key: PropTypes.string.isRequired } )
50
+ ),
51
+ };
52
+
53
+ export default OrderSummary;
assets/js/{blocks/cart-checkout/checkout/sidebar → base/components/cart-checkout/order-summary}/order-summary-item.js RENAMED
@@ -14,7 +14,7 @@ import {
14
  import PropTypes from 'prop-types';
15
  import Dinero from 'dinero.js';
16
 
17
- const CheckoutOrderSummaryItem = ( { cartItem } ) => {
18
  const {
19
  images,
20
  low_stock_remaining: lowStockRemaining = null,
@@ -37,9 +37,9 @@ const CheckoutOrderSummaryItem = ( { cartItem } ) => {
37
  .getAmount();
38
 
39
  return (
40
- <div className="wc-block-order-summary-item">
41
- <div className="wc-block-order-summary-item__image">
42
- <div className="wc-block-order-summary-item__quantity">
43
  <Label
44
  label={ quantity }
45
  screenReaderLabel={ sprintf(
@@ -51,11 +51,11 @@ const CheckoutOrderSummaryItem = ( { cartItem } ) => {
51
  </div>
52
  <ProductImage image={ images.length ? images[ 0 ] : {} } />
53
  </div>
54
- <div className="wc-block-order-summary-item__description">
55
- <div className="wc-block-order-summary-item__header">
56
  <ProductName permalink={ permalink } name={ name } />
57
  <ProductPrice
58
- className="wc-block-order-summary-item__total-price"
59
  currency={ currency }
60
  value={ linePrice }
61
  />
@@ -71,7 +71,7 @@ const CheckoutOrderSummaryItem = ( { cartItem } ) => {
71
  );
72
  };
73
 
74
- CheckoutOrderSummaryItem.propTypes = {
75
  cartItems: PropTypes.shape( {
76
  images: PropTypes.array,
77
  low_stock_remaining: PropTypes.number,
@@ -87,4 +87,4 @@ CheckoutOrderSummaryItem.propTypes = {
87
  } ),
88
  };
89
 
90
- export default CheckoutOrderSummaryItem;
14
  import PropTypes from 'prop-types';
15
  import Dinero from 'dinero.js';
16
 
17
+ const OrderSummaryItem = ( { cartItem } ) => {
18
  const {
19
  images,
20
  low_stock_remaining: lowStockRemaining = null,
37
  .getAmount();
38
 
39
  return (
40
+ <div className="wc-block-components-order-summary-item">
41
+ <div className="wc-block-components-order-summary-item__image">
42
+ <div className="wc-block-components-order-summary-item__quantity">
43
  <Label
44
  label={ quantity }
45
  screenReaderLabel={ sprintf(
51
  </div>
52
  <ProductImage image={ images.length ? images[ 0 ] : {} } />
53
  </div>
54
+ <div className="wc-block-components-order-summary-item__description">
55
+ <div className="wc-block-components-order-summary-item__header">
56
  <ProductName permalink={ permalink } name={ name } />
57
  <ProductPrice
58
+ className="wc-block-components-order-summary-item__total-price"
59
  currency={ currency }
60
  value={ linePrice }
61
  />
71
  );
72
  };
73
 
74
+ OrderSummaryItem.propTypes = {
75
  cartItems: PropTypes.shape( {
76
  images: PropTypes.array,
77
  low_stock_remaining: PropTypes.number,
87
  } ),
88
  };
89
 
90
+ export default OrderSummaryItem;
assets/js/base/components/cart-checkout/order-summary/style.scss ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-components-order-summary {
2
+ border: 0;
3
+ }
4
+
5
+ .wc-block-components-order-summary__content {
6
+ display: table;
7
+ width: 100%;
8
+ }
9
+
10
+ .wc-block-components-order-summary-item {
11
+ display: table-row;
12
+ width: 100%;
13
+
14
+ > div {
15
+ border-bottom: 1px solid $core-grey-light-600;
16
+ }
17
+
18
+ &:last-child {
19
+ > div {
20
+ border-bottom: none;
21
+ padding-bottom: 0;
22
+ }
23
+ }
24
+ }
25
+
26
+ .wc-block-components-order-summary-item__image,
27
+ .wc-block-components-order-summary-item__description {
28
+ display: table-cell;
29
+ vertical-align: top;
30
+ }
31
+
32
+ .wc-block-components-order-summary-item__image {
33
+ width: #{$gap-large * 2};
34
+ padding-top: $gap;
35
+ padding-bottom: $gap;
36
+ position: relative;
37
+
38
+ > img {
39
+ width: #{$gap-large * 2};
40
+ max-width: #{$gap-large * 2};
41
+ }
42
+ }
43
+
44
+ .wc-block-components-order-summary-item__quantity {
45
+ @include font-size(smaller);
46
+ align-items: center;
47
+ background: #fff;
48
+ border: 2px solid;
49
+ border-radius: 1em;
50
+ box-shadow: 0 0 0 2px #fff;
51
+ color: #000;
52
+ display: flex;
53
+ line-height: 1;
54
+ min-height: 20px;
55
+ padding: 0 0.4em;
56
+ position: absolute;
57
+ justify-content: center;
58
+ min-width: 20px;
59
+ right: 0;
60
+ top: $gap;
61
+ transform: translate(50%, -50%);
62
+ white-space: nowrap;
63
+ z-index: 1;
64
+ }
65
+
66
+ .wc-block-components-order-summary-item__description {
67
+ padding-left: $gap-large;
68
+ padding-top: $gap;
69
+ padding-bottom: $gap;
70
+ line-height: 1.375;
71
+
72
+ p,
73
+ .wc-block-product-metadata {
74
+ line-height: 1.375;
75
+ margin-top: #{ ( $gap-large - $gap ) / 2 };
76
+ }
77
+ }
78
+
79
+ .wc-block-components-order-summary-item__header {
80
+ display: flex;
81
+ flex-wrap: wrap;
82
+ justify-content: space-between;
83
+ }
assets/js/base/components/cart-checkout/policies/style.scss CHANGED
@@ -1,6 +1,6 @@
1
  .editor-styles-wrapper .wc-block-components-checkout-policies,
2
  .wc-block-components-checkout-policies {
3
- @include font-size(12px);
4
  text-align: center;
5
  list-style: none outside;
6
  line-height: 1;
1
  .editor-styles-wrapper .wc-block-components-checkout-policies,
2
  .wc-block-components-checkout-policies {
3
+ @include font-size(smaller);
4
  text-align: center;
5
  list-style: none outside;
6
  line-height: 1;
assets/js/base/components/cart-checkout/product-low-stock-badge/style.scss CHANGED
@@ -1,5 +1,5 @@
1
  .wc-block-low-stock-badge {
2
- @include font-size(12px);
3
  background-color: $white;
4
  border-radius: 3px;
5
  border: 1px solid $black;
1
  .wc-block-low-stock-badge {
2
+ @include font-size(smaller);
3
  background-color: $white;
4
  border-radius: 3px;
5
  border: 1px solid $black;
assets/js/base/components/cart-checkout/product-metadata/style.scss CHANGED
@@ -1,5 +1,5 @@
1
  .wc-block-product-metadata {
2
- @include font-size(12px);
3
  color: $core-grey-dark-400;
4
 
5
  p,
1
  .wc-block-product-metadata {
2
+ @include font-size(smaller);
3
  color: $core-grey-dark-400;
4
 
5
  p,
assets/js/base/components/cart-checkout/product-name/style.scss CHANGED
@@ -1,5 +1,5 @@
1
  .wc-block-product-name {
2
- @include font-size(16px);
3
  @include wrap-break-word();
4
  display: block;
5
  max-width: max-content;
1
  .wc-block-product-name {
2
+ @include font-size(regular);
3
  @include wrap-break-word();
4
  display: block;
5
  max-width: max-content;
assets/js/base/components/cart-checkout/product-sale-badge/style.scss CHANGED
@@ -1,5 +1,5 @@
1
  .wc-block-sale-badge {
2
- @include font-size(12px);
3
  background-color: $core-grey-dark-600;
4
  border-radius: 2px;
5
  color: $white;
1
  .wc-block-sale-badge {
2
+ @include font-size(smaller);
3
  background-color: $core-grey-dark-600;
4
  border-radius: 2px;
5
  color: $white;
assets/js/base/components/cart-checkout/shipping-calculator/style.scss CHANGED
@@ -3,10 +3,9 @@
3
  }
4
 
5
  .wc-block-shipping-calculator-address__button {
6
- margin-top: $gap;
7
  width: 100%;
8
  }
9
 
10
  .wc-block-cart__shipping-calculator {
11
- padding-top: $gap-large;
12
  }
3
  }
4
 
5
  .wc-block-shipping-calculator-address__button {
 
6
  width: 100%;
7
  }
8
 
9
  .wc-block-cart__shipping-calculator {
10
+ padding: em($gap-smaller) 0 em($gap-small);
11
  }
assets/js/base/components/cart-checkout/shipping-rates-control/package.js CHANGED
@@ -5,8 +5,9 @@ import PropTypes from 'prop-types';
5
  import { _n, sprintf } from '@wordpress/i18n';
6
  import { decodeEntities } from '@wordpress/html-entities';
7
  import Label from '@woocommerce/base-components/label';
 
 
8
  import classNames from 'classnames';
9
- import { PanelBody, PanelRow } from 'wordpress-components';
10
 
11
  /**
12
  * Internal dependencies
@@ -28,9 +29,12 @@ const Package = ( {
28
  const header = (
29
  <>
30
  { title && (
31
- <div className="wc-block-shipping-rates-control__package-title">
 
 
 
32
  { title }
33
- </div>
34
  ) }
35
  { showItems && (
36
  <ul className="wc-block-shipping-rates-control__package-items">
@@ -75,13 +79,13 @@ const Package = ( {
75
  );
76
  if ( collapsible ) {
77
  return (
78
- <PanelBody
79
  className="wc-block-shipping-rates-control__package"
80
- title={ header }
81
  initialOpen={ true }
 
82
  >
83
- <PanelRow>{ body }</PanelRow>
84
- </PanelBody>
85
  );
86
  }
87
  return (
5
  import { _n, sprintf } from '@wordpress/i18n';
6
  import { decodeEntities } from '@wordpress/html-entities';
7
  import Label from '@woocommerce/base-components/label';
8
+ import Title from '@woocommerce/base-components/title';
9
+ import Panel from '@woocommerce/base-components/panel';
10
  import classNames from 'classnames';
 
11
 
12
  /**
13
  * Internal dependencies
29
  const header = (
30
  <>
31
  { title && (
32
+ <Title
33
+ className="wc-block-shipping-rates-control__package-title"
34
+ headingLevel="3"
35
+ >
36
  { title }
37
+ </Title>
38
  ) }
39
  { showItems && (
40
  <ul className="wc-block-shipping-rates-control__package-items">
79
  );
80
  if ( collapsible ) {
81
  return (
82
+ <Panel
83
  className="wc-block-shipping-rates-control__package"
 
84
  initialOpen={ true }
85
+ title={ header }
86
  >
87
+ { body }
88
+ </Panel>
89
  );
90
  }
91
  return (
assets/js/base/components/cart-checkout/shipping-rates-control/style.scss CHANGED
@@ -1,13 +1,15 @@
1
- .wc-block-shipping-rates-control__package-title {
2
- font-weight: bold;
 
 
3
  }
4
 
5
  .wc-block-shipping-rates-control__package-items {
6
- @include font-size(14px);
7
  color: $core-grey-dark-400;
8
  display: block;
9
  list-style: none;
10
- margin: 0 0 $gap-small;
11
  padding: 0;
12
  }
13
 
@@ -29,7 +31,7 @@
29
  }
30
 
31
  .components-notice.wc-block-shipping-rates-control__no-results-notice {
32
- margin-bottom: $gap;
33
  }
34
 
35
  // Resets when it's inside a panel.
@@ -42,19 +44,6 @@
42
  padding-bottom: 0;
43
  }
44
 
45
- .components-panel__body-title {
46
- margin-bottom: 0;
47
- }
48
-
49
- .components-panel__body-toggle {
50
- padding-bottom: 14px;
51
- padding-top: 14px;
52
- }
53
-
54
- .wc-block-shipping-rates-control__package-title {
55
- font-weight: normal;
56
- }
57
-
58
  .wc-block-shipping-rates-control__package-items {
59
  margin: 0;
60
  }
1
+ .wc-block-shipping-rates-control__package {
2
+ .wc-block-shipping-rates-control__package-title {
3
+ margin: 0;
4
+ }
5
  }
6
 
7
  .wc-block-shipping-rates-control__package-items {
8
+ @include font-size(small);
9
  color: $core-grey-dark-400;
10
  display: block;
11
  list-style: none;
12
+ margin: 0;
13
  padding: 0;
14
  }
15
 
31
  }
32
 
33
  .components-notice.wc-block-shipping-rates-control__no-results-notice {
34
+ margin-bottom: 0;
35
  }
36
 
37
  // Resets when it's inside a panel.
44
  padding-bottom: 0;
45
  }
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  .wc-block-shipping-rates-control__package-items {
48
  margin: 0;
49
  }
assets/js/base/components/cart-checkout/totals/totals-coupon-code-input/index.js CHANGED
@@ -3,7 +3,6 @@
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { useState, useEffect, useRef } from '@wordpress/element';
6
- import { PanelBody, PanelRow } from 'wordpress-components';
7
  import { Button } from '@woocommerce/base-components/cart-checkout';
8
  import { ValidatedTextInput } from '@woocommerce/base-components/text-input';
9
  import Label from '@woocommerce/base-components/label';
@@ -12,6 +11,7 @@ import LoadingMask from '@woocommerce/base-components/loading-mask';
12
  import PropTypes from 'prop-types';
13
  import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
14
  import { useValidationContext } from '@woocommerce/base-context';
 
15
 
16
  /**
17
  * Internal dependencies
@@ -42,8 +42,9 @@ const TotalsCouponCodeInput = ( {
42
  const textInputId = `wc-block-coupon-code__input-${ instanceId }`;
43
 
44
  return (
45
- <PanelBody
46
  className="wc-block-coupon-code"
 
47
  title={
48
  <Label
49
  label={ __(
@@ -57,7 +58,7 @@ const TotalsCouponCodeInput = ( {
57
  htmlFor={ textInputId }
58
  />
59
  }
60
- initialOpen={ initialOpen }
61
  >
62
  <LoadingMask
63
  screenReaderLabel={ __(
@@ -67,7 +68,7 @@ const TotalsCouponCodeInput = ( {
67
  isLoading={ isLoading }
68
  showSpinner={ false }
69
  >
70
- <PanelRow className="wc-block-coupon-code__row">
71
  <form className="wc-block-coupon-code__form">
72
  <ValidatedTextInput
73
  id={ textInputId }
@@ -105,9 +106,9 @@ const TotalsCouponCodeInput = ( {
105
  propertyName="coupon"
106
  elementId={ textInputId }
107
  />
108
- </PanelRow>
109
  </LoadingMask>
110
- </PanelBody>
111
  );
112
  };
113
 
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { useState, useEffect, useRef } from '@wordpress/element';
 
6
  import { Button } from '@woocommerce/base-components/cart-checkout';
7
  import { ValidatedTextInput } from '@woocommerce/base-components/text-input';
8
  import Label from '@woocommerce/base-components/label';
11
  import PropTypes from 'prop-types';
12
  import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
13
  import { useValidationContext } from '@woocommerce/base-context';
14
+ import Panel from '@woocommerce/base-components/panel';
15
 
16
  /**
17
  * Internal dependencies
42
  const textInputId = `wc-block-coupon-code__input-${ instanceId }`;
43
 
44
  return (
45
+ <Panel
46
  className="wc-block-coupon-code"
47
+ initialOpen={ initialOpen }
48
  title={
49
  <Label
50
  label={ __(
58
  htmlFor={ textInputId }
59
  />
60
  }
61
+ titleTag="h2"
62
  >
63
  <LoadingMask
64
  screenReaderLabel={ __(
68
  isLoading={ isLoading }
69
  showSpinner={ false }
70
  >
71
+ <div className="wc-block-coupon-code__content">
72
  <form className="wc-block-coupon-code__form">
73
  <ValidatedTextInput
74
  id={ textInputId }
106
  propertyName="coupon"
107
  elementId={ textInputId }
108
  />
109
+ </div>
110
  </LoadingMask>
111
+ </Panel>
112
  );
113
  };
114
 
assets/js/base/components/cart-checkout/totals/totals-coupon-code-input/style.scss CHANGED
@@ -19,8 +19,9 @@
19
  }
20
  }
21
 
22
- .wc-block-coupon-code__row {
23
  flex-direction: column;
 
24
 
25
  .wc-block-form-input-validation-error {
26
  margin-top: $gap-smaller;
19
  }
20
  }
21
 
22
+ .wc-block-coupon-code__content {
23
  flex-direction: column;
24
+ position: relative;
25
 
26
  .wc-block-form-input-validation-error {
27
  margin-top: $gap-smaller;
assets/js/base/components/cart-checkout/totals/totals-footer-item/style.scss CHANGED
@@ -1,8 +1,8 @@
1
  .wc-block-totals-footer-item {
2
  .wc-block-totals-table-item__value,
3
  .wc-block-totals-table-item__label {
 
4
  color: #000;
5
- font-size: 1.25em;
6
  }
7
 
8
  .wc-block-totals-table-item__label {
1
  .wc-block-totals-footer-item {
2
  .wc-block-totals-table-item__value,
3
  .wc-block-totals-table-item__label {
4
+ @include font-size(large);
5
  color: #000;
 
6
  }
7
 
8
  .wc-block-totals-table-item__label {
assets/js/base/components/cart-checkout/totals/totals-item/style.scss CHANGED
@@ -1,7 +1,7 @@
1
  .wc-block-totals-table-item {
2
  display: flex;
3
  flex-wrap: wrap;
4
- padding: 0.625em 0;
5
  width: 100%;
6
  }
7
 
@@ -15,6 +15,6 @@
15
  }
16
 
17
  .wc-block-totals-table-item__description {
18
- @include font-size(14px);
19
  width: 100%;
20
  }
1
  .wc-block-totals-table-item {
2
  display: flex;
3
  flex-wrap: wrap;
4
+ padding: em($gap-small) 0;
5
  width: 100%;
6
  }
7
 
15
  }
16
 
17
  .wc-block-totals-table-item__description {
18
+ @include font-size(small);
19
  width: 100%;
20
  }
assets/js/base/components/cart-checkout/totals/totals-shipping-item/index.js CHANGED
@@ -48,45 +48,43 @@ const TotalsShippingItem = ( {
48
  // If we have no rates, and an address is needed.
49
  if ( ! hasRates && ! hasShippingAddress && ! isCheckout ) {
50
  return (
51
- <TotalsItem
52
- className="wc-block-shipping-totals"
53
- label={ __( 'Shipping', 'woo-gutenberg-products-block' ) }
54
- value={
55
- showCalculator ? (
56
- <button
57
- className="wc-block-shipping-totals__change-address-button"
58
- onClick={ () => {
59
- setIsShippingCalculatorOpen(
60
- ! isShippingCalculatorOpen
61
- );
62
- } }
63
- >
64
- { __(
65
- 'Calculate',
66
- 'woo-gutenberg-products-block'
67
- ) }
68
- </button>
69
- ) : (
70
- <em>
71
- { __(
72
- 'Calculated during checkout',
73
- 'woo-gutenberg-products-block'
74
- ) }
75
- </em>
76
- )
77
- }
78
- description={
79
- <>
80
- { showCalculator && isShippingCalculatorOpen && (
81
- <ShippingCalculator
82
- onUpdate={ () => {
83
- setIsShippingCalculatorOpen( false );
84
  } }
85
- />
86
- ) }
87
- </>
88
- }
89
- />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  );
91
  }
92
 
@@ -113,17 +111,17 @@ const TotalsShippingItem = ( {
113
  ) }
114
  </button>
115
  ) }
116
- { showCalculator && isShippingCalculatorOpen && (
117
- <ShippingCalculator
118
- onUpdate={ () => {
119
- setIsShippingCalculatorOpen( false );
120
- } }
121
- />
122
- ) }
123
  </>
124
  }
125
  currency={ currency }
126
  />
 
 
 
 
 
 
 
127
  { ! isCheckout && showingRates && (
128
  <ShippingRateSelector
129
  hasRates={ hasRates }
48
  // If we have no rates, and an address is needed.
49
  if ( ! hasRates && ! hasShippingAddress && ! isCheckout ) {
50
  return (
51
+ <>
52
+ <TotalsItem
53
+ className="wc-block-shipping-totals"
54
+ label={ __( 'Shipping', 'woo-gutenberg-products-block' ) }
55
+ value={
56
+ showCalculator ? (
57
+ <button
58
+ className="wc-block-shipping-totals__change-address-button"
59
+ onClick={ () => {
60
+ setIsShippingCalculatorOpen(
61
+ ! isShippingCalculatorOpen
62
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  } }
64
+ >
65
+ { __(
66
+ 'Calculate',
67
+ 'woo-gutenberg-products-block'
68
+ ) }
69
+ </button>
70
+ ) : (
71
+ <em>
72
+ { __(
73
+ 'Calculated during checkout',
74
+ 'woo-gutenberg-products-block'
75
+ ) }
76
+ </em>
77
+ )
78
+ }
79
+ />
80
+ { showCalculator && isShippingCalculatorOpen && (
81
+ <ShippingCalculator
82
+ onUpdate={ () => {
83
+ setIsShippingCalculatorOpen( false );
84
+ } }
85
+ />
86
+ ) }
87
+ </>
88
  );
89
  }
90
 
111
  ) }
112
  </button>
113
  ) }
 
 
 
 
 
 
 
114
  </>
115
  }
116
  currency={ currency }
117
  />
118
+ { showCalculator && isShippingCalculatorOpen && (
119
+ <ShippingCalculator
120
+ onUpdate={ () => {
121
+ setIsShippingCalculatorOpen( false );
122
+ } }
123
+ />
124
+ ) }
125
  { ! isCheckout && showingRates && (
126
  <ShippingRateSelector
127
  hasRates={ hasRates }
assets/js/base/components/chip/style.scss CHANGED
@@ -22,12 +22,12 @@
22
  padding-right: 0.5em;
23
  }
24
  .wc-block-components-chip__remove {
 
25
  background: transparent;
26
  border: 0;
27
  appearance: none;
28
  float: none;
29
  vertical-align: middle;
30
- font-size: 0.75em; // If chip is 16px, this is 12px.
31
  line-height: 1.33em;
32
  padding: 0.66em; // Should equate to ~8px; chip has ~6px padding, and font size difference/2 is 2px.
33
  margin: -0.66em;
22
  padding-right: 0.5em;
23
  }
24
  .wc-block-components-chip__remove {
25
+ @include font-size(smaller);
26
  background: transparent;
27
  border: 0;
28
  appearance: none;
29
  float: none;
30
  vertical-align: middle;
 
31
  line-height: 1.33em;
32
  padding: 0.66em; // Should equate to ~8px; chip has ~6px padding, and font size difference/2 is 2px.
33
  margin: -0.66em;
assets/js/base/components/dropdown-selector/style.scss CHANGED
@@ -19,14 +19,14 @@
19
  }
20
 
21
  .wc-block-dropdown-selector__placeholder {
22
- font-size: 0.8em;
23
  height: 1.8em;
24
  margin: 0 $gap-smallest;
25
  white-space: nowrap;
26
  }
27
 
28
  .wc-block-dropdown-selector__input {
29
- font-size: 0.8em;
30
  height: 1.8em;
31
  min-width: 0;
32
 
@@ -126,7 +126,7 @@
126
 
127
  .wc-block-dropdown-selector__selected-value__label,
128
  .wc-block-dropdown-selector__selected-chip__label {
129
- font-size: 0.8em;
130
  flex-grow: 1;
131
  padding: 0;
132
  text-align: left;
@@ -160,9 +160,9 @@
160
  }
161
 
162
  .wc-block-dropdown-selector__list-item {
 
163
  color: $core-grey-dark-600;
164
  cursor: default;
165
- font-size: 0.8em;
166
  list-style: none;
167
  margin: 0;
168
  padding: 0 $gap-smallest;
19
  }
20
 
21
  .wc-block-dropdown-selector__placeholder {
22
+ @include font-size(small);
23
  height: 1.8em;
24
  margin: 0 $gap-smallest;
25
  white-space: nowrap;
26
  }
27
 
28
  .wc-block-dropdown-selector__input {
29
+ @include font-size(small);
30
  height: 1.8em;
31
  min-width: 0;
32
 
126
 
127
  .wc-block-dropdown-selector__selected-value__label,
128
  .wc-block-dropdown-selector__selected-chip__label {
129
+ @include font-size(small);
130
  flex-grow: 1;
131
  padding: 0;
132
  text-align: left;
160
  }
161
 
162
  .wc-block-dropdown-selector__list-item {
163
+ @include font-size(small);
164
  color: $core-grey-dark-600;
165
  cursor: default;
 
166
  list-style: none;
167
  margin: 0;
168
  padding: 0 $gap-smallest;
assets/js/base/components/pagination/style.scss CHANGED
@@ -4,9 +4,9 @@
4
 
5
  .wc-block-pagination-page,
6
  .wc-block-pagination-ellipsis {
 
7
  color: #333;
8
  display: inline-block;
9
- font-size: 1em;
10
  font-weight: normal;
11
  }
12
 
4
 
5
  .wc-block-pagination-page,
6
  .wc-block-pagination-ellipsis {
7
+ @include font-size(regular);
8
  color: #333;
9
  display: inline-block;
 
10
  font-weight: normal;
11
  }
12
 
assets/js/base/components/panel/index.js ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { useState } from '@wordpress/element';
5
+ import classNames from 'classnames';
6
+ import PropTypes from 'prop-types';
7
+ import { Icon, chevronUp, chevronDown } from '@woocommerce/icons';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import './style.scss';
13
+
14
+ const Panel = ( {
15
+ children,
16
+ className,
17
+ initialOpen = false,
18
+ title,
19
+ titleTag: TitleTag = 'div',
20
+ } ) => {
21
+ const [ isOpen, setIsOpen ] = useState( initialOpen );
22
+
23
+ return (
24
+ <div
25
+ className={ classNames( className, 'wc-blocks-components-panel' ) }
26
+ >
27
+ <TitleTag>
28
+ <button
29
+ aria-expanded={ isOpen }
30
+ className="wc-blocks-components-panel__button"
31
+ onClick={ () => setIsOpen( ! isOpen ) }
32
+ >
33
+ <Icon
34
+ aria-hidden="true"
35
+ className="wc-blocks-components-panel__button-icon"
36
+ srcElement={ isOpen ? chevronUp : chevronDown }
37
+ />
38
+ { title }
39
+ </button>
40
+ </TitleTag>
41
+ <div
42
+ className="wc-blocks-components-panel__content"
43
+ hidden={ ! isOpen }
44
+ >
45
+ { children }
46
+ </div>
47
+ </div>
48
+ );
49
+ };
50
+
51
+ Panel.propTypes = {
52
+ className: PropTypes.string,
53
+ initialOpen: PropTypes.bool,
54
+ title: PropTypes.element,
55
+ titleTag: PropTypes.string,
56
+ };
57
+
58
+ export default Panel;
assets/js/base/components/panel/style.scss ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-blocks-components-panel__button {
2
+ &,
3
+ &:hover,
4
+ &:focus,
5
+ &:active {
6
+ @include reset-box();
7
+ @include reset-typography();
8
+ background: transparent;
9
+ box-shadow: none;
10
+ height: auto;
11
+ line-height: 1;
12
+ margin-bottom: em(6px);
13
+ margin-top: em(6px);
14
+ padding-bottom: em($gap-small - 6px);
15
+ padding-right: #{24px + $gap-smaller};
16
+ padding-top: em($gap-small - 6px);
17
+ position: relative;
18
+ text-align: left;
19
+ width: 100%;
20
+ }
21
+
22
+ > .wc-blocks-components-panel__button-icon {
23
+ position: absolute;
24
+ right: 0;
25
+ top: 50%;
26
+ transform: translateY(-50%);
27
+ width: auto;
28
+ }
29
+ }
30
+
31
+ .wc-blocks-components-panel__content {
32
+ padding-bottom: em($gap);
33
+ }
34
+
35
+ .theme-twentytwenty .wc-blocks-components-panel__button {
36
+ background: transparent;
37
+ }
assets/js/base/components/payment-methods/express-checkout.js CHANGED
@@ -4,6 +4,7 @@
4
  import { __ } from '@wordpress/i18n';
5
  import { useExpressPaymentMethods } from '@woocommerce/base-hooks';
6
  import { StoreNoticesProvider } from '@woocommerce/base-context';
 
7
 
8
  /**
9
  * Internal dependencies
@@ -14,17 +15,20 @@ import './style.scss';
14
  const ExpressCheckoutContainer = ( { children } ) => {
15
  return (
16
  <>
17
- <div className="wc-block-component-express-checkout">
18
- <div className="wc-block-component-express-checkout__title">
 
 
 
19
  { __( 'Express checkout', 'woo-gutenberg-products-block' ) }
20
- </div>
21
- <div className="wc-block-component-express-checkout__content">
22
  <StoreNoticesProvider context="wc/express-payment-area">
23
  { children }
24
  </StoreNoticesProvider>
25
  </div>
26
  </div>
27
- <div className="wc-block-component-express-checkout-continue-rule">
28
  { __( 'Or continue below', 'woo-gutenberg-products-block' ) }
29
  </div>
30
  </>
@@ -34,8 +38,6 @@ const ExpressCheckoutContainer = ( { children } ) => {
34
  const ExpressCheckoutFormControl = () => {
35
  const { paymentMethods, isInitialized } = useExpressPaymentMethods();
36
 
37
- // determine whether we even show this
38
- // @todo if in the editor we probably would want to show a placeholder maybe?
39
  if (
40
  ! isInitialized ||
41
  ( isInitialized && Object.keys( paymentMethods ).length === 0 )
4
  import { __ } from '@wordpress/i18n';
5
  import { useExpressPaymentMethods } from '@woocommerce/base-hooks';
6
  import { StoreNoticesProvider } from '@woocommerce/base-context';
7
+ import Title from '@woocommerce/base-components/title';
8
 
9
  /**
10
  * Internal dependencies
15
  const ExpressCheckoutContainer = ( { children } ) => {
16
  return (
17
  <>
18
+ <div className="wc-block-components-express-checkout">
19
+ <Title
20
+ className="wc-block-components-express-checkout__title"
21
+ headingLevel="2"
22
+ >
23
  { __( 'Express checkout', 'woo-gutenberg-products-block' ) }
24
+ </Title>
25
+ <div className="wc-block-components-express-checkout__content">
26
  <StoreNoticesProvider context="wc/express-payment-area">
27
  { children }
28
  </StoreNoticesProvider>
29
  </div>
30
  </div>
31
+ <div className="wc-block-components-express-checkout-continue-rule">
32
  { __( 'Or continue below', 'woo-gutenberg-products-block' ) }
33
  </div>
34
  </>
38
  const ExpressCheckoutFormControl = () => {
39
  const { paymentMethods, isInitialized } = useExpressPaymentMethods();
40
 
 
 
41
  if (
42
  ! isInitialized ||
43
  ( isInitialized && Object.keys( paymentMethods ).length === 0 )
assets/js/base/components/payment-methods/express-payment-methods.js CHANGED
@@ -59,7 +59,7 @@ const ExpressPaymentMethods = () => {
59
  <li key="noneRegistered">No registered Payment Methods</li>
60
  );
61
  return (
62
- <ul className="wc-block-component-express-checkout-payment-event-buttons">
63
  { content }
64
  </ul>
65
  );
59
  <li key="noneRegistered">No registered Payment Methods</li>
60
  );
61
  return (
62
+ <ul className="wc-block-components-express-checkout-payment-event-buttons">
63
  { content }
64
  </ul>
65
  );
assets/js/base/components/payment-methods/saved-payment-method-options.js CHANGED
@@ -45,6 +45,7 @@ const getCcOrEcheckPaymentMethodOption = (
45
  setPaymentStatus().success( {
46
  payment_method: method.gateway,
47
  [ savedTokenKey ]: token,
 
48
  } );
49
  },
50
  };
@@ -77,6 +78,7 @@ const getDefaultPaymentMethodOptions = (
77
  setPaymentStatus().success( {
78
  payment_method: method.gateway,
79
  [ savedTokenKey ]: token,
 
80
  } );
81
  },
82
  };
45
  setPaymentStatus().success( {
46
  payment_method: method.gateway,
47
  [ savedTokenKey ]: token,
48
+ isSavedToken: true,
49
  } );
50
  },
51
  };
78
  setPaymentStatus().success( {
79
  payment_method: method.gateway,
80
  [ savedTokenKey ]: token,
81
+ isSavedToken: true,
82
  } );
83
  },
84
  };
assets/js/base/components/payment-methods/style.scss CHANGED
@@ -1,28 +1,28 @@
1
- .wc-block-component-express-checkout {
2
  margin: auto;
3
  border: 2px solid $black;
4
  border-radius: 5px;
5
  padding: 8px;
 
6
 
7
- .wc-block-component-express-checkout__title {
8
- position: relative;
9
  background-color: $white;
10
  padding-left: $gap-small;
11
  padding-right: $gap-small;
12
- margin-top: -24px;
13
  margin-left: $gap-small;
14
- margin-bottom: $gap-small;
15
- color: $black;
16
- font-weight: bold;
17
  display: inline-block;
18
  vertical-align: middle;
 
 
 
 
19
  }
20
 
21
- .wc-block-component-express-checkout__content {
22
- padding: 0 $gap-large;
23
  }
24
 
25
- .wc-block-component-express-checkout-payment-event-buttons {
26
  list-style: none;
27
  display: flex;
28
  flex-direction: row;
@@ -55,7 +55,7 @@
55
 
56
  .wc-block-gateway-container {
57
  position: relative;
58
- margin-bottom: $gap;
59
  white-space: nowrap;
60
 
61
  &.wc-card-number-element {
@@ -69,9 +69,10 @@
69
  }
70
 
71
  .wc-block-gateway-input {
72
- @include font-size(16px, 22px);
 
73
  background-color: #fff;
74
- padding: $gap-small $gap;
75
  border-radius: 4px;
76
  border: 1px solid $input-border-gray;
77
  width: 100%;
@@ -80,6 +81,7 @@
80
  box-sizing: border-box;
81
  height: 3em;
82
  color: $input-text-active;
 
83
 
84
  &:focus {
85
  background-color: #fff;
@@ -92,7 +94,8 @@
92
 
93
  label {
94
  @include reset-typography();
95
- @include font-size(16px, 22px);
 
96
  position: absolute;
97
  transform: translateY(0.75em);
98
  left: 0;
@@ -104,6 +107,7 @@
104
  overflow: hidden;
105
  text-overflow: ellipsis;
106
  max-width: calc(100% - #{2 * $gap});
 
107
 
108
  @media screen and (prefers-reduced-motion: reduce) {
109
  transition: none;
@@ -129,7 +133,7 @@
129
 
130
  .wc-block-gateway-input.focused.empty,
131
  .wc-block-gateway-input:not(.empty) {
132
- padding: rem($gap-large) $gap rem($gap-smallest);
133
  & + label {
134
  transform: translateY(#{$gap-smallest}) scale(0.75);
135
  }
@@ -147,6 +151,29 @@
147
  }
148
  }
149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  .wc-blocks-credit-card-images {
151
  padding-top: $gap-small;
152
  display: flex;
@@ -186,3 +213,12 @@
186
  margin-left: $gap-smaller;
187
  }
188
  }
 
 
 
 
 
 
 
 
 
1
+ .wc-block-components-express-checkout {
2
  margin: auto;
3
  border: 2px solid $black;
4
  border-radius: 5px;
5
  padding: 8px;
6
+ position: relative;
7
 
8
+ .wc-block-components-express-checkout__title {
 
9
  background-color: $white;
10
  padding-left: $gap-small;
11
  padding-right: $gap-small;
 
12
  margin-left: $gap-small;
 
 
 
13
  display: inline-block;
14
  vertical-align: middle;
15
+ transform: translateY(-50%);
16
+ position: absolute;
17
+ top: 0;
18
+ margin-top: -2px; // Same as container border width.
19
  }
20
 
21
+ .wc-block-components-express-checkout__content {
22
+ padding: $gap $gap-large 0;
23
  }
24
 
25
+ .wc-block-components-express-checkout-payment-event-buttons {
26
  list-style: none;
27
  display: flex;
28
  flex-direction: row;
55
 
56
  .wc-block-gateway-container {
57
  position: relative;
58
+ margin-bottom: em($gap-large);
59
  white-space: nowrap;
60
 
61
  &.wc-card-number-element {
69
  }
70
 
71
  .wc-block-gateway-input {
72
+ @include font-size(regular);
73
+ line-height: 1.375; // =22px when font-size is 16px.
74
  background-color: #fff;
75
+ padding: em($gap-small) $gap;
76
  border-radius: 4px;
77
  border: 1px solid $input-border-gray;
78
  width: 100%;
81
  box-sizing: border-box;
82
  height: 3em;
83
  color: $input-text-active;
84
+ cursor: text;
85
 
86
  &:focus {
87
  background-color: #fff;
94
 
95
  label {
96
  @include reset-typography();
97
+ @include font-size(regular);
98
+ line-height: 1.375; // =22px when font-size is 16px.
99
  position: absolute;
100
  transform: translateY(0.75em);
101
  left: 0;
107
  overflow: hidden;
108
  text-overflow: ellipsis;
109
  max-width: calc(100% - #{2 * $gap});
110
+ cursor: text;
111
 
112
  @media screen and (prefers-reduced-motion: reduce) {
113
  transition: none;
133
 
134
  .wc-block-gateway-input.focused.empty,
135
  .wc-block-gateway-input:not(.empty) {
136
+ padding: em($gap-large) $gap em($gap-smallest);
137
  & + label {
138
  transform: translateY(#{$gap-smallest}) scale(0.75);
139
  }
151
  }
152
  }
153
 
154
+ // These elements have available space below, so we can display errors with a
155
+ // larger line height.
156
+ .is-medium,
157
+ .is-large {
158
+ .wc-card-expiry-element,
159
+ .wc-card-cvc-element {
160
+ .wc-block-form-input-validation-error > p {
161
+ line-height: 16px;
162
+ padding-top: 4px;
163
+ }
164
+ }
165
+ }
166
+
167
+ .is-mobile,
168
+ .is-small {
169
+ .wc-card-expiry-element,
170
+ .wc-card-cvc-element {
171
+ .wc-block-form-input-validation-error > p {
172
+ min-height: 28px;
173
+ }
174
+ }
175
+ }
176
+
177
  .wc-blocks-credit-card-images {
178
  padding-top: $gap-small;
179
  display: flex;
213
  margin-left: $gap-smaller;
214
  }
215
  }
216
+
217
+ // For Twenty Twenty we need to increase specificity of the title.
218
+ .theme-twentytwenty {
219
+ .wc-block-components-express-checkout .wc-block-components-express-checkout__title {
220
+ padding-left: $gap-small;
221
+ padding-right: $gap-small;
222
+ margin-left: $gap-small;
223
+ }
224
+ }
assets/js/base/components/product-list-item/index.js CHANGED
@@ -3,10 +3,7 @@
3
  */
4
  import PropTypes from 'prop-types';
5
  import classnames from 'classnames';
6
- import {
7
- useInnerBlockConfigurationContext,
8
- useProductLayoutContext,
9
- } from '@woocommerce/base-context';
10
  import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
11
 
12
  /**
@@ -16,11 +13,11 @@ import { renderProductLayout } from './utils';
16
 
17
  const ProductListItem = ( { product, attributes, instanceId } ) => {
18
  const { layoutConfig } = attributes;
19
- const { parentName } = useInnerBlockConfigurationContext();
20
- const { layoutStyleClassPrefix } = useProductLayoutContext();
21
  const isLoading = Object.keys( product ).length === 0;
22
- const classes = classnames( `${ layoutStyleClassPrefix }__product`, {
23
  'is-loading': isLoading,
 
24
  } );
25
 
26
  return (
3
  */
4
  import PropTypes from 'prop-types';
5
  import classnames from 'classnames';
6
+ import { useInnerBlockLayoutContext } from '@woocommerce/shared-context';
 
 
 
7
  import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
8
 
9
  /**
13
 
14
  const ProductListItem = ( { product, attributes, instanceId } ) => {
15
  const { layoutConfig } = attributes;
16
+ const { parentClassName, parentName } = useInnerBlockLayoutContext();
 
17
  const isLoading = Object.keys( product ).length === 0;
18
+ const classes = classnames( `${ parentClassName }__product`, {
19
  'is-loading': isLoading,
20
+ 'wc-block-layout--is-loading': isLoading, // This can be removed when switching to inner block rendering.
21
  } );
22
 
23
  return (
assets/js/base/components/product-list-item/utils.js CHANGED
@@ -1,7 +1,7 @@
1
  /**
2
- * Internal dependencies
3
  */
4
- import { getBlockMap } from '../../../blocks/products/base-utils';
5
 
6
  /**
7
  * Maps a layout config into atomic components.
1
  /**
2
+ * External dependencies
3
  */
4
+ import { getBlockMap } from '@woocommerce/atomic-utils';
5
 
6
  /**
7
  * Maps a layout config into atomic components.
assets/js/base/components/product-list/index.js CHANGED
@@ -16,7 +16,7 @@ import {
16
  useQueryStateByKey,
17
  } from '@woocommerce/base-hooks';
18
  import withScrollToTop from '@woocommerce/base-hocs/with-scroll-to-top';
19
- import { useProductLayoutContext } from '@woocommerce/base-context';
20
  import { speak } from '@wordpress/a11y';
21
 
22
  /**
@@ -114,7 +114,7 @@ const ProductList = ( {
114
  const { products, totalProducts, productsLoading } = useStoreProducts(
115
  queryState
116
  );
117
- const { layoutStyleClassPrefix } = useProductLayoutContext();
118
  const totalQuery = extractPaginationAndSortAttributes( queryState );
119
 
120
  // These are possible filters.
@@ -162,7 +162,7 @@ const ProductList = ( {
162
  const alignClass = typeof align !== 'undefined' ? 'align' + align : '';
163
 
164
  return classnames(
165
- layoutStyleClassPrefix,
166
  alignClass,
167
  'has-' + columns + '-columns',
168
  {
@@ -206,7 +206,7 @@ const ProductList = ( {
206
  ) }
207
  { ! hasProducts && ! hasFilters && <NoProducts /> }
208
  { hasProducts && (
209
- <ul className={ `${ layoutStyleClassPrefix }__products` }>
210
  { listProducts.map( ( product = {}, i ) => (
211
  <ProductListItem
212
  key={ product.id || i }
16
  useQueryStateByKey,
17
  } from '@woocommerce/base-hooks';
18
  import withScrollToTop from '@woocommerce/base-hocs/with-scroll-to-top';
19
+ import { useInnerBlockLayoutContext } from '@woocommerce/shared-context';
20
  import { speak } from '@wordpress/a11y';
21
 
22
  /**
114
  const { products, totalProducts, productsLoading } = useStoreProducts(
115
  queryState
116
  );
117
+ const { parentClassName } = useInnerBlockLayoutContext();
118
  const totalQuery = extractPaginationAndSortAttributes( queryState );
119
 
120
  // These are possible filters.
162
  const alignClass = typeof align !== 'undefined' ? 'align' + align : '';
163
 
164
  return classnames(
165
+ parentClassName,
166
  alignClass,
167
  'has-' + columns + '-columns',
168
  {
206
  ) }
207
  { ! hasProducts && ! hasFilters && <NoProducts /> }
208
  { hasProducts && (
209
+ <ul className={ `${ parentClassName }__products` }>
210
  { listProducts.map( ( product = {}, i ) => (
211
  <ProductListItem
212
  key={ product.id || i }
assets/js/base/components/product-list/no-matching-products.js CHANGED
@@ -2,27 +2,23 @@
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
- import { useProductLayoutContext } from '@woocommerce/base-context';
6
  import { Icon, search } from '@woocommerce/icons';
7
 
8
  const NoMatchingProducts = ( { resetCallback = () => {} } ) => {
9
- const { layoutStyleClassPrefix } = useProductLayoutContext();
10
  return (
11
- <div className={ `${ layoutStyleClassPrefix }__no-products` }>
12
  <Icon
13
- className={ `${ layoutStyleClassPrefix }__no-products-image` }
14
  alt=""
15
  srcElement={ search }
16
  size={ 100 }
17
  />
18
- <strong
19
- className={ `${ layoutStyleClassPrefix }__no-products-title` }
20
- >
21
  { __( 'No products found', 'woo-gutenberg-products-block' ) }
22
  </strong>
23
- <p
24
- className={ `${ layoutStyleClassPrefix }__no-products-description` }
25
- >
26
  { __(
27
  'We were unable to find any results based on your search.',
28
  'woo-gutenberg-products-block'
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
+ import { useInnerBlockLayoutContext } from '@woocommerce/shared-context';
6
  import { Icon, search } from '@woocommerce/icons';
7
 
8
  const NoMatchingProducts = ( { resetCallback = () => {} } ) => {
9
+ const { parentClassName } = useInnerBlockLayoutContext();
10
  return (
11
+ <div className={ `${ parentClassName }__no-products` }>
12
  <Icon
13
+ className={ `${ parentClassName }__no-products-image` }
14
  alt=""
15
  srcElement={ search }
16
  size={ 100 }
17
  />
18
+ <strong className={ `${ parentClassName }__no-products-title` }>
 
 
19
  { __( 'No products found', 'woo-gutenberg-products-block' ) }
20
  </strong>
21
+ <p className={ `${ parentClassName }__no-products-description` }>
 
 
22
  { __(
23
  'We were unable to find any results based on your search.',
24
  'woo-gutenberg-products-block'
assets/js/base/components/product-list/no-products.js CHANGED
@@ -2,27 +2,23 @@
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
- import { useProductLayoutContext } from '@woocommerce/base-context';
6
  import { Icon, notice } from '@woocommerce/icons';
7
 
8
  const NoProducts = () => {
9
- const { layoutStyleClassPrefix } = useProductLayoutContext();
10
  return (
11
- <div className={ `${ layoutStyleClassPrefix }__no-products` }>
12
  <Icon
13
- className={ `${ layoutStyleClassPrefix }__no-products-image` }
14
  alt=""
15
  srcElement={ notice }
16
  size={ 100 }
17
  />
18
- <strong
19
- className={ `${ layoutStyleClassPrefix }__no-products-title` }
20
- >
21
  { __( 'No products', 'woo-gutenberg-products-block' ) }
22
  </strong>
23
- <p
24
- className={ `${ layoutStyleClassPrefix }__no-products-description` }
25
- >
26
  { __(
27
  'There are currently no products available to display.',
28
  'woo-gutenberg-products-block'
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
+ import { useInnerBlockLayoutContext } from '@woocommerce/shared-context';
6
  import { Icon, notice } from '@woocommerce/icons';
7
 
8
  const NoProducts = () => {
9
+ const { parentClassName } = useInnerBlockLayoutContext();
10
  return (
11
+ <div className={ `${ parentClassName }__no-products` }>
12
  <Icon
13
+ className={ `${ parentClassName }__no-products-image` }
14
  alt=""
15
  srcElement={ notice }
16
  size={ 100 }
17
  />
18
+ <strong className={ `${ parentClassName }__no-products-title` }>
 
 
19
  { __( 'No products', 'woo-gutenberg-products-block' ) }
20
  </strong>
21
+ <p className={ `${ parentClassName }__no-products-description` }>
 
 
22
  { __(
23
  'There are currently no products available to display.',
24
  'woo-gutenberg-products-block'
assets/js/base/components/product-list/style.scss CHANGED
@@ -55,232 +55,14 @@
55
  list-style: none;
56
  }
57
 
58
- // Extra specificity to avoid editor styles on linked images.
59
- .entry-content .wc-block-grid__product-image,
60
- .wc-block-grid__product-image {
61
- text-decoration: none;
62
- display: block;
63
- position: relative;
64
-
65
- a {
66
- text-decoration: none;
67
- border: 0;
68
- outline: 0;
69
- box-shadow: none;
70
- }
71
-
72
- .wc-block-grid__product-image__image {
73
- vertical-align: middle;
74
- width: 100%;
75
-
76
- &[hidden] {
77
- display: none;
78
- }
79
-
80
- .is-loading & {
81
- @include placeholder();
82
- height: 0;
83
- padding-bottom: 100%;
84
- }
85
- }
86
- }
87
-
88
- .edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,
89
- .editor-styles-wrapper .wc-block-grid__product-title,
90
- .wc-block-grid__product-title {
91
- line-height: 1.2em;
92
- font-weight: 700;
93
- padding: 0;
94
- color: inherit;
95
- font-size: inherit;
96
- display: block;
97
-
98
- .is-loading &::before {
99
- @include placeholder();
100
- content: ".";
101
- display: inline-block;
102
- width: 6em;
103
- }
104
- }
105
-
106
- .wc-block-grid__product-price {
107
- display: block;
108
-
109
- .wc-block-grid__product-price__regular {
110
- font-size: 0.8em;
111
- line-height: 1;
112
- color: #555;
113
- margin-top: -0.25em;
114
- display: block;
115
- }
116
- .wc-block-grid__product-price__value {
117
- letter-spacing: -1px;
118
- font-weight: 600;
119
- display: block;
120
- font-size: 1.25em;
121
- line-height: 1.25;
122
- color: #000;
123
- span {
124
- white-space: nowrap;
125
- }
126
- .is-loading &::before {
127
- @include placeholder();
128
- content: ".";
129
- display: inline-block;
130
- width: 3em;
131
- }
132
- }
133
- }
134
-
135
- .wc-block-grid__product-add-to-cart {
136
- word-break: break-word;
137
- white-space: normal;
138
- a,
139
- button {
140
- word-break: break-word;
141
- white-space: normal;
142
- margin: 0 auto !important;
143
- display: inline-flex;
144
- justify-content: center;
145
-
146
- &.loading {
147
- opacity: 0.25;
148
- }
149
-
150
- &::after {
151
- margin-left: 0.5em;
152
- display: inline-block;
153
- }
154
-
155
- &.added::after {
156
- font-family: WooCommerce; /* stylelint-disable-line */
157
- content: "\e017";
158
- }
159
-
160
- &.loading::after {
161
- font-family: WooCommerce; /* stylelint-disable-line */
162
- content: "\e031";
163
- animation: spin 2s linear infinite;
164
- }
165
-
166
- .is-loading & {
167
- @include placeholder();
168
- min-width: 7em;
169
- }
170
- }
171
- }
172
-
173
- .wc-block-grid__product-rating {
174
- display: block;
175
-
176
- .wc-block-grid__product-rating__stars,
177
- .star-rating {
178
- overflow: hidden;
179
- position: relative;
180
- width: 5.3em;
181
- height: 1.618em;
182
- line-height: 1.618;
183
- font-size: 1em;
184
- /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
185
- font-family: star;
186
- font-weight: 400;
187
- margin: 0 auto;
188
- text-align: left;
189
-
190
- &::before {
191
- content: "\53\53\53\53\53";
192
- top: 0;
193
- left: 0;
194
- right: 0;
195
- position: absolute;
196
- opacity: 0.5;
197
- color: #aaa;
198
- white-space: nowrap;
199
- }
200
- span {
201
- overflow: hidden;
202
- top: 0;
203
- left: 0;
204
- right: 0;
205
- position: absolute;
206
- padding-top: 1.5em;
207
- }
208
- span::before {
209
- content: "\53\53\53\53\53";
210
- top: 0;
211
- left: 0;
212
- right: 0;
213
- position: absolute;
214
- color: #000;
215
- white-space: nowrap;
216
- }
217
- }
218
- }
219
-
220
- .wc-block-grid__product-onsale {
221
- border: 1px solid #43454b;
222
- color: #43454b;
223
- background: #fff;
224
- padding: 0.202em 0.6180469716em;
225
- font-size: 0.875rem;
226
- text-align: center;
227
- text-transform: uppercase;
228
- font-weight: 600;
229
- display: inline-block;
230
- width: auto;
231
- border-radius: 3px;
232
- z-index: 9;
233
- position: relative;
234
- margin: $gap-smaller auto;
235
- }
236
-
237
- .editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-image,
238
- .wc-block-grid__product-image {
239
- .wc-block-grid__product-onsale {
240
- &.wc-block-grid__product-onsale--alignleft {
241
- position: absolute;
242
- left: $gap-smaller/2;
243
- top: $gap-smaller/2;
244
- right: auto;
245
- margin: 0;
246
- }
247
- &.wc-block-grid__product-onsale--aligncenter {
248
- position: absolute;
249
- top: $gap-smaller/2;
250
- left: 50%;
251
- transform: translateX(-50%);
252
- margin: 0;
253
- }
254
- &.wc-block-grid__product-onsale--alignright {
255
- position: absolute;
256
- right: $gap-smaller/2;
257
- top: $gap-smaller/2;
258
- left: auto;
259
- margin: 0;
260
- }
261
- }
262
- }
263
-
264
- // Element spacing.
265
- .wc-block-grid__product {
266
- .wc-block-grid__product-image,
267
- .wc-block-grid__product-title,
268
- .wc-block-grid__product-price,
269
- .wc-block-grid__product-rating,
270
- .wc-block-grid__product-add-to-cart {
271
- margin-top: 0;
272
- margin-bottom: $gap-small;
273
- }
274
- }
275
-
276
  .wc-block-grid {
277
  &.has-aligned-buttons {
278
  .wc-block-grid__product {
279
  display: flex;
280
  flex-direction: column;
281
  }
282
- .wc-block-grid__product > .wc-block-grid__product-title:last-child,
283
- .wc-block-grid__product > div:last-child {
284
  margin-top: auto;
285
  margin-bottom: 0;
286
  padding-bottom: $gap-small;
@@ -303,7 +85,6 @@
303
  }
304
  }
305
 
306
- // Responsive media styles.
307
  @include breakpoint( "<480px" ) {
308
  .wc-block-grid {
309
  @for $i from 2 to 9 {
@@ -320,11 +101,9 @@
320
  }
321
  }
322
  }
323
- .wc-block-grid__product-image img {
324
- width: 100%;
325
- }
326
  }
327
  }
 
328
  @include breakpoint( "480px-600px" ) {
329
  .wc-block-grid {
330
  @for $i from 2 to 9 {
@@ -346,104 +125,5 @@
346
  }
347
  }
348
  }
349
- .wc-block-grid__product-image img {
350
- width: 100%;
351
- }
352
- }
353
- }
354
-
355
- .theme-twentysixteen {
356
- .wc-block-grid {
357
- // Prevent white theme styles.
358
- .price ins {
359
- color: #77a464;
360
- }
361
- }
362
- }
363
-
364
- .theme-twentynineteen {
365
- .wc-block-grid__product {
366
- font-size: 0.88889em;
367
- }
368
- // Change the title font to match headings.
369
- .wc-block-grid__product-title,
370
- .wc-block-grid__product-onsale {
371
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
372
- }
373
- .wc-block-grid__product-title::before {
374
- display: none;
375
- }
376
- .wc-block-grid__product-onsale {
377
- line-height: 1;
378
- }
379
- }
380
-
381
- .theme-twentytwenty {
382
- $twentytwenty-headings: -apple-system, blinkmacsystemfont, "Helvetica Neue", helvetica, sans-serif;
383
- $twentytwenty-highlights-color: #cd2653;
384
-
385
- .wc-block-grid__product-link {
386
- color: #000;
387
- }
388
-
389
- .wc-block-grid__product-title {
390
- font-family: $twentytwenty-headings;
391
- color: #000;
392
- font-size: 1.2em;
393
- }
394
-
395
- .wc-block-grid__product-price {
396
- .wc-block-grid__product-price__value,
397
- .woocommerce-Price-amount {
398
- font-family: $twentytwenty-headings;
399
- font-size: 0.9em;
400
- }
401
-
402
- del {
403
- opacity: 0.5;
404
- }
405
- }
406
-
407
- .wc-block-grid__product-rating {
408
- .wc-block-grid__product-rating__stars,
409
- .star-rating {
410
- font-size: 0.7em;
411
- }
412
- }
413
-
414
- .wc-block-grid__product-add-to-cart > .wp-block-button__link {
415
- font-family: $twentytwenty-headings;
416
- }
417
-
418
- .wc-block-grid__products .wc-block-grid__product-onsale {
419
- position: absolute;
420
- right: 4px;
421
- top: 4px;
422
- display: inline-block;
423
- background: $twentytwenty-highlights-color;
424
- color: #fff;
425
- font-family: $twentytwenty-headings;
426
- font-weight: 700;
427
- letter-spacing: -0.02em;
428
- line-height: 1.2;
429
- text-transform: uppercase;
430
- z-index: 1;
431
- font-size: 1.5rem;
432
- margin: 0;
433
- padding: 1rem;
434
- }
435
-
436
- @media only screen and (min-width: 768px) {
437
- .wc-block-grid__product-onsale {
438
- font-size: 0.75em;
439
- padding: 1rem;
440
- }
441
- }
442
-
443
- @media only screen and (min-width: 1168px) {
444
- .wc-block-grid__product-onsale {
445
- font-size: 0.85em;
446
- padding: 0.75em;
447
- }
448
  }
449
  }
55
  list-style: none;
56
  }
57
 
58
+ .theme-twentytwenty .wc-block-grid,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  .wc-block-grid {
60
  &.has-aligned-buttons {
61
  .wc-block-grid__product {
62
  display: flex;
63
  flex-direction: column;
64
  }
65
+ .wc-block-grid__product > :last-child {
 
66
  margin-top: auto;
67
  margin-bottom: 0;
68
  padding-bottom: $gap-small;
85
  }
86
  }
87
 
 
88
  @include breakpoint( "<480px" ) {
89
  .wc-block-grid {
90
  @for $i from 2 to 9 {
101
  }
102
  }
103
  }
 
 
 
104
  }
105
  }
106
+
107
  @include breakpoint( "480px-600px" ) {
108
  .wc-block-grid {
109
  @for $i from 2 to 9 {
125
  }
126
  }
127
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  }
129
  }
assets/js/base/components/quantity-selector/style.scss CHANGED
@@ -19,7 +19,7 @@
19
 
20
  // Extra label for specificity needed in the editor.
21
  input.wc-block-quantity-selector__input {
22
- @include font-size(16px);
23
  order: 2;
24
  min-width: 40px;
25
  flex: 1 1 auto;
@@ -49,7 +49,7 @@
49
  }
50
  .wc-block-quantity-selector__button {
51
  @include reset-button;
52
- @include font-size(16px);
53
  min-width: 30px;
54
  cursor: pointer;
55
  color: $core-grey-dark-700;
19
 
20
  // Extra label for specificity needed in the editor.
21
  input.wc-block-quantity-selector__input {
22
+ @include font-size(regular);
23
  order: 2;
24
  min-width: 40px;
25
  flex: 1 1 auto;
49
  }
50
  .wc-block-quantity-selector__button {
51
  @include reset-button;
52
+ @include font-size(regular);
53
  min-width: 30px;
54
  cursor: pointer;
55
  color: $core-grey-dark-700;
assets/js/base/components/radio-control/_mixin.scss CHANGED
@@ -50,7 +50,7 @@
50
 
51
  .wc-block-radio-control__description,
52
  .wc-block-radio-control__secondary-description {
53
- font-size: 0.875em;
54
  line-height: 20px;
55
  color: $core-grey-dark-400;
56
  }
50
 
51
  .wc-block-radio-control__description,
52
  .wc-block-radio-control__secondary-description {
53
+ @include font-size(small);
54
  line-height: 20px;
55
  color: $core-grey-dark-400;
56
  }
assets/js/base/components/reviews/review-list-item/style.scss CHANGED
@@ -13,7 +13,7 @@
13
  .wc-block-review-list-item__meta {
14
  .wc-block-review-list-item__author {
15
  @include placeholder();
16
- font-size: 1em;
17
  width: 80px;
18
  }
19
 
@@ -156,13 +156,13 @@
156
  order: 2;
157
 
158
  > .wc-block-review-list-item__rating__stars {
 
159
  display: inline-block;
160
  top: 0;
161
  overflow: hidden;
162
  position: relative;
163
  height: 1.618em;
164
  line-height: 1.618;
165
- font-size: 1em;
166
  width: 5.3em;
167
  font-family: star; /* stylelint-disable-line */
168
  font-weight: 400;
13
  .wc-block-review-list-item__meta {
14
  .wc-block-review-list-item__author {
15
  @include placeholder();
16
+ @include font-size(regular);
17
  width: 80px;
18
  }
19
 
156
  order: 2;
157
 
158
  > .wc-block-review-list-item__rating__stars {
159
+ @include font-size(regular);
160
  display: inline-block;
161
  top: 0;
162
  overflow: hidden;
163
  position: relative;
164
  height: 1.618em;
165
  line-height: 1.618;
 
166
  width: 5.3em;
167
  font-family: star; /* stylelint-disable-line */
168
  font-weight: 400;
assets/js/base/components/select/style.scss CHANGED
@@ -1,11 +1,12 @@
1
  .wc-block-select {
2
- height: rem(48px);
3
  position: relative;
4
- margin-bottom: rem($gap-large);
5
 
6
  label {
7
  @include reset-typography();
8
- @include font-size(16px, 22px);
 
9
  position: absolute;
10
  transform: translateY(0.75em);
11
  transform-origin: top left;
@@ -38,27 +39,26 @@
38
  }
39
 
40
  .components-custom-select-control__button {
41
- @include font-size(16px);
42
- background-color: #fff;
43
- box-shadow: none;
44
- color: $input-text-active;
45
- font-family: inherit;
46
- font-weight: normal;
47
- height: rem(48px);
48
- letter-spacing: inherit;
49
- line-height: 1;
50
- overflow: hidden;
51
- padding: rem($gap-large) $gap rem($gap-smallest);
52
- text-overflow: ellipsis;
53
- text-transform: none;
54
- white-space: nowrap;
55
- width: 100%;
56
-
57
  &:hover,
58
  &:focus,
59
  &:active {
 
60
  background-color: #fff;
61
- text-decoration: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  }
63
  }
64
 
@@ -79,7 +79,7 @@
79
  }
80
 
81
  .components-custom-select-control__item {
82
- @include font-size(16px);
83
  margin-left: 0;
84
  padding-left: $gap;
85
  }
1
  .wc-block-select {
2
+ height: 3em;
3
  position: relative;
4
+ margin-bottom: em($gap-large);
5
 
6
  label {
7
  @include reset-typography();
8
+ @include font-size(regular);
9
+ line-height: 1.375; // =22px when font-size is 16px.
10
  position: absolute;
11
  transform: translateY(0.75em);
12
  transform-origin: top left;
39
  }
40
 
41
  .components-custom-select-control__button {
42
+ &,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  &:hover,
44
  &:focus,
45
  &:active {
46
+ @include font-size(regular);
47
  background-color: #fff;
48
+ box-shadow: none;
49
+ color: $input-text-active;
50
+ font-family: inherit;
51
+ font-weight: normal;
52
+ height: 3em;
53
+ letter-spacing: inherit;
54
+ line-height: 1;
55
+ overflow: hidden;
56
+ padding: em($gap-large) $gap em($gap-smallest);
57
+ text-align: left;
58
+ text-overflow: ellipsis;
59
+ text-transform: none;
60
+ white-space: nowrap;
61
+ width: 100%;
62
  }
63
  }
64
 
79
  }
80
 
81
  .components-custom-select-control__item {
82
+ @include font-size(regular);
83
  margin-left: 0;
84
  padding-left: $gap;
85
  }
assets/js/base/components/sidebar-layout/style.scss CHANGED
@@ -13,54 +13,20 @@
13
 
14
  .wc-block-sidebar {
15
  margin: 0;
16
- padding-left: percentage($gap-largest / 1060px);
17
  width: 35%;
18
 
19
- // Reset Gutenberg <Panel> styles when used in the sidebar.
20
- .components-panel__body {
21
  border-top: 1px solid $core-grey-light-600;
22
  border-bottom: 1px solid $core-grey-light-600;
23
 
24
- &.is-opened {
25
- padding-left: 0;
26
- padding-right: 0;
27
- padding-top: 0;
28
-
29
- > .components-panel__body-title {
30
- margin-bottom: 0;
31
- margin-left: 0;
32
- margin-right: 0;
33
- }
34
  }
35
- }
36
 
37
- .components-panel__body-title {
38
- @include text-heading();
39
- background: transparent;
40
-
41
- &:hover,
42
- &:focus,
43
- &:active {
44
- background: transparent;
45
- }
46
- }
47
-
48
- .components-panel__body-toggle {
49
- @include reset-typography();
50
- background: transparent;
51
- font-weight: normal;
52
- font-size: inherit;
53
- padding-left: 0;
54
- padding-right: 36px;
55
-
56
- &:hover,
57
- &:focus,
58
- &:active {
59
- background: transparent;
60
- }
61
-
62
- .components-panel__arrow {
63
- right: 0;
64
  }
65
  }
66
  }
@@ -79,17 +45,24 @@
79
  .wc-block-sidebar {
80
  padding: 0;
81
  width: 100%;
 
 
 
82
 
83
- // Reset card component styling on mobile.
84
- .components-card {
85
- background: transparent;
86
- box-shadow: none;
87
- border: none;
88
- }
89
- .components-card__body {
90
- border: none;
91
- padding: 0;
92
- }
93
  }
94
  }
95
  }
 
 
 
 
 
 
 
 
13
 
14
  .wc-block-sidebar {
15
  margin: 0;
16
+ padding-left: percentage($gap-large / 1060px);
17
  width: 35%;
18
 
19
+ .wc-blocks-components-panel {
 
20
  border-top: 1px solid $core-grey-light-600;
21
  border-bottom: 1px solid $core-grey-light-600;
22
 
23
+ + .wc-blocks-components-panel {
24
+ border-top: none;
 
 
 
 
 
 
 
 
25
  }
 
26
 
27
+ > h2 {
28
+ @include font-size(large);
29
+ @include reset-box();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  }
31
  }
32
  }
45
  .wc-block-sidebar {
46
  padding: 0;
47
  width: 100%;
48
+ }
49
+ }
50
+ }
51
 
52
+ .is-large {
53
+ .wc-block-sidebar {
54
+ .wc-block-totals-table-item,
55
+ .wc-blocks-components-panel {
56
+ padding-left: $gap;
57
+ padding-right: $gap;
 
 
 
 
58
  }
59
  }
60
  }
61
+
62
+ // For Twenty Twenty we need to increase specificity a bit more.
63
+ .theme-twentytwenty {
64
+ .wc-block-sidebar .wc-blocks-components-panel > h2 {
65
+ @include font-size(large);
66
+ @include reset-box();
67
+ }
68
+ }
assets/js/base/components/tabs/style.scss CHANGED
@@ -25,7 +25,8 @@
25
  outline: 1px dotted $gray-60;
26
  }
27
  .wc-block-components-tabs__item-content {
28
- @include font-size(16px, 16px);
 
29
  width: fit-content;
30
  display: inline-block;
31
  font-weight: bold;
25
  outline: 1px dotted $gray-60;
26
  }
27
  .wc-block-components-tabs__item-content {
28
+ @include font-size(regular);
29
+ line-height: 1;
30
  width: fit-content;
31
  display: inline-block;
32
  font-weight: bold;
assets/js/base/components/text-input/style.scss CHANGED
@@ -1,23 +1,24 @@
1
  .wc-block-text-input {
2
  position: relative;
3
- margin-bottom: rem($gap-large);
4
  white-space: nowrap;
5
 
6
  label {
7
  @include reset-typography();
8
- @include font-size(16px);
9
  position: absolute;
10
  transform: translateY(0.75em);
11
  left: 0;
12
  top: 0;
13
  transform-origin: top left;
14
- line-height: 1.375;
15
  color: $gray-50;
16
  transition: transform 200ms ease;
17
  margin: 0 0 0 #{$gap + 1px};
18
  overflow: hidden;
19
  text-overflow: ellipsis;
20
  max-width: calc(100% - #{2 * $gap});
 
21
 
22
  @media screen and (prefers-reduced-motion: reduce) {
23
  transition: none;
@@ -36,17 +37,17 @@
36
  input[type="url"],
37
  input[type="text"],
38
  input[type="email"] {
39
- @include font-size(16px);
40
  background-color: #fff;
41
- padding: rem($gap-small) $gap;
42
  border-radius: 4px;
43
  border: 1px solid $input-border-gray;
44
  width: 100%;
45
- line-height: 1.375;
46
  font-family: inherit;
47
  margin: 0;
48
  box-sizing: border-box;
49
- height: rem(48px);
50
  min-height: 0;
51
  color: $input-text-active;
52
 
@@ -59,7 +60,7 @@
59
  &.is-active input[type="url"],
60
  &.is-active input[type="text"],
61
  &.is-active input[type="email"] {
62
- padding: rem($gap-large) 0 rem($gap-smallest) $gap;
63
  }
64
 
65
  &.has-error input {
1
  .wc-block-text-input {
2
  position: relative;
3
+ margin-bottom: em($gap-large);
4
  white-space: nowrap;
5
 
6
  label {
7
  @include reset-typography();
8
+ @include font-size(regular);
9
  position: absolute;
10
  transform: translateY(0.75em);
11
  left: 0;
12
  top: 0;
13
  transform-origin: top left;
14
+ line-height: 1.375; // =22px when font-size is 16px.
15
  color: $gray-50;
16
  transition: transform 200ms ease;
17
  margin: 0 0 0 #{$gap + 1px};
18
  overflow: hidden;
19
  text-overflow: ellipsis;
20
  max-width: calc(100% - #{2 * $gap});
21
+ cursor: text;
22
 
23
  @media screen and (prefers-reduced-motion: reduce) {
24
  transition: none;
37
  input[type="url"],
38
  input[type="text"],
39
  input[type="email"] {
40
+ @include font-size(regular);
41
  background-color: #fff;
42
+ padding: em($gap-small) $gap;
43
  border-radius: 4px;
44
  border: 1px solid $input-border-gray;
45
  width: 100%;
46
+ line-height: 1.375; // =22px when font-size is 16px.
47
  font-family: inherit;
48
  margin: 0;
49
  box-sizing: border-box;
50
+ height: 3em;
51
  min-height: 0;
52
  color: $input-text-active;
53
 
60
  &.is-active input[type="url"],
61
  &.is-active input[type="text"],
62
  &.is-active input[type="email"] {
63
+ padding: em($gap-large) 0 em($gap-smallest) $gap;
64
  }
65
 
66
  &.has-error input {
assets/js/base/components/title/index.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classNames from 'classnames';
5
+ import PropTypes from 'prop-types';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import './style.scss';
11
+
12
+ /**
13
+ * Component that renders a block title.
14
+ */
15
+ const Title = ( { children, className, headingLevel, ...props } ) => {
16
+ const buttonClassName = classNames(
17
+ 'wc-block-component__title',
18
+ className
19
+ );
20
+ const TagName = `h${ headingLevel }`;
21
+
22
+ return (
23
+ <TagName className={ buttonClassName } { ...props }>
24
+ { children }
25
+ </TagName>
26
+ );
27
+ };
28
+
29
+ Title.propTypes = {
30
+ headingLevel: PropTypes.oneOf( [ '1', '2', '3', '4', '5', '6' ] )
31
+ .isRequired,
32
+ className: PropTypes.string,
33
+ children: PropTypes.node,
34
+ };
35
+
36
+ export default Title;
assets/js/base/components/title/style.scss ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Extra class for specificity to overwrite editor styles.
2
+ .wc-block-component__title.wc-block-component__title {
3
+ @include reset-box();
4
+ @include font-size(large);
5
+ }
6
+
7
+ // For Twenty Twenty we need to increase specificity a bit more.
8
+ .theme-twentytwenty {
9
+ .wc-block-component__title.wc-block-component__title {
10
+ @include reset-box();
11
+ @include font-size(large);
12
+ }
13
+ }
assets/js/base/components/validation/style.scss CHANGED
@@ -1,6 +1,6 @@
1
  .wc-block-form-input-validation-error {
 
2
  color: $error-red;
3
- @include font-size(12px);
4
  max-width: 100%;
5
  position: absolute;
6
  top: calc(100% - 1px);
1
  .wc-block-form-input-validation-error {
2
+ @include font-size(smaller);
3
  color: $error-red;
 
4
  max-width: 100%;
5
  position: absolute;
6
  top: calc(100% - 1px);
assets/js/base/context/cart-checkout/payment-methods/constants.js CHANGED
@@ -35,6 +35,7 @@ export const DEFAULT_PAYMENT_DATA = {
35
  // wants to pass along for payment
36
  // processing server side.
37
  },
 
38
  errorMessage: '',
39
  paymentMethods: {},
40
  expressPaymentMethods: {},
35
  // wants to pass along for payment
36
  // processing server side.
37
  },
38
+ hasSavedToken: false,
39
  errorMessage: '',
40
  paymentMethods: {},
41
  expressPaymentMethods: {},
assets/js/base/context/cart-checkout/payment-methods/payment-method-data-context.js CHANGED
@@ -276,6 +276,23 @@ export const PaymentMethodDataProvider = ( { children } ) => {
276
  }
277
  }, [ checkoutIsIdle, currentStatus.isSuccessful ] );
278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
  // set initial active payment method if it's undefined.
280
  useEffect( () => {
281
  const paymentMethodKeys = Object.keys( paymentData.paymentMethods );
276
  }
277
  }, [ checkoutIsIdle, currentStatus.isSuccessful ] );
278
 
279
+ // if checkout has an error and payment is not being made with a saved token
280
+ // and payment status is success, then let's sync payment status back to
281
+ // pristine.
282
+ useEffect( () => {
283
+ if (
284
+ checkoutHasError &&
285
+ currentStatus.isSuccessful &&
286
+ ! paymentData.hasSavedToken
287
+ ) {
288
+ dispatch( statusOnly( PRISTINE ) );
289
+ }
290
+ }, [
291
+ checkoutHasError,
292
+ currentStatus.isSuccessful,
293
+ paymentData.hasSavedToken,
294
+ ] );
295
+
296
  // set initial active payment method if it's undefined.
297
  useEffect( () => {
298
  const paymentMethodKeys = Object.keys( paymentData.paymentMethods );
assets/js/base/context/cart-checkout/payment-methods/reducer.js CHANGED
@@ -15,6 +15,12 @@ const {
15
  SET_SHOULD_SAVE_PAYMENT_METHOD,
16
  } = ACTION_TYPES;
17
 
 
 
 
 
 
 
18
  /**
19
  * Reducer for payment data state
20
  *
@@ -64,6 +70,9 @@ const reducer = (
64
  currentStatus: SUCCESS,
65
  paymentMethodData:
66
  paymentMethodData || state.paymentMethodData,
 
 
 
67
  }
68
  : state;
69
  case PROCESSING:
15
  SET_SHOULD_SAVE_PAYMENT_METHOD,
16
  } = ACTION_TYPES;
17
 
18
+ const hasSavedPaymentToken = ( paymentMethodData ) => {
19
+ return !! (
20
+ typeof paymentMethodData === 'object' && paymentMethodData.isSavedToken
21
+ );
22
+ };
23
+
24
  /**
25
  * Reducer for payment data state
26
  *
70
  currentStatus: SUCCESS,
71
  paymentMethodData:
72
  paymentMethodData || state.paymentMethodData,
73
+ hasSavedToken: hasSavedPaymentToken(
74
+ paymentMethodData
75
+ ),
76
  }
77
  : state;
78
  case PROCESSING:
assets/js/base/context/index.js CHANGED
@@ -1,7 +1,5 @@
1
  export * from './cart-checkout';
2
  export * from './container-width-context';
3
- export * from './inner-block-configuration-context';
4
- export * from './product-layout-context';
5
  export * from './query-state-context';
6
  export * from './store-notices-context';
7
  export * from './editor';
1
  export * from './cart-checkout';
2
  export * from './container-width-context';
 
 
3
  export * from './query-state-context';
4
  export * from './store-notices-context';
5
  export * from './editor';
assets/js/base/context/inner-block-configuration-context.js DELETED
@@ -1,42 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { createContext, useContext, useEffect } from '@wordpress/element';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { assertValidContextValue } from './utils';
10
-
11
- const validationMap = {
12
- parentName: {
13
- required: true,
14
- type: 'string',
15
- },
16
- };
17
-
18
- /**
19
- * This context is a configuration object used for connecting
20
- * all children blocks in a given tree contained in the context with information
21
- * about the parent block. Typically this is used for extensibility features.
22
- *
23
- * @member {Object} InnerBlockConfigurationContext A react context object
24
- */
25
- const InnerBlockConfigurationContext = createContext( { parentName: null } );
26
-
27
- export const useInnerBlockConfigurationContext = () =>
28
- useContext( InnerBlockConfigurationContext );
29
- export const InnerBlockConfigurationProvider = ( { value, children } ) => {
30
- useEffect( () => {
31
- assertValidContextValue(
32
- 'InnerBlockConfigurationProvider',
33
- validationMap,
34
- value
35
- );
36
- }, [ value ] );
37
- return (
38
- <InnerBlockConfigurationContext.Provider value={ value }>
39
- { children }
40
- </InnerBlockConfigurationContext.Provider>
41
- );
42
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/base/context/product-layout-context.js DELETED
@@ -1,42 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { createContext, useContext, useEffect } from '@wordpress/element';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { assertValidContextValue } from './utils';
10
-
11
- const validationMap = {
12
- layoutStyleClassPrefix: {
13
- required: true,
14
- type: 'string',
15
- },
16
- };
17
-
18
- /**
19
- * ProductLayoutContext is a configuration object for layout options shared
20
- * among all components in a tree.
21
- *
22
- * @member {Object} ProductLayoutContext A react context object
23
- */
24
- const ProductLayoutContext = createContext( {
25
- layoutStyleClassPrefix: '',
26
- } );
27
-
28
- export const useProductLayoutContext = () => useContext( ProductLayoutContext );
29
- export const ProductLayoutContextProvider = ( { value, children } ) => {
30
- useEffect( () => {
31
- assertValidContextValue(
32
- 'ProductLayoutContextProvider',
33
- validationMap,
34
- value
35
- );
36
- }, [ value ] );
37
- return (
38
- <ProductLayoutContext.Provider value={ value }>
39
- { children }
40
- </ProductLayoutContext.Provider>
41
- );
42
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/base/hocs/with-filtered-attributes.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { getValidBlockAttributes } from '@woocommerce/base-utils';
5
+
6
+ /**
7
+ * HOC that filters given attributes by valid block attribute values, or uses defaults if undefined.
8
+ *
9
+ * @param {Object} blockAttributes Component being wrapped.
10
+ */
11
+ const withFilteredAttributes = ( blockAttributes ) => ( OriginalComponent ) => {
12
+ return ( ownProps ) => {
13
+ const validBlockAttributes = getValidBlockAttributes(
14
+ blockAttributes,
15
+ ownProps
16
+ );
17
+
18
+ return (
19
+ <OriginalComponent { ...ownProps } { ...validBlockAttributes } />
20
+ );
21
+ };
22
+ };
23
+
24
+ export default withFilteredAttributes;
assets/js/base/hooks/index.js CHANGED
@@ -1,6 +1,5 @@
1
  export * from './cart';
2
  export * from './checkout';
3
- export * from './order';
4
  export * from './payment-methods';
5
  export * from './shipping';
6
  export * from './use-collection';
1
  export * from './cart';
2
  export * from './checkout';
 
3
  export * from './payment-methods';
4
  export * from './shipping';
5
  export * from './use-collection';
assets/js/base/hooks/order/index.js DELETED
@@ -1 +0,0 @@
1
- export * from './use-store-order';
 
assets/js/base/hooks/order/use-store-order.js DELETED
@@ -1,10 +0,0 @@
1
- // @todo finish out this hook which will return a store draft order id and
2
- // order loading (likely from payment data context).
3
-
4
- export const useStoreOrder = () => {
5
- const orderId = 0;
6
- return {
7
- orderId,
8
- isLoading: false,
9
- };
10
- };
 
 
 
 
 
 
 
 
 
 
assets/js/base/hooks/payment-methods/use-payment-method-interface.js CHANGED
@@ -21,7 +21,7 @@ import {
21
  /**
22
  * Internal dependencies
23
  */
24
- import { useStoreOrder, useStoreCartCoupons, useStoreCart } from '..';
25
 
26
  /**
27
  * @typedef {import('@woocommerce/type-defs/registered-payment-method-props').RegisteredPaymentMethodProps} RegisteredPaymentMethodProps
@@ -79,9 +79,6 @@ export const prepareTotalItems = ( totals, needsShipping ) => {
79
  return newTotals;
80
  };
81
 
82
- // @todo This will expose the consistent properties used as the payment method
83
- // interface pulled from the various contexts exposing data for the interface.
84
- // @todo need to also include notices interfaces here (maybe?).
85
  /**
86
  * @return {RegisteredPaymentMethodProps} Interface to use as payment method props.
87
  */
@@ -119,8 +116,7 @@ export const usePaymentMethodInterface = () => {
119
  onShippingRateSelectFail,
120
  needsShipping,
121
  } = useShippingDataContext();
122
- const { billingData, setBillingData } = useBillingDataContext();
123
- const { order, isLoading: orderLoading } = useStoreOrder();
124
  const { cartTotals } = useStoreCart();
125
  const { appliedCoupons } = useStoreCartCoupons();
126
  const { noticeContexts, responseTypes } = useEmitResponse();
@@ -167,9 +163,6 @@ export const usePaymentMethodInterface = () => {
167
  },
168
  billing: {
169
  billingData,
170
- setBillingData,
171
- order,
172
- orderLoading,
173
  cartTotal: currentCartTotal.current,
174
  currency: getCurrencyFromPriceResponse( cartTotals ),
175
  cartTotalItems: currentCartTotals.current,
21
  /**
22
  * Internal dependencies
23
  */
24
+ import { useStoreCartCoupons, useStoreCart } from '..';
25
 
26
  /**
27
  * @typedef {import('@woocommerce/type-defs/registered-payment-method-props').RegisteredPaymentMethodProps} RegisteredPaymentMethodProps
79
  return newTotals;
80
  };
81
 
 
 
 
82
  /**
83
  * @return {RegisteredPaymentMethodProps} Interface to use as payment method props.
84
  */
116
  onShippingRateSelectFail,
117
  needsShipping,
118
  } = useShippingDataContext();
119
+ const { billingData } = useBillingDataContext();
 
120
  const { cartTotals } = useStoreCart();
121
  const { appliedCoupons } = useStoreCartCoupons();
122
  const { noticeContexts, responseTypes } = useEmitResponse();
163
  },
164
  billing: {
165
  billingData,
 
 
 
166
  cartTotal: currentCartTotal.current,
167
  currency: getCurrencyFromPriceResponse( cartTotals ),
168
  cartTotalItems: currentCartTotals.current,
assets/js/base/hooks/test/use-query-state.js CHANGED
@@ -204,7 +204,7 @@ describe( 'Testing Query State Hooks', () => {
204
  }
205
  );
206
  } );
207
- // @todo, these tests only add partial coverage because the state is not
208
  // actually updated by the action dispatch via our mocks.
209
  describe( 'useSynchronizedQueryState', () => {
210
  const TestComponent = getTestComponent( useSynchronizedQueryState, [
204
  }
205
  );
206
  } );
207
+ // Note: these tests only add partial coverage because the state is not
208
  // actually updated by the action dispatch via our mocks.
209
  describe( 'useSynchronizedQueryState', () => {
210
  const TestComponent = getTestComponent( useSynchronizedQueryState, [
assets/js/base/utils/get-valid-block-attributes.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Given some block attributes, gets attributes from the dataset or uses defaults.
3
+ *
4
+ * @param {Object} blockAttributes Object containing block attributes.
5
+ * @param {Array} rawAttributes Dataset from DOM.
6
+ * @return {Array} Array of parsed attributes.
7
+ */
8
+ export const getValidBlockAttributes = ( blockAttributes, rawAttributes ) => {
9
+ const attributes = [];
10
+
11
+ Object.keys( blockAttributes ).forEach( ( key ) => {
12
+ if ( typeof rawAttributes[ key ] !== 'undefined' ) {
13
+ switch ( blockAttributes[ key ].type ) {
14
+ case 'boolean':
15
+ attributes[ key ] = rawAttributes[ key ] !== 'false';
16
+ break;
17
+ case 'number':
18
+ attributes[ key ] = parseInt( rawAttributes[ key ], 10 );
19
+ break;
20
+ case 'array':
21
+ case 'object':
22
+ attributes[ key ] = JSON.parse( rawAttributes[ key ] );
23
+ break;
24
+ default:
25
+ attributes[ key ] = rawAttributes[ key ];
26
+ break;
27
+ }
28
+ } else {
29
+ attributes[ key ] = blockAttributes[ key ].default;
30
+ }
31
+ } );
32
+
33
+ return attributes;
34
+ };
35
+
36
+ export default getValidBlockAttributes;
assets/js/base/utils/index.js CHANGED
@@ -3,3 +3,5 @@ export * from './price';
3
  export * from './address';
4
  export * from './shipping-rates';
5
  export * from './legacy-events';
 
 
3
  export * from './address';
4
  export * from './shipping-rates';
5
  export * from './legacy-events';
6
+ export * from './render-frontend';
7
+ export * from './get-valid-block-attributes';
assets/js/base/utils/render-frontend.js ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { render } from 'react-dom';
5
+ import BlockErrorBoundary from '@woocommerce/base-components/block-error-boundary';
6
+
7
+ /**
8
+ * Renders a block component in the place of a specified set of selectors.
9
+ *
10
+ * @param {Object} props Render props.
11
+ * @param {Function} props.Block React component to use as a replacement.
12
+ * @param {string} props.selector CSS selector to match the elements to replace.
13
+ * @param {Function} [props.getProps ] Function to generate the props object for the block.
14
+ * @param {Function} [props.getErrorBoundaryProps] Function to generate the props object for the error boundary.
15
+ */
16
+ export const renderFrontend = ( {
17
+ Block,
18
+ selector,
19
+ getProps = () => {},
20
+ getErrorBoundaryProps = () => {},
21
+ } ) => {
22
+ const containers = document.querySelectorAll( selector );
23
+
24
+ if ( containers.length ) {
25
+ // Use Array.forEach for IE11 compatibility.
26
+ Array.prototype.forEach.call( containers, ( el, i ) => {
27
+ const props = getProps( el, i );
28
+ const errorBoundaryProps = getErrorBoundaryProps( el, i );
29
+ const attributes = {
30
+ ...el.dataset,
31
+ ...props.attributes,
32
+ };
33
+ el.classList.remove( 'is-loading' );
34
+
35
+ render(
36
+ <BlockErrorBoundary { ...errorBoundaryProps }>
37
+ <Block { ...props } attributes={ attributes } />
38
+ </BlockErrorBoundary>,
39
+ el
40
+ );
41
+ } );
42
+ }
43
+ };
44
+
45
+ export default renderFrontend;
assets/js/blocks-registry/payment-methods/assertions.js CHANGED
@@ -7,7 +7,6 @@ export const assertValidPaymentMethodComponent = (
7
  component,
8
  componentName
9
  ) => {
10
- // @todo detect if functional component (not render prop)
11
  if ( typeof component !== 'function' ) {
12
  throw new TypeError(
13
  `The ${ componentName } property for the payment method must be a functional component`
7
  component,
8
  componentName
9
  ) => {
 
10
  if ( typeof component !== 'function' ) {
11
  throw new TypeError(
12
  `The ${ componentName } property for the payment method must be a functional component`
assets/js/blocks/active-filters/frontend.js CHANGED
@@ -2,12 +2,12 @@
2
  * External dependencies
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
 
5
 
6
  /**
7
  * Internal dependencies
8
  */
9
  import Block from './block.js';
10
- import renderFrontend from '../../utils/render-frontend.js';
11
 
12
  const getProps = ( el ) => {
13
  return {
@@ -19,8 +19,8 @@ const getProps = ( el ) => {
19
  };
20
  };
21
 
22
- renderFrontend(
23
- '.wp-block-woocommerce-active-filters',
24
- withRestApiHydration( Block ),
25
- getProps
26
- );
2
  * External dependencies
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
5
+ import { renderFrontend } from '@woocommerce/base-utils';
6
 
7
  /**
8
  * Internal dependencies
9
  */
10
  import Block from './block.js';
 
11
 
12
  const getProps = ( el ) => {
13
  return {
19
  };
20
  };
21
 
22
+ renderFrontend( {
23
+ selector: '.wp-block-woocommerce-active-filters',
24
+ Block: withRestApiHydration( Block ),
25
+ getProps,
26
+ } );
assets/js/blocks/active-filters/style.scss CHANGED
@@ -3,13 +3,13 @@
3
  overflow: hidden;
4
 
5
  .wc-block-active-filters__clear-all {
 
6
  float: right;
7
  background: transparent none;
8
  border: none;
9
  padding: 0;
10
  text-decoration: underline;
11
  cursor: pointer;
12
- font-size: 1em;
13
 
14
  &:hover {
15
  background: transparent none;
@@ -33,8 +33,8 @@
33
  }
34
 
35
  .wc-block-active-filters__list-item-type {
 
36
  text-transform: uppercase;
37
- font-size: 0.7em;
38
  letter-spacing: 0.1em;
39
  margin: $gap 0 0;
40
  display: block;
3
  overflow: hidden;
4
 
5
  .wc-block-active-filters__clear-all {
6
+ @include font-size(regular);
7
  float: right;
8
  background: transparent none;
9
  border: none;
10
  padding: 0;
11
  text-decoration: underline;
12
  cursor: pointer;
 
13
 
14
  &:hover {
15
  background: transparent none;
33
  }
34
 
35
  .wc-block-active-filters__list-item-type {
36
+ @include font-size(smaller);
37
  text-transform: uppercase;
 
38
  letter-spacing: 0.1em;
39
  margin: $gap 0 0;
40
  display: block;
assets/js/blocks/attribute-filter/edit.js CHANGED
@@ -237,7 +237,7 @@ const Edit = ( { attributes, setAttributes, debouncedSpeak } ) => {
237
  ) }
238
  </p>
239
  <Button
240
- className="wc-block-attribute-filter__add_attribute_button"
241
  isDefault
242
  isLarge
243
  href={ getAdminLink(
@@ -369,7 +369,7 @@ const Edit = ( { attributes, setAttributes, debouncedSpeak } ) => {
369
  >
370
  <div className="wc-block-attribute-filter__selection">
371
  { renderAttributeControl() }
372
- <Button isDefault onClick={ onDone }>
373
  { __( 'Done', 'woo-gutenberg-products-block' ) }
374
  </Button>
375
  </div>
237
  ) }
238
  </p>
239
  <Button
240
+ className="wc-block-attribute-filter__add-attribute-button"
241
  isDefault
242
  isLarge
243
  href={ getAdminLink(
369
  >
370
  <div className="wc-block-attribute-filter__selection">
371
  { renderAttributeControl() }
372
+ <Button isPrimary onClick={ onDone }>
373
  { __( 'Done', 'woo-gutenberg-products-block' ) }
374
  </Button>
375
  </div>
assets/js/blocks/attribute-filter/editor.scss CHANGED
@@ -11,18 +11,13 @@
11
  }
12
  .components-placeholder__fieldset {
13
  display: block; /* Disable flex box */
14
-
15
- p {
16
- @include font-size(14px);
17
- }
18
  }
19
  .woocommerce-search-list__search {
20
  border-top: 0;
21
  margin-top: 0;
22
  padding-top: 0;
23
  }
24
- .wc-block-attribute-filter__add_attribute_button {
25
- @include font-size(14px, 24px);
26
  margin: 0 0 1em;
27
  vertical-align: middle;
28
  height: auto;
11
  }
12
  .components-placeholder__fieldset {
13
  display: block; /* Disable flex box */
 
 
 
 
14
  }
15
  .woocommerce-search-list__search {
16
  border-top: 0;
17
  margin-top: 0;
18
  padding-top: 0;
19
  }
20
+ .wc-block-attribute-filter__add-attribute-button {
 
21
  margin: 0 0 1em;
22
  vertical-align: middle;
23
  height: auto;
assets/js/blocks/attribute-filter/frontend.js CHANGED
@@ -2,12 +2,12 @@
2
  * External dependencies
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
 
5
 
6
  /**
7
  * Internal dependencies
8
  */
9
  import Block from './block.js';
10
- import renderFrontend from '../../utils/render-frontend.js';
11
 
12
  const getProps = ( el ) => {
13
  return {
@@ -23,8 +23,8 @@ const getProps = ( el ) => {
23
  };
24
  };
25
 
26
- renderFrontend(
27
- '.wp-block-woocommerce-attribute-filter',
28
- withRestApiHydration( Block ),
29
- getProps
30
- );
2
  * External dependencies
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
5
+ import { renderFrontend } from '@woocommerce/base-utils';
6
 
7
  /**
8
  * Internal dependencies
9
  */
10
  import Block from './block.js';
 
11
 
12
  const getProps = ( el ) => {
13
  return {
23
  };
24
  };
25
 
26
+ renderFrontend( {
27
+ selector: '.wp-block-woocommerce-attribute-filter',
28
+ Block: withRestApiHydration( Block ),
29
+ getProps,
30
+ } );
assets/js/blocks/cart-checkout/cart/frontend.js CHANGED
@@ -9,16 +9,16 @@ import { __ } from '@wordpress/i18n';
9
  import { StoreNoticesProvider } from '@woocommerce/base-context';
10
  import { CURRENT_USER_IS_ADMIN } from '@woocommerce/block-settings';
11
  import { __experimentalCreateInterpolateElement } from 'wordpress-element';
 
 
 
 
12
 
13
  /**
14
  * Internal dependencies
15
  */
16
  import Block from './block.js';
17
  import blockAttributes from './attributes';
18
- import {
19
- getAttributesFromDataset,
20
- renderFrontend,
21
- } from '../../../utils/render-frontend.js';
22
 
23
  const reloadPage = () => void window.location.reload( true );
24
  /**
@@ -37,7 +37,7 @@ const CartFrontend = ( props ) => {
37
  const getProps = ( el ) => {
38
  return {
39
  emptyCart: el.innerHTML,
40
- attributes: getAttributesFromDataset( blockAttributes, el.dataset ),
41
  };
42
  };
43
 
@@ -62,9 +62,9 @@ const getErrorBoundaryProps = () => {
62
  };
63
  };
64
 
65
- renderFrontend(
66
- '.wp-block-woocommerce-cart',
67
- withStoreCartApiHydration( withRestApiHydration( CartFrontend ) ),
68
  getProps,
69
- getErrorBoundaryProps
70
- );
9
  import { StoreNoticesProvider } from '@woocommerce/base-context';
10
  import { CURRENT_USER_IS_ADMIN } from '@woocommerce/block-settings';
11
  import { __experimentalCreateInterpolateElement } from 'wordpress-element';
12
+ import {
13
+ renderFrontend,
14
+ getValidBlockAttributes,
15
+ } from '@woocommerce/base-utils';
16
 
17
  /**
18
  * Internal dependencies
19
  */
20
  import Block from './block.js';
21
  import blockAttributes from './attributes';
 
 
 
 
22
 
23
  const reloadPage = () => void window.location.reload( true );
24
  /**
37
  const getProps = ( el ) => {
38
  return {
39
  emptyCart: el.innerHTML,
40
+ attributes: getValidBlockAttributes( blockAttributes, el.dataset ),
41
  };
42
  };
43
 
62
  };
63
  };
64
 
65
+ renderFrontend( {
66
+ selector: '.wp-block-woocommerce-cart',
67
+ Block: withStoreCartApiHydration( withRestApiHydration( CartFrontend ) ),
68
  getProps,
69
+ getErrorBoundaryProps,
70
+ } );
assets/js/blocks/cart-checkout/cart/full-cart/cart-line-items-title.js CHANGED
@@ -1,33 +1,27 @@
1
  /**
2
  * External dependencies
3
  */
4
- import { __, sprintf, _n } from '@wordpress/i18n';
5
  import PropTypes from 'prop-types';
 
6
 
7
- const CartLineItemsTitle = ( {
8
- title = __( 'Shopping cart', 'woo-gutenberg-products-block' ),
9
- itemCount = 1,
10
- } ) => {
11
- const itemCountHeading = sprintf(
12
- _n( '%d item', '%d items', itemCount, 'woo-gutenberg-products-block' ),
13
- itemCount
14
- );
15
- const readableHeading = `${ title } – ${ itemCountHeading }`;
16
-
17
  return (
18
- <h2 aria-label={ readableHeading }>
19
- <span>{ title } </span>
20
- { !! itemCount && (
21
- <span className="wc-block-cart__item-count">
22
- { itemCountHeading }
23
- </span>
 
 
 
24
  ) }
25
- </h2>
26
  );
27
  };
28
 
29
  CartLineItemsTitle.propTypes = {
30
- title: PropTypes.string,
31
  itemCount: PropTypes.number,
32
  };
33
 
1
  /**
2
  * External dependencies
3
  */
4
+ import { _n, sprintf } from '@wordpress/i18n';
5
  import PropTypes from 'prop-types';
6
+ import Title from '@woocommerce/base-components/title';
7
 
8
+ const CartLineItemsTitle = ( { itemCount = 1 } ) => {
 
 
 
 
 
 
 
 
 
9
  return (
10
+ <Title headingLevel="2">
11
+ { sprintf(
12
+ _n(
13
+ 'Your cart (%d item)',
14
+ 'Your cart (%d items)',
15
+ itemCount,
16
+ 'woo-gutenberg-products-block'
17
+ ),
18
+ itemCount
19
  ) }
20
+ </Title>
21
  );
22
  };
23
 
24
  CartLineItemsTitle.propTypes = {
 
25
  itemCount: PropTypes.number,
26
  };
27
 
assets/js/blocks/cart-checkout/cart/full-cart/index.js CHANGED
@@ -18,7 +18,6 @@ import {
18
  DISPLAY_CART_PRICES_INCLUDING_TAX,
19
  } from '@woocommerce/block-settings';
20
  import { getCurrencyFromPriceResponse } from '@woocommerce/base-utils';
21
- import { Card, CardBody } from 'wordpress-components';
22
  import {
23
  useStoreCartCoupons,
24
  useStoreCart,
@@ -30,6 +29,7 @@ import {
30
  SidebarLayout,
31
  Main,
32
  } from '@woocommerce/base-components/sidebar-layout';
 
33
  import { getSetting } from '@woocommerce/settings';
34
  import { useEffect } from '@wordpress/element';
35
  import { decodeEntities } from '@wordpress/html-entities';
@@ -94,63 +94,54 @@ const Cart = ( { attributes } ) => {
94
  />
95
  </Main>
96
  <Sidebar className="wc-block-cart__sidebar">
97
- <Card isElevated={ true }>
98
- <CardBody>
99
- <h2 className="wc-block-cart__totals-title">
100
- { __(
101
- 'Cart totals',
102
- 'woo-gutenberg-products-block'
103
- ) }
104
- </h2>
105
- <SubtotalsItem
106
- currency={ totalsCurrency }
107
- values={ cartTotals }
108
- />
109
- <TotalsFeesItem
110
- currency={ totalsCurrency }
111
- values={ cartTotals }
112
- />
113
- <TotalsDiscountItem
114
- cartCoupons={ appliedCoupons }
115
- currency={ totalsCurrency }
116
- isRemovingCoupon={ isRemovingCoupon }
117
- removeCoupon={ removeCoupon }
118
- values={ cartTotals }
119
- />
120
- { cartNeedsShipping && (
121
- <TotalsShippingItem
122
- showCalculator={ isShippingCalculatorEnabled }
123
- showRatesWithoutAddress={
124
- ! isShippingCostHidden
125
- }
126
- values={ cartTotals }
127
- currency={ totalsCurrency }
128
- />
129
- ) }
130
- { ! DISPLAY_CART_PRICES_INCLUDING_TAX && (
131
- <TotalsTaxesItem
132
- currency={ totalsCurrency }
133
- values={ cartTotals }
134
- />
135
- ) }
136
- { COUPONS_ENABLED && (
137
- <TotalsCouponCodeInput
138
- onSubmit={ applyCoupon }
139
- isLoading={ isApplyingCoupon }
140
- />
141
- ) }
142
- <TotalsFooterItem
143
- currency={ totalsCurrency }
144
- values={ cartTotals }
145
- />
146
- <CheckoutButton
147
- link={ getSetting(
148
- 'page-' + attributes?.checkoutPageId,
149
- false
150
- ) }
151
- />
152
- </CardBody>
153
- </Card>
154
  </Sidebar>
155
  </SidebarLayout>
156
  );
18
  DISPLAY_CART_PRICES_INCLUDING_TAX,
19
  } from '@woocommerce/block-settings';
20
  import { getCurrencyFromPriceResponse } from '@woocommerce/base-utils';
 
21
  import {
22
  useStoreCartCoupons,
23
  useStoreCart,
29
  SidebarLayout,
30
  Main,
31
  } from '@woocommerce/base-components/sidebar-layout';
32
+ import Title from '@woocommerce/base-components/title';
33
  import { getSetting } from '@woocommerce/settings';
34
  import { useEffect } from '@wordpress/element';
35
  import { decodeEntities } from '@wordpress/html-entities';
94
  />
95
  </Main>
96
  <Sidebar className="wc-block-cart__sidebar">
97
+ <Title headingLevel="2" className="wc-block-cart__totals-title">
98
+ { __( 'Cart totals', 'woo-gutenberg-products-block' ) }
99
+ </Title>
100
+ <SubtotalsItem
101
+ currency={ totalsCurrency }
102
+ values={ cartTotals }
103
+ />
104
+ <TotalsFeesItem
105
+ currency={ totalsCurrency }
106
+ values={ cartTotals }
107
+ />
108
+ <TotalsDiscountItem
109
+ cartCoupons={ appliedCoupons }
110
+ currency={ totalsCurrency }
111
+ isRemovingCoupon={ isRemovingCoupon }
112
+ removeCoupon={ removeCoupon }
113
+ values={ cartTotals }
114
+ />
115
+ { cartNeedsShipping && (
116
+ <TotalsShippingItem
117
+ showCalculator={ isShippingCalculatorEnabled }
118
+ showRatesWithoutAddress={ ! isShippingCostHidden }
119
+ values={ cartTotals }
120
+ currency={ totalsCurrency }
121
+ />
122
+ ) }
123
+ { ! DISPLAY_CART_PRICES_INCLUDING_TAX && (
124
+ <TotalsTaxesItem
125
+ currency={ totalsCurrency }
126
+ values={ cartTotals }
127
+ />
128
+ ) }
129
+ { COUPONS_ENABLED && (
130
+ <TotalsCouponCodeInput
131
+ onSubmit={ applyCoupon }
132
+ isLoading={ isApplyingCoupon }
133
+ />
134
+ ) }
135
+ <TotalsFooterItem
136
+ currency={ totalsCurrency }
137
+ values={ cartTotals }
138
+ />
139
+ <CheckoutButton
140
+ link={ getSetting(
141
+ 'page-' + attributes?.checkoutPageId,
142
+ false
143
+ ) }
144
+ />
 
 
 
 
 
 
 
 
 
145
  </Sidebar>
146
  </SidebarLayout>
147
  );
assets/js/blocks/cart-checkout/cart/full-cart/style.scss CHANGED
@@ -1,20 +1,6 @@
1
  .wc-block-cart {
2
  color: $core-grey-dark-600;
3
 
4
- h2 {
5
- @include font-size(20px);
6
- font-weight: normal;
7
- }
8
-
9
- .wc-block-cart__main,
10
- .wc-block-cart__sidebar .components-card__body.is-size-medium {
11
- padding-top: 1.3em;
12
- }
13
-
14
- .wc-block-cart__item-count {
15
- float: right;
16
- }
17
-
18
  .wc-block-cart__shipping-calculator {
19
  white-space: nowrap;
20
  }
@@ -31,6 +17,7 @@ table.wc-block-cart-items td {
31
  background: none !important;
32
  // Remove borders on default themes.
33
  border: 0;
 
34
  }
35
 
36
  .editor-styles-wrapper table.wc-block-cart-items,
@@ -55,7 +42,7 @@ table.wc-block-cart-items {
55
  padding-right: 0;
56
  }
57
  .wc-block-cart-items__header {
58
- @include font-size(12px);
59
  text-transform: uppercase;
60
 
61
  .wc-block-cart-items__header-image {
@@ -81,7 +68,7 @@ table.wc-block-cart-items {
81
  .wc-block-cart-item__quantity {
82
  .wc-block-cart-item__remove-link {
83
  @include link-button;
84
- @include font-size(12px);
85
 
86
  color: $core-grey-dark-400;
87
  text-transform: none;
@@ -99,7 +86,7 @@ table.wc-block-cart-items {
99
  }
100
  }
101
  .wc-block-cart-item__total {
102
- @include font-size(16px);
103
  text-align: right;
104
  line-height: 1.25;
105
 
@@ -275,6 +262,16 @@ table.wc-block-cart-items {
275
  .wc-block-radio-control__input {
276
  left: 0;
277
  }
 
 
 
 
 
 
 
 
 
 
278
  }
279
 
280
  .wc-block-cart-coupon-list {
1
  .wc-block-cart {
2
  color: $core-grey-dark-600;
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  .wc-block-cart__shipping-calculator {
5
  white-space: nowrap;
6
  }
17
  background: none !important;
18
  // Remove borders on default themes.
19
  border: 0;
20
+ margin: 0;
21
  }
22
 
23
  .editor-styles-wrapper table.wc-block-cart-items,
42
  padding-right: 0;
43
  }
44
  .wc-block-cart-items__header {
45
+ @include font-size(smaller);
46
  text-transform: uppercase;
47
 
48
  .wc-block-cart-items__header-image {
68
  .wc-block-cart-item__quantity {
69
  .wc-block-cart-item__remove-link {
70
  @include link-button;
71
+ @include font-size(smaller);
72
 
73
  color: $core-grey-dark-400;
74
  text-transform: none;
86
  }
87
  }
88
  .wc-block-cart-item__total {
89
+ @include font-size(regular);
90
  text-align: right;
91
  line-height: 1.25;
92
 
262
  .wc-block-radio-control__input {
263
  left: 0;
264
  }
265
+
266
+ .wc-block-sidebar {
267
+ > .wc-block-cart__totals-title,
268
+ .wc-block-cart__shipping-calculator,
269
+ .wc-block-shipping-rates-control__package:not(.wc-blocks-components-panel),
270
+ > .wc-block-cart__submit-container {
271
+ padding-left: $gap;
272
+ padding-right: $gap;
273
+ }
274
+ }
275
  }
276
 
277
  .wc-block-cart-coupon-list {
assets/js/blocks/cart-checkout/cart/index.js CHANGED
@@ -3,10 +3,9 @@
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { InnerBlocks } from '@wordpress/block-editor';
6
- import { registerBlockType } from '@wordpress/blocks';
7
  import { Icon, cart } from '@woocommerce/icons';
8
  import classnames from 'classnames';
9
-
10
  /**
11
  * Internal dependencies
12
  */
@@ -51,4 +50,4 @@ const settings = {
51
  },
52
  };
53
 
54
- registerBlockType( 'woocommerce/cart', settings );
3
  */
4
  import { __ } from '@wordpress/i18n';
5
  import { InnerBlocks } from '@wordpress/block-editor';
 
6
  import { Icon, cart } from '@woocommerce/icons';
7
  import classnames from 'classnames';
8
+ import { registerFeaturePluginBlockType } from '@woocommerce/block-settings';
9
  /**
10
  * Internal dependencies
11
  */
50
  },
51
  };
52
 
53
+ registerFeaturePluginBlockType( 'woocommerce/cart', settings );
assets/js/blocks/cart-checkout/checkout/editor.scss CHANGED
@@ -1,6 +1,6 @@
1
  .editor-styles-wrapper {
2
  .wp-block h4.wc-block-checkout-step__title {
3
- @include font-size(16px);
4
  line-height: 24px;
5
  margin: 0 $gap-small 0 0;
6
  }
1
  .editor-styles-wrapper {
2
  .wp-block h4.wc-block-checkout-step__title {
3
+ @include font-size(regular);
4
  line-height: 24px;
5
  margin: 0 $gap-small 0 0;
6
  }
assets/js/blocks/cart-checkout/checkout/frontend.js CHANGED
@@ -14,16 +14,16 @@ import {
14
  import BlockErrorBoundary from '@woocommerce/base-components/block-error-boundary';
15
  import { CURRENT_USER_IS_ADMIN } from '@woocommerce/block-settings';
16
  import { __experimentalCreateInterpolateElement } from 'wordpress-element';
 
 
 
 
17
 
18
  /**
19
  * Internal dependencies
20
  */
21
  import Block from './block.js';
22
  import blockAttributes from './attributes';
23
- import {
24
- getAttributesFromDataset,
25
- renderFrontend,
26
- } from '../../../utils/render-frontend.js';
27
  import EmptyCart from './empty-cart/index.js';
28
 
29
  const reloadPage = () => void window.location.reload( true );
@@ -75,7 +75,7 @@ const CheckoutFrontend = ( props ) => {
75
 
76
  const getProps = ( el ) => {
77
  return {
78
- attributes: getAttributesFromDataset( blockAttributes, el.dataset ),
79
  };
80
  };
81
 
@@ -100,9 +100,11 @@ const getErrorBoundaryProps = () => {
100
  };
101
  };
102
 
103
- renderFrontend(
104
- '.wp-block-woocommerce-checkout',
105
- withStoreCartApiHydration( withRestApiHydration( CheckoutFrontend ) ),
 
 
106
  getProps,
107
- getErrorBoundaryProps
108
- );
14
  import BlockErrorBoundary from '@woocommerce/base-components/block-error-boundary';
15
  import { CURRENT_USER_IS_ADMIN } from '@woocommerce/block-settings';
16
  import { __experimentalCreateInterpolateElement } from 'wordpress-element';
17
+ import {
18
+ renderFrontend,
19
+ getValidBlockAttributes,
20
+ } from '@woocommerce/base-utils';
21
 
22
  /**
23
  * Internal dependencies
24
  */
25
  import Block from './block.js';
26
  import blockAttributes from './attributes';
 
 
 
 
27
  import EmptyCart from './empty-cart/index.js';
28
 
29
  const reloadPage = () => void window.location.reload( true );
75
 
76
  const getProps = ( el ) => {
77
  return {
78
+ attributes: getValidBlockAttributes( blockAttributes, el.dataset ),
79
  };
80
  };
81
 
100
  };
101
  };
102
 
103
+ renderFrontend( {
104
+ selector: '.wp-block-woocommerce-checkout',
105
+ Block: withStoreCartApiHydration(
106
+ withRestApiHydration( CheckoutFrontend )
107
+ ),
108
  getProps,
109
+ getErrorBoundaryProps,
110
+ } );
assets/js/blocks/cart-checkout/checkout/index.js CHANGED
@@ -2,9 +2,9 @@
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
- import { registerBlockType } from '@wordpress/blocks';
6
  import { Icon, card } from '@woocommerce/icons';
7
  import classnames from 'classnames';
 
8
 
9
  /**
10
  * Internal dependencies
@@ -49,4 +49,4 @@ const settings = {
49
  },
50
  };
51
 
52
- registerBlockType( 'woocommerce/checkout', settings );
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
 
5
  import { Icon, card } from '@woocommerce/icons';
6
  import classnames from 'classnames';
7
+ import { registerFeaturePluginBlockType } from '@woocommerce/block-settings';
8
 
9
  /**
10
  * Internal dependencies
49
  },
50
  };
51
 
52
+ registerFeaturePluginBlockType( 'woocommerce/checkout', settings );
assets/js/blocks/cart-checkout/checkout/sidebar/index.js CHANGED
@@ -2,6 +2,7 @@
2
  * External dependencies
3
  */
4
  import {
 
5
  SubtotalsItem,
6
  TotalsFeesItem,
7
  TotalsCouponCodeInput,
@@ -18,11 +19,6 @@ import {
18
  } from '@woocommerce/block-settings';
19
  import { useStoreCartCoupons } from '@woocommerce/base-hooks';
20
 
21
- /**
22
- * Internal dependencies
23
- */
24
- import OrderSummary from './order-summary.js';
25
-
26
  const CheckoutSidebar = ( {
27
  cartCoupons = [],
28
  cartItems = [],
2
  * External dependencies
3
  */
4
  import {
5
+ OrderSummary,
6
  SubtotalsItem,
7
  TotalsFeesItem,
8
  TotalsCouponCodeInput,
19
  } from '@woocommerce/block-settings';
20
  import { useStoreCartCoupons } from '@woocommerce/base-hooks';
21
 
 
 
 
 
 
22
  const CheckoutSidebar = ( {
23
  cartCoupons = [],
24
  cartItems = [],
assets/js/blocks/cart-checkout/checkout/sidebar/order-summary.js DELETED
@@ -1,65 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
- import { Card, CardBody, PanelBody, PanelRow } from 'wordpress-components';
6
- import { Icon, cart } from '@woocommerce/icons';
7
- import PropTypes from 'prop-types';
8
- import { useContainerWidthContext } from '@woocommerce/base-context';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import CheckoutOrderSummaryItem from './order-summary-item.js';
14
-
15
- const CheckoutOrderSummary = ( { cartItems = [] } ) => {
16
- const { isLarge, hasContainerWidth } = useContainerWidthContext();
17
-
18
- if ( ! hasContainerWidth ) {
19
- return null;
20
- }
21
-
22
- return (
23
- <Card isElevated={ true }>
24
- <CardBody>
25
- <PanelBody
26
- className="wc-block-order-summary"
27
- title={
28
- <>
29
- <Icon
30
- className="wc-block-order-summary__button-icon"
31
- srcElement={ cart }
32
- />
33
- <span className="wc-block-order-summary__button-text">
34
- { __(
35
- 'Order summary',
36
- 'woo-gutenberg-products-block'
37
- ) }
38
- </span>
39
- </>
40
- }
41
- initialOpen={ isLarge }
42
- >
43
- <PanelRow className="wc-block-order-summary__row">
44
- { cartItems.map( ( cartItem ) => {
45
- return (
46
- <CheckoutOrderSummaryItem
47
- key={ cartItem.key }
48
- cartItem={ cartItem }
49
- />
50
- );
51
- } ) }
52
- </PanelRow>
53
- </PanelBody>
54
- </CardBody>
55
- </Card>
56
- );
57
- };
58
-
59
- CheckoutOrderSummary.propTypes = {
60
- cartItems: PropTypes.arrayOf(
61
- PropTypes.shape( { key: PropTypes.string.isRequired } )
62
- ),
63
- };
64
-
65
- export default CheckoutOrderSummary;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/blocks/cart-checkout/checkout/style.scss CHANGED
@@ -20,115 +20,15 @@
20
  }
21
 
22
  .wc-block-checkout__sidebar {
23
- .wc-block-order-summary {
24
- border: none;
25
-
26
- &.is-opened {
27
- padding-bottom: 0;
28
- }
29
-
30
- > .components-panel__body-title > .components-panel__body-toggle {
31
- padding: $gap-small 0;
32
- }
33
-
34
- .components-panel__body-toggle {
35
- padding: 0;
36
- }
37
- }
38
-
39
  .wc-block-product-name {
40
  color: inherit;
41
- }
42
-
43
- .wc-block-order-summary__button-icon {
44
- vertical-align: middle;
45
- }
46
-
47
- .wc-block-order-summary__button-text {
48
- margin-left: $gap;
49
- }
50
-
51
- .wc-block-order-summary__row {
52
- display: table;
53
- width: 100%;
54
- }
55
-
56
- .wc-block-order-summary-item {
57
- display: table-row;
58
- > div {
59
- border-bottom: 1px solid $core-grey-light-600;
60
- }
61
- &:last-child {
62
- > div {
63
- border-bottom: none;
64
- }
65
- }
66
- }
67
-
68
- .wc-block-order-summary-item__image,
69
- .wc-block-order-summary-item__description {
70
- display: table-cell;
71
- vertical-align: top;
72
- }
73
-
74
- .wc-block-order-summary-item__image {
75
- width: #{$gap-large * 2};
76
- padding-top: $gap;
77
- padding-bottom: $gap;
78
- position: relative;
79
-
80
- > img {
81
- width: #{$gap-large * 2};
82
- max-width: #{$gap-large * 2};
83
- }
84
- }
85
-
86
- .wc-block-order-summary-item__quantity {
87
- @include font-size(12px);
88
- align-items: center;
89
- background: #fff;
90
- border: 2px solid currentColor;
91
- border-radius: 50%;
92
- // Use box-shadow to apply an extra border to the quantity.
93
- // This distinguishes it from the product image.
94
- box-shadow: 0 0 0 2px #fff;
95
- display: flex;
96
- line-height: 1;
97
- min-height: 22px;
98
- position: absolute;
99
- justify-content: center;
100
- min-width: 22px;
101
- right: -10px;
102
- margin: -10px 0 0 0;
103
- }
104
-
105
- .wc-block-order-summary-item__description {
106
- padding-left: $gap-large;
107
- padding-top: $gap;
108
- padding-bottom: $gap;
109
- line-height: $gap-large;
110
-
111
- p,
112
- .wc-block-product-metadata {
113
- line-height: $gap;
114
- margin-top: #{ ( $gap-large - $gap ) / 2 };
115
- }
116
- }
117
-
118
- .wc-block-order-summary-item__header {
119
- display: flex;
120
- flex-wrap: wrap;
121
- justify-content: space-between;
122
- }
123
-
124
- .wc-block-product-name {
125
  flex-grow: 1;
126
  // Required by IE11.
127
  flex-basis: 0;
128
  }
129
  }
130
 
131
- .wc-block-component-express-checkout-continue-rule {
132
  display: flex;
133
  align-items: center;
134
  text-align: center;
@@ -176,21 +76,39 @@
176
 
177
  // Loading placeholder state.
178
  .wc-block-checkout--is-loading {
179
- .wc-block-component-express-checkout,
180
  .wc-block-checkout__actions button {
181
  @include placeholder();
182
  @include force-content();
183
  }
184
- .wc-block-component-express-checkout {
185
  min-height: 150px;
186
  }
187
- .wc-block-component-express-checkout-continue-rule span {
188
  @include placeholder();
189
  @include force-content();
190
  width: 150px;
191
  }
192
  .wc-block-checkout-form {
193
- fieldset span {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  @include placeholder();
195
  @include force-content();
196
  display: block;
@@ -311,12 +229,6 @@
311
  }
312
 
313
  .is-large {
314
- .wc-block-checkout__sidebar {
315
- .wc-block-order-summary {
316
- margin: -20px;
317
- }
318
- }
319
-
320
  .wc-block-checkout__actions {
321
  padding-right: 36px;
322
  }
@@ -326,39 +238,4 @@
326
  margin-left: -8px;
327
  }
328
  }
329
-
330
- .wc-block-checkout__sidebar {
331
- .wc-block-totals-table-item {
332
- padding-left: $gap;
333
- padding-right: $gap;
334
- }
335
-
336
- .wc-block-coupon-code .components-panel__body-toggle {
337
- padding-left: $gap;
338
-
339
- .components-panel__arrow {
340
- right: $gap-small;
341
- }
342
- }
343
-
344
- .wc-block-coupon-code__row {
345
- padding-left: $gap;
346
- padding-right: $gap;
347
-
348
- }
349
-
350
- .wc-block-order-summary {
351
- > .components-panel__body-title > .components-panel__body-toggle {
352
- padding-left: $gap;
353
-
354
- .components-panel__arrow {
355
- right: $gap-small;
356
- }
357
- }
358
- }
359
-
360
- .wc-block-order-summary__row {
361
- padding: 0 $gap;
362
- }
363
- }
364
  }
20
  }
21
 
22
  .wc-block-checkout__sidebar {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  .wc-block-product-name {
24
  color: inherit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  flex-grow: 1;
26
  // Required by IE11.
27
  flex-basis: 0;
28
  }
29
  }
30
 
31
+ .wc-block-components-express-checkout-continue-rule {
32
  display: flex;
33
  align-items: center;
34
  text-align: center;
76
 
77
  // Loading placeholder state.
78
  .wc-block-checkout--is-loading {
79
+ .wc-block-components-express-checkout,
80
  .wc-block-checkout__actions button {
81
  @include placeholder();
82
  @include force-content();
83
  }
84
+ .wc-block-components-express-checkout {
85
  min-height: 150px;
86
  }
87
+ .wc-block-components-express-checkout-continue-rule span {
88
  @include placeholder();
89
  @include force-content();
90
  width: 150px;
91
  }
92
  .wc-block-checkout-form {
93
+ .wc-block-checkout-step__title {
94
+ @include placeholder();
95
+ @include force-content();
96
+ display: block;
97
+ width: 10em;
98
+
99
+ &::before {
100
+ @include placeholder();
101
+ @include force-content();
102
+ border-radius: 50%;
103
+ display: block;
104
+ height: 100%;
105
+ width: 1.5em;
106
+ }
107
+ }
108
+ .wc-block-checkout-step__container::after {
109
+ @include placeholder();
110
+ }
111
+ .wc-block-checkout-step__content > span {
112
  @include placeholder();
113
  @include force-content();
114
  display: block;
229
  }
230
 
231
  .is-large {
 
 
 
 
 
 
232
  .wc-block-checkout__actions {
233
  padding-right: 36px;
234
  }
238
  margin-left: -8px;
239
  }
240
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  }
assets/js/blocks/featured-category/block.js CHANGED
@@ -214,7 +214,7 @@ const FeaturedCategory = ( {
214
  } }
215
  isSingle
216
  />
217
- <Button isDefault onClick={ onDone }>
218
  { __( 'Done', 'woo-gutenberg-products-block' ) }
219
  </Button>
220
  </div>
214
  } }
215
  isSingle
216
  />
217
+ <Button isPrimary onClick={ onDone }>
218
  { __( 'Done', 'woo-gutenberg-products-block' ) }
219
  </Button>
220
  </div>
assets/js/blocks/featured-category/editor.scss CHANGED
@@ -1,9 +1,4 @@
1
  .wc-block-featured-category {
2
- &.components-placeholder {
3
- // Reset the background for the placeholders.
4
- background-color: rgba(139, 139, 150, 0.1);
5
- }
6
-
7
  .components-resizable-box__handle {
8
  z-index: 10;
9
  }
1
  .wc-block-featured-category {
 
 
 
 
 
2
  .components-resizable-box__handle {
3
  z-index: 10;
4
  }
assets/js/blocks/featured-product/block.js CHANGED
@@ -112,7 +112,7 @@ const FeaturedProduct = ( {
112
  triggerUrlUpdate();
113
  } }
114
  />
115
- <Button isDefault onClick={ onDone }>
116
  { __( 'Done', 'woo-gutenberg-products-block' ) }
117
  </Button>
118
  </div>
112
  triggerUrlUpdate();
113
  } }
114
  />
115
+ <Button isPrimary onClick={ onDone }>
116
  { __( 'Done', 'woo-gutenberg-products-block' ) }
117
  </Button>
118
  </div>
assets/js/blocks/featured-product/editor.scss CHANGED
@@ -1,9 +1,4 @@
1
  .wc-block-featured-product {
2
- &.components-placeholder {
3
- // Reset the background for the placeholders.
4
- background-color: rgba(139, 139, 150, 0.1);
5
- }
6
-
7
  .components-resizable-box__handle {
8
  z-index: 10;
9
  }
1
  .wc-block-featured-product {
 
 
 
 
 
2
  .components-resizable-box__handle {
3
  z-index: 10;
4
  }
assets/js/blocks/handpicked-products/block.js CHANGED
@@ -145,7 +145,7 @@ class ProductsBlock extends Component {
145
  setAttributes( { products: ids } );
146
  } }
147
  />
148
- <Button isDefault onClick={ onDone }>
149
  { __( 'Done', 'woo-gutenberg-products-block' ) }
150
  </Button>
151
  </div>
145
  setAttributes( { products: ids } );
146
  } }
147
  />
148
+ <Button isPrimary onClick={ onDone }>
149
  { __( 'Done', 'woo-gutenberg-products-block' ) }
150
  </Button>
151
  </div>
assets/js/blocks/price-filter/edit.js CHANGED
@@ -133,7 +133,7 @@ export default function( { attributes, setAttributes } ) {
133
  ) }
134
  </p>
135
  <Button
136
- className="wc-block-price-slider__add_product_button"
137
  isDefault
138
  isLarge
139
  href={ getAdminLink( 'post-new.php?post_type=product' ) }
133
  ) }
134
  </p>
135
  <Button
136
+ className="wc-block-price-slider__add-product-button"
137
  isDefault
138
  isLarge
139
  href={ getAdminLink( 'post-new.php?post_type=product' ) }
assets/js/blocks/price-filter/editor.scss CHANGED
@@ -22,13 +22,8 @@
22
  }
23
  .components-placeholder__fieldset {
24
  display: block; /* Disable flex box */
25
-
26
- p {
27
- @include font-size(14px);
28
- }
29
  }
30
- .wc-block-price-slider__add_product_button {
31
- @include font-size(14px, 24px);
32
  margin: 0 0 1em;
33
  vertical-align: middle;
34
  height: auto;
22
  }
23
  .components-placeholder__fieldset {
24
  display: block; /* Disable flex box */
 
 
 
 
25
  }
26
+ .wc-block-price-slider__add-product-button {
 
27
  margin: 0 0 1em;
28
  vertical-align: middle;
29
  height: auto;
assets/js/blocks/price-filter/frontend.js CHANGED
@@ -2,11 +2,11 @@
2
  * External dependencies
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
 
5
 
6
  /**
7
  * Internal dependencies
8
  */
9
- import renderFrontend from '../../utils/render-frontend.js';
10
  import Block from './block.js';
11
 
12
  const getProps = ( el ) => {
@@ -18,8 +18,8 @@ const getProps = ( el ) => {
18
  };
19
  };
20
 
21
- renderFrontend(
22
- '.wp-block-woocommerce-price-filter',
23
- withRestApiHydration( Block ),
24
- getProps
25
- );
2
  * External dependencies
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
5
+ import { renderFrontend } from '@woocommerce/base-utils';
6
 
7
  /**
8
  * Internal dependencies
9
  */
 
10
  import Block from './block.js';
11
 
12
  const getProps = ( el ) => {
18
  };
19
  };
20
 
21
+ renderFrontend( {
22
+ selector: '.wp-block-woocommerce-price-filter',
23
+ Block: withRestApiHydration( Block ),
24
+ getProps,
25
+ } );
assets/js/blocks/product-categories/style.scss CHANGED
@@ -67,11 +67,11 @@
67
  border: none;
68
  cursor: pointer;
69
  background: none;
70
- padding: 0 rem(8, 13);
71
  color: #555d66;
72
  position: relative;
73
  overflow: hidden;
74
- border-radius: rem(4, 13);
75
  svg {
76
  fill: currentColor;
77
  outline: none;
67
  border: none;
68
  cursor: pointer;
69
  background: none;
70
+ padding: 0 0.5em;
71
  color: #555d66;
72
  position: relative;
73
  overflow: hidden;
74
+ border-radius: 0.25em;
75
  svg {
76
  fill: currentColor;
77
  outline: none;
assets/js/blocks/product-category/block.js CHANGED
@@ -219,7 +219,7 @@ class ProductByCategoryBlock extends Component {
219
  this.setChangedAttributes( { catOperator: value } )
220
  }
221
  />
222
- <Button isDefault onClick={ onDone }>
223
  { __( 'Done', 'woo-gutenberg-products-block' ) }
224
  </Button>
225
  <Button
219
  this.setChangedAttributes( { catOperator: value } )
220
  }
221
  />
222
+ <Button isPrimary onClick={ onDone }>
223
  { __( 'Done', 'woo-gutenberg-products-block' ) }
224
  </Button>
225
  <Button
assets/js/blocks/product-category/editor.scss CHANGED
@@ -1,9 +1,7 @@
1
  .wc-block-products-category__selection {
2
  width: 100%;
3
  }
 
4
  .wc-block-products-category__cancel-button.is-tertiary {
5
  margin: 1em auto 0;
6
- display: block;
7
- text-align: center;
8
- font-size: 1em;
9
  }
1
  .wc-block-products-category__selection {
2
  width: 100%;
3
  }
4
+
5
  .wc-block-products-category__cancel-button.is-tertiary {
6
  margin: 1em auto 0;
 
 
 
7
  }
assets/js/blocks/product-search/style.scss CHANGED
@@ -15,11 +15,11 @@
15
  border: none;
16
  cursor: pointer;
17
  background: none;
18
- padding: 8px;
19
  color: #555d66;
20
  position: relative;
21
  overflow: hidden;
22
- border-radius: 4px;
23
  svg {
24
  fill: currentColor;
25
  outline: none;
15
  border: none;
16
  cursor: pointer;
17
  background: none;
18
+ padding: 0 0.5em;
19
  color: #555d66;
20
  position: relative;
21
  overflow: hidden;
22
+ border-radius: 0.25em;
23
  svg {
24
  fill: currentColor;
25
  outline: none;
assets/js/blocks/product-tag/block.js CHANGED
@@ -202,7 +202,7 @@ class ProductsByTagBlock extends Component {
202
  this.setChangedAttributes( { tagOperator: value } )
203
  }
204
  />
205
- <Button isDefault onClick={ onDone }>
206
  { __( 'Done', 'woo-gutenberg-products-block' ) }
207
  </Button>
208
  <Button
202
  this.setChangedAttributes( { tagOperator: value } )
203
  }
204
  />
205
+ <Button isPrimary onClick={ onDone }>
206
  { __( 'Done', 'woo-gutenberg-products-block' ) }
207
  </Button>
208
  <Button
assets/js/blocks/product-tag/editor.scss CHANGED
@@ -1,9 +1,7 @@
1
  .wc-block-product-tag__selection {
2
  width: 100%;
3
  }
 
4
  .wc-block-product-tag__cancel-button.is-tertiary {
5
  margin: 1em auto 0;
6
- display: block;
7
- text-align: center;
8
- font-size: 1em;
9
  }
1
  .wc-block-product-tag__selection {
2
  width: 100%;
3
  }
4
+
5
  .wc-block-product-tag__cancel-button.is-tertiary {
6
  margin: 1em auto 0;
 
 
 
7
  }
assets/js/blocks/products-by-attribute/block.js CHANGED
@@ -145,7 +145,7 @@ class ProductsByAttributeBlock extends Component {
145
  setAttributes( { attrOperator: value } )
146
  }
147
  />
148
- <Button isDefault onClick={ onDone }>
149
  { __( 'Done', 'woo-gutenberg-products-block' ) }
150
  </Button>
151
  </div>
145
  setAttributes( { attrOperator: value } )
146
  }
147
  />
148
+ <Button isPrimary onClick={ onDone }>
149
  { __( 'Done', 'woo-gutenberg-products-block' ) }
150
  </Button>
151
  </div>
assets/js/blocks/products/all-products/block.js CHANGED
@@ -4,18 +4,9 @@
4
  import { Component } from 'react';
5
  import PropTypes from 'prop-types';
6
  import ProductListContainer from '@woocommerce/base-components/product-list/container';
7
- import {
8
- InnerBlockConfigurationProvider,
9
- ProductLayoutContextProvider,
10
- } from '@woocommerce/base-context';
11
  import { gridBlockPreview } from '@woocommerce/resource-previews';
12
 
13
- const layoutContextConfig = {
14
- layoutStyleClassPrefix: 'wc-block-grid',
15
- };
16
-
17
- const parentBlockConfig = { parentName: 'woocommerce/all-products' };
18
-
19
  /**
20
  * The All Products Block.
21
  */
@@ -41,14 +32,15 @@ class Block extends Component {
41
  * wc-block-{$this->block_name},
42
  */
43
  return (
44
- <InnerBlockConfigurationProvider value={ parentBlockConfig }>
45
- <ProductLayoutContextProvider value={ layoutContextConfig }>
46
- <ProductListContainer
47
- attributes={ attributes }
48
- urlParameterSuffix={ urlParameterSuffix }
49
- />
50
- </ProductLayoutContextProvider>
51
- </InnerBlockConfigurationProvider>
 
52
  );
53
  }
54
  }
4
  import { Component } from 'react';
5
  import PropTypes from 'prop-types';
6
  import ProductListContainer from '@woocommerce/base-components/product-list/container';
7
+ import { InnerBlockLayoutContextProvider } from '@woocommerce/shared-context';
 
 
 
8
  import { gridBlockPreview } from '@woocommerce/resource-previews';
9
 
 
 
 
 
 
 
10
  /**
11
  * The All Products Block.
12
  */
32
  * wc-block-{$this->block_name},
33
  */
34
  return (
35
+ <InnerBlockLayoutContextProvider
36
+ parentName="woocommerce/all-products"
37
+ parentClassName="wc-block-grid"
38
+ >
39
+ <ProductListContainer
40
+ attributes={ attributes }
41
+ urlParameterSuffix={ urlParameterSuffix }
42
+ />
43
+ </InnerBlockLayoutContextProvider>
44
  );
45
  }
46
  }
assets/js/blocks/products/all-products/edit.js CHANGED
@@ -26,9 +26,11 @@ import { Icon, grid } from '@woocommerce/icons';
26
  import GridLayoutControl from '@woocommerce/block-components/grid-layout-control';
27
  import { HAS_PRODUCTS } from '@woocommerce/block-settings';
28
  import {
29
- InnerBlockConfigurationProvider,
30
- ProductLayoutContextProvider,
31
- } from '@woocommerce/base-context';
 
 
32
 
33
  /**
34
  * Internal dependencies
@@ -40,18 +42,11 @@ import {
40
  } from '../utils';
41
  import {
42
  DEFAULT_PRODUCT_LIST_LAYOUT,
43
- getBlockMap,
44
  getProductLayoutConfig,
45
  } from '../base-utils';
46
  import { getSharedContentControls, getSharedListControls } from '../edit';
47
  import Block from './block';
48
 
49
- const layoutContextConfig = {
50
- layoutStyleClassPrefix: 'wc-block-grid',
51
- };
52
-
53
- const parentBlockConfig = { parentName: 'woocommerce/all-products' };
54
-
55
  /**
56
  * Component to handle edit mode of "All Products".
57
  */
@@ -209,13 +204,22 @@ class Editor extends Component {
209
  'woo-gutenberg-products-block'
210
  ) }
211
  </Tip>
212
- <div className="wc-block-grid has-1-columns">
213
- <ul className="wc-block-grid__products">
214
- <li className="wc-block-grid__product">
215
- <InnerBlocks { ...InnerBlockProps } />
216
- </li>
217
- </ul>
218
- </div>
 
 
 
 
 
 
 
 
 
219
  <div className="wc-block-all-products__actions">
220
  <Button
221
  className="wc-block-all-products__done-button"
@@ -281,22 +285,16 @@ class Editor extends Component {
281
  }
282
 
283
  return (
284
- <InnerBlockConfigurationProvider value={ parentBlockConfig }>
285
- <ProductLayoutContextProvider value={ layoutContextConfig }>
286
- <div
287
- className={ getBlockClassName(
288
- 'wc-block-all-products',
289
- attributes
290
- ) }
291
- >
292
- { this.getBlockControls() }
293
- { this.getInspectorControls() }
294
- { isEditing
295
- ? this.renderEditMode()
296
- : this.renderViewMode() }
297
- </div>
298
- </ProductLayoutContextProvider>
299
- </InnerBlockConfigurationProvider>
300
  );
301
  };
302
  }
26
  import GridLayoutControl from '@woocommerce/block-components/grid-layout-control';
27
  import { HAS_PRODUCTS } from '@woocommerce/block-settings';
28
  import {
29
+ InnerBlockLayoutContextProvider,
30
+ ProductDataContextProvider,
31
+ } from '@woocommerce/shared-context';
32
+ import { getBlockMap } from '@woocommerce/atomic-utils';
33
+ import { previewProducts } from '@woocommerce/resource-previews';
34
 
35
  /**
36
  * Internal dependencies
42
  } from '../utils';
43
  import {
44
  DEFAULT_PRODUCT_LIST_LAYOUT,
 
45
  getProductLayoutConfig,
46
  } from '../base-utils';
47
  import { getSharedContentControls, getSharedListControls } from '../edit';
48
  import Block from './block';
49
 
 
 
 
 
 
 
50
  /**
51
  * Component to handle edit mode of "All Products".
52
  */
204
  'woo-gutenberg-products-block'
205
  ) }
206
  </Tip>
207
+ <InnerBlockLayoutContextProvider
208
+ parentName="woocommerce/all-products"
209
+ parentClassName="wc-block-grid"
210
+ >
211
+ <div className="wc-block-grid has-1-columns">
212
+ <ul className="wc-block-grid__products">
213
+ <li className="wc-block-grid__product">
214
+ <ProductDataContextProvider
215
+ product={ previewProducts[ 0 ] }
216
+ >
217
+ <InnerBlocks { ...InnerBlockProps } />
218
+ </ProductDataContextProvider>
219
+ </li>
220
+ </ul>
221
+ </div>
222
+ </InnerBlockLayoutContextProvider>
223
  <div className="wc-block-all-products__actions">
224
  <Button
225
  className="wc-block-all-products__done-button"
285
  }
286
 
287
  return (
288
+ <div
289
+ className={ getBlockClassName(
290
+ 'wc-block-all-products',
291
+ attributes
292
+ ) }
293
+ >
294
+ { this.getBlockControls() }
295
+ { this.getInspectorControls() }
296
+ { isEditing ? this.renderEditMode() : this.renderViewMode() }
297
+ </div>
 
 
 
 
 
 
298
  );
299
  };
300
  }
assets/js/blocks/products/all-products/frontend.js CHANGED
@@ -3,12 +3,12 @@
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
5
  import { StoreNoticesProvider } from '@woocommerce/base-context';
 
6
 
7
  /**
8
  * Internal dependencies
9
  */
10
  import Block from './block';
11
- import renderFrontend from '../../../utils/render-frontend.js';
12
 
13
  /**
14
  * Wrapper component to supply the notice provider.
@@ -27,8 +27,8 @@ const getProps = ( el ) => ( {
27
  attributes: JSON.parse( el.dataset.attributes ),
28
  } );
29
 
30
- renderFrontend(
31
- '.wp-block-woocommerce-all-products',
32
- withRestApiHydration( AllProductsFrontend ),
33
- getProps
34
- );
3
  */
4
  import { withRestApiHydration } from '@woocommerce/block-hocs';
5
  import { StoreNoticesProvider } from '@woocommerce/base-context';
6
+ import { renderFrontend } from '@woocommerce/base-utils';
7
 
8
  /**
9
  * Internal dependencies
10
  */
11
  import Block from './block';
 
12
 
13
  /**
14
  * Wrapper component to supply the notice provider.
27
  attributes: JSON.parse( el.dataset.attributes ),
28
  } );
29
 
30
+ renderFrontend( {
31
+ selector: '.wp-block-woocommerce-all-products',
32
+ Block: withRestApiHydration( AllProductsFrontend ),
33
+ getProps,
34
+ } );
assets/js/blocks/products/all-products/index.js CHANGED
@@ -5,6 +5,7 @@ import { __ } from '@wordpress/i18n';
5
  import { InnerBlocks } from '@wordpress/block-editor';
6
  import { registerBlockType } from '@wordpress/blocks';
7
  import { Icon, grid } from '@woocommerce/icons';
 
8
 
9
  /**
10
  * Internal dependencies
@@ -12,7 +13,6 @@ import { Icon, grid } from '@woocommerce/icons';
12
  import Editor from './edit';
13
  import { attributes as sharedAttributes, defaults } from '../attributes';
14
  import { getBlockClassName } from '../utils.js';
15
- import '../../../atomic/blocks/product';
16
 
17
  const blockSettings = {
18
  title: __( 'All Products', 'woo-gutenberg-products-block' ),
5
  import { InnerBlocks } from '@wordpress/block-editor';
6
  import { registerBlockType } from '@wordpress/blocks';
7
  import { Icon, grid } from '@woocommerce/icons';
8
+ import '@woocommerce/atomic-blocks';
9
 
10
  /**
11
  * Internal dependencies
13
  import Editor from './edit';
14
  import { attributes as sharedAttributes, defaults } from '../attributes';
15
  import { getBlockClassName } from '../utils.js';
 
16
 
17
  const blockSettings = {
18
  title: __( 'All Products', 'woo-gutenberg-products-block' ),
assets/js/blocks/products/base-utils.js CHANGED
@@ -1,33 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { getRegisteredInnerBlocks } from '@woocommerce/blocks-registry';
5
- import {
6
- ProductTitle,
7
- ProductPrice,
8
- ProductButton,
9
- ProductImage,
10
- ProductRating,
11
- ProductSummary,
12
- ProductSaleBadge,
13
- } from '@woocommerce/atomic-components/product';
14
-
15
- /**
16
- * Map blocks names to components.
17
- *
18
- * @param {string} blockName Name of the parent block. Used to get extension children.
19
- */
20
- export const getBlockMap = ( blockName ) => ( {
21
- 'woocommerce/product-price': ProductPrice,
22
- 'woocommerce/product-image': ProductImage,
23
- 'woocommerce/product-title': ProductTitle,
24
- 'woocommerce/product-rating': ProductRating,
25
- 'woocommerce/product-button': ProductButton,
26
- 'woocommerce/product-summary': ProductSummary,
27
- 'woocommerce/product-sale-badge': ProductSaleBadge,
28
- ...getRegisteredInnerBlocks( blockName ),
29
- } );
30
-
31
  /**
32
  * The default layout built from the default template.
33
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /**
2
  * The default layout built from the default template.
3
  */
assets/js/blocks/products/editor.scss CHANGED
@@ -11,13 +11,8 @@
11
  }
12
  .components-placeholder__fieldset {
13
  display: block; /* Disable flex box */
14
-
15
- p {
16
- @include font-size(14px);
17
- }
18
  }
19
- .wc-block-products__add_product_button {
20
- @include font-size(14px, 24px);
21
  margin: 0 0 1em;
22
  vertical-align: middle;
23
  height: auto;
11
  }
12
  .components-placeholder__fieldset {
13
  display: block; /* Disable flex box */
 
 
 
 
14
  }
15
+ .wc-block-products__add-product-button {
 
16
  margin: 0 0 1em;
17
  vertical-align: middle;
18
  height: auto;
assets/js/blocks/products/utils.js CHANGED
@@ -32,7 +32,7 @@ export const renderNoProductsPlaceholder = ( blockTitle, blockIcon ) => (
32
  ) }
33
  </p>
34
  <Button
35
- className="wc-block-products__add_product_button"
36
  isDefault
37
  isLarge
38
  href={ adminUrl + 'post-new.php?post_type=product' }
32
  ) }
33
  </p>
34
  <Button
35
+ className="wc-block-products__add-product-button"
36
  isDefault
37
  isLarge
38
  href={ adminUrl + 'post-new.php?post_type=product' }
assets/js/blocks/reviews/frontend.js CHANGED
@@ -1,8 +1,12 @@
 
 
 
 
 
1
  /**
2
  * Internal dependencies
3
  */
4
  import FrontendContainerBlock from './frontend-container-block.js';
5
- import renderFrontend from '../../utils/render-frontend.js';
6
 
7
  const selector = `
8
  .wp-block-woocommerce-all-reviews,
@@ -23,4 +27,4 @@ const getProps = ( el ) => {
23
  };
24
  };
25
 
26
- renderFrontend( selector, FrontendContainerBlock, getProps );
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { renderFrontend } from '@woocommerce/base-utils';
5
+
6
  /**
7
  * Internal dependencies
8
  */
9
  import FrontendContainerBlock from './frontend-container-block.js';
 
10
 
11
  const selector = `
12
  .wp-block-woocommerce-all-reviews,
27
  };
28
  };
29
 
30
+ renderFrontend( { selector, Block: FrontendContainerBlock, getProps } );
assets/js/blocks/reviews/reviews-by-category/edit.js CHANGED
@@ -155,7 +155,7 @@ const ReviewsByCategoryEditor = ( {
155
  } }
156
  showReviewCount={ true }
157
  />
158
- <Button isDefault onClick={ onDone }>
159
  { __( 'Done', 'woo-gutenberg-products-block' ) }
160
  </Button>
161
  </div>
155
  } }
156
  showReviewCount={ true }
157
  />
158
+ <Button isPrimary onClick={ onDone }>
159
  { __( 'Done', 'woo-gutenberg-products-block' ) }
160
  </Button>
161
  </div>
assets/js/blocks/reviews/reviews-by-product/edit.js CHANGED
@@ -143,7 +143,7 @@ const ReviewsByProductEditor = ( {
143
  } }
144
  renderItem={ renderProductControlItem }
145
  />
146
- <Button isDefault onClick={ onDone }>
147
  { __( 'Done', 'woo-gutenberg-products-block' ) }
148
  </Button>
149
  </div>
143
  } }
144
  renderItem={ renderProductControlItem }
145
  />
146
+ <Button isPrimary onClick={ onDone }>
147
  { __( 'Done', 'woo-gutenberg-products-block' ) }
148
  </Button>
149
  </div>
assets/js/blocks/single-product/attributes.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ export const blockAttributes = {
5
+ isPreview: {
6
+ type: 'boolean',
7
+ default: false,
8
+ save: false,
9
+ },
10
+ /**
11
+ * The product ID to display.
12
+ */
13
+ productId: {
14
+ type: 'number',
15
+ },
16
+ };
17
+
18
+ export default blockAttributes;
assets/js/blocks/single-product/block.js ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { withProduct } from '@woocommerce/block-hocs';
5
+ import {
6
+ InnerBlockLayoutContextProvider,
7
+ ProductDataContextProvider,
8
+ } from '@woocommerce/shared-context';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { BLOCK_NAME } from './constants';
14
+
15
+ /**
16
+ * The Single Product Block.
17
+ */
18
+ const Block = ( { isLoading, product, children } ) => {
19
+ const className = 'wc-block-single-product';
20
+
21
+ return (
22
+ <InnerBlockLayoutContextProvider
23
+ parentName={ BLOCK_NAME }
24
+ parentClassName={ className }
25
+ isLoading={ isLoading }
26
+ >
27
+ <ProductDataContextProvider product={ product }>
28
+ <div className={ className }>{ children }</div>
29
+ </ProductDataContextProvider>
30
+ </InnerBlockLayoutContextProvider>
31
+ );
32
+ };
33
+
34
+ export default withProduct( Block );
assets/js/blocks/single-product/constants.js ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { Icon, reader } from '@woocommerce/icons';
6
+ import { getBlockMap } from '@woocommerce/atomic-utils';
7
+
8
+ export const BLOCK_NAME = 'woocommerce/single-product';
9
+ export const BLOCK_TITLE = __(
10
+ 'Single Product',
11
+ 'woo-gutenberg-products-block'
12
+ );
13
+ export const BLOCK_ICON = <Icon srcElement={ reader } />;
14
+ export const BLOCK_DESCRIPTION = __(
15
+ 'Display a single product.',
16
+ 'woo-gutenberg-products-block'
17
+ );
18
+
19
+ export const DEFAULT_INNER_BLOCKS = [
20
+ [
21
+ 'core/columns',
22
+ {},
23
+ [
24
+ [
25
+ 'core/column',
26
+ {},
27
+ [ [ 'woocommerce/product-image', { showSaleBadge: false } ] ],
28
+ ],
29
+ [
30
+ 'core/column',
31
+ {},
32
+ [
33
+ [ 'woocommerce/product-sale-badge' ],
34
+ [ 'woocommerce/product-title', { headingLevel: 1 } ],
35
+ [ 'woocommerce/product-rating' ],
36
+ [ 'woocommerce/product-price' ],
37
+ [ 'woocommerce/product-summary' ],
38
+ [ 'woocommerce/product-button' ],
39
+ [ 'woocommerce/product-sku' ],
40
+ ],
41
+ ],
42
+ ],
43
+ ],
44
+ ];
45
+
46
+ export const ALLOWED_INNER_BLOCKS = [
47
+ 'core/columns',
48
+ 'core/column',
49
+ ...Object.keys( getBlockMap( BLOCK_NAME ) ),
50
+ ];
assets/js/blocks/single-product/edit/api-error.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import ErrorPlaceholder from '@woocommerce/block-components/error-placeholder';
5
+
6
+ /**
7
+ * Shown when there is an API error getting a product.
8
+ */
9
+ const ApiError = ( { error, isLoading, getProduct } ) => (
10
+ <ErrorPlaceholder
11
+ className="wc-block-single-product-error"
12
+ error={ error }
13
+ isLoading={ isLoading }
14
+ onRetry={ getProduct }
15
+ />
16
+ );
17
+
18
+ export default ApiError;
assets/js/blocks/single-product/edit/editor-block-controls.js ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { BlockControls } from '@wordpress/block-editor';
6
+ import { Toolbar } from '@wordpress/components';
7
+
8
+ /**
9
+ * Adds controls to the editor toolbar.
10
+ */
11
+ const EditorBlockControls = ( { isEditing, setIsEditing } ) => {
12
+ return (
13
+ <BlockControls>
14
+ <Toolbar
15
+ controls={ [
16
+ {
17
+ icon: 'edit',
18
+ title: __( 'Edit', 'woo-gutenberg-products-block' ),
19
+ onClick: () => setIsEditing( ! isEditing ),
20
+ isActive: isEditing,
21
+ },
22
+ ] }
23
+ />
24
+ </BlockControls>
25
+ );
26
+ };
27
+
28
+ export default EditorBlockControls;
assets/js/blocks/single-product/edit/editor.scss ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wc-block-single-product__selection {
2
+ width: 100%;
3
+ }
4
+ .wc-block-single-product__reset-layout {
5
+ padding: 0;
6
+
7
+ svg {
8
+ margin-right: 4px;
9
+ }
10
+ }
11
+ .wc-block-single-product__edit-card {
12
+ padding: 16px;
13
+ border-top: 1px solid #e2e4e7;
14
+
15
+ .wc-block-single-product__edit-card-title {
16
+ margin: 0 0 $gap;
17
+ }
18
+ }
assets/js/blocks/single-product/edit/index.js ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { useState } from '@wordpress/element';
6
+ import { Placeholder, Button, PanelBody } from '@wordpress/components';
7
+ import { withProduct } from '@woocommerce/block-hocs';
8
+ import BlockErrorBoundary from '@woocommerce/base-components/block-error-boundary';
9
+ import EditProductLink from '@woocommerce/block-components/edit-product-link';
10
+ import { singleProductBlockPreview } from '@woocommerce/resource-previews';
11
+ import { InspectorControls } from '@wordpress/block-editor';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import './editor.scss';
17
+ import ApiError from './api-error';
18
+ import SharedProductControl from './shared-product-control';
19
+ import EditorBlockControls from './editor-block-controls';
20
+ import LayoutEditor from './layout-editor';
21
+ import { BLOCK_TITLE, BLOCK_ICON, BLOCK_DESCRIPTION } from '../constants';
22
+
23
+ /**
24
+ * Component to handle edit mode of the "Single Product Block".
25
+ */
26
+ const Editor = ( {
27
+ className,
28
+ attributes,
29
+ setAttributes,
30
+ error,
31
+ getProduct,
32
+ product,
33
+ isLoading,
34
+ clientId,
35
+ } ) => {
36
+ const { productId, isPreview } = attributes;
37
+ const [ isEditing, setIsEditing ] = useState( ! productId );
38
+
39
+ if ( isPreview ) {
40
+ return singleProductBlockPreview;
41
+ }
42
+
43
+ if ( error ) {
44
+ return (
45
+ <ApiError
46
+ error={ error }
47
+ isLoading={ isLoading }
48
+ getProduct={ getProduct }
49
+ />
50
+ );
51
+ }
52
+
53
+ return (
54
+ <div className={ className }>
55
+ <BlockErrorBoundary
56
+ header={ __(
57
+ 'Single Product Block Error',
58
+ 'woo-gutenberg-products-block'
59
+ ) }
60
+ >
61
+ <EditorBlockControls
62
+ setIsEditing={ setIsEditing }
63
+ isEditing={ isEditing }
64
+ />
65
+ { isEditing ? (
66
+ <Placeholder
67
+ icon={ BLOCK_ICON }
68
+ label={ BLOCK_TITLE }
69
+ className="wc-block-single-product"
70
+ >
71
+ { BLOCK_DESCRIPTION }
72
+ <div className="wc-block-single-product__selection">
73
+ <SharedProductControl
74
+ attributes={ attributes }
75
+ setAttributes={ setAttributes }
76
+ />
77
+ <Button
78
+ isDefault
79
+ onClick={ () => {
80
+ setIsEditing( false );
81
+ } }
82
+ >
83
+ { __( 'Done', 'woo-gutenberg-products-block' ) }
84
+ </Button>
85
+ </div>
86
+ </Placeholder>
87
+ ) : (
88
+ <>
89
+ <InspectorControls>
90
+ <PanelBody
91
+ title={ __(
92
+ 'Product',
93
+ 'woo-gutenberg-products-block'
94
+ ) }
95
+ initialOpen={ false }
96
+ >
97
+ <SharedProductControl
98
+ attributes={ attributes }
99
+ setAttributes={ setAttributes }
100
+ />
101
+ </PanelBody>
102
+ </InspectorControls>
103
+ <EditProductLink productId={ productId } />
104
+ <LayoutEditor
105
+ clientId={ clientId }
106
+ product={ product }
107
+ isLoading={ isLoading }
108
+ />
109
+ </>
110
+ ) }
111
+ </BlockErrorBoundary>
112
+ </div>
113
+ );
114
+ };
115
+
116
+ export default withProduct( Editor );
assets/js/blocks/single-product/edit/layout-editor.js ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { useCallback } from '@wordpress/element';
6
+ import { useDispatch } from '@wordpress/data';
7
+ import { InnerBlocks, InspectorControls } from '@wordpress/block-editor';
8
+ import {
9
+ InnerBlockLayoutContextProvider,
10
+ ProductDataContextProvider,
11
+ } from '@woocommerce/shared-context';
12
+ import { createBlocksFromTemplate } from '@woocommerce/atomic-utils';
13
+ import { PanelBody, Button } from '@wordpress/components';
14
+ import { Icon, restore } from '@woocommerce/icons';
15
+
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+ import {
20
+ BLOCK_NAME,
21
+ DEFAULT_INNER_BLOCKS,
22
+ ALLOWED_INNER_BLOCKS,
23
+ } from '../constants';
24
+
25
+ /**
26
+ * Component to handle edit mode of the "Single Product Block".
27
+ */
28
+ const LayoutEditor = ( { isLoading, product, clientId } ) => {
29
+ const baseClassName = 'wc-block-single-product';
30
+ const { replaceInnerBlocks } = useDispatch( 'core/block-editor' );
31
+
32
+ const resetInnerBlocks = useCallback( () => {
33
+ replaceInnerBlocks(
34
+ clientId,
35
+ createBlocksFromTemplate( DEFAULT_INNER_BLOCKS ),
36
+ false
37
+ );
38
+ }, [ clientId, replaceInnerBlocks ] );
39
+
40
+ return (
41
+ <InnerBlockLayoutContextProvider
42
+ parentName={ BLOCK_NAME }
43
+ parentClassName={ baseClassName }
44
+ isLoading={ isLoading }
45
+ >
46
+ <ProductDataContextProvider product={ product }>
47
+ <InspectorControls>
48
+ <PanelBody
49
+ title={ __( 'Layout', 'woo-gutenberg-products-block' ) }
50
+ initialOpen={ true }
51
+ >
52
+ <Button
53
+ label={ __(
54
+ 'Reset layout to default',
55
+ 'woo-gutenberg-products-block'
56
+ ) }
57
+ onClick={ resetInnerBlocks }
58
+ isTertiary
59
+ className="wc-block-single-product__reset-layout"
60
+ >
61
+ <Icon srcElement={ restore } />{ ' ' }
62
+ { __(
63
+ 'Reset layout',
64
+ 'woo-gutenberg-products-block'
65
+ ) }
66
+ </Button>
67
+ </PanelBody>
68
+ </InspectorControls>
69
+ <div className={ baseClassName }>
70
+ <InnerBlocks
71
+ template={ DEFAULT_INNER_BLOCKS }
72
+ allowedBlocks={ ALLOWED_INNER_BLOCKS }
73
+ templateLock={ false }
74
+ renderAppender={ false }
75
+ />
76
+ </div>
77
+ </ProductDataContextProvider>
78
+ </InnerBlockLayoutContextProvider>
79
+ );
80
+ };
81
+
82
+ export default LayoutEditor;
assets/js/blocks/single-product/edit/shared-product-control.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import ProductControl from '@woocommerce/block-components/product-control';
5
+
6
+ /**
7
+ * Allows a product to be selected for display.
8
+ */
9
+ const SharedProductControl = ( { attributes, setAttributes } ) => (
10
+ <ProductControl
11
+ selected={ attributes.productId || 0 }
12
+ showVariations
13
+ onChange={ ( value = [] ) => {
14
+ const id = value[ 0 ] ? value[ 0 ].id : 0;
15
+ setAttributes( {
16
+ productId: id,
17
+ } );
18
+ } }
19
+ />
20
+ );
21
+
22
+ export default SharedProductControl;
assets/js/blocks/single-product/frontend.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { StoreNoticesProvider } from '@woocommerce/base-context';
5
+ import { getValidBlockAttributes } from '@woocommerce/base-utils';
6
+ import { renderParentBlock } from '@woocommerce/atomic-utils';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import Block from './block';
12
+ import blockAttributes from './attributes';
13
+ import { BLOCK_NAME } from './constants';
14
+
15
+ /**
16
+ * Wrapper component to supply the notice provider.
17
+ *
18
+ * @param {*} props
19
+ */
20
+ const FrontendBlock = ( props ) => {
21
+ return (
22
+ <StoreNoticesProvider context="woocommerce/single-product">
23
+ <Block { ...props } />
24
+ </StoreNoticesProvider>
25
+ );
26
+ };
27
+
28
+ const getProps = ( el ) => {
29
+ return {
30
+ attributes: getValidBlockAttributes( blockAttributes, el.dataset ),
31
+ };
32
+ };
33
+
34
+ renderParentBlock( {
35
+ Block: FrontendBlock,
36
+ blockName: BLOCK_NAME,
37
+ selector: '.wp-block-woocommerce-single-product',
38
+ getProps,
39
+ } );
assets/js/blocks/single-product/index.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { registerExperimentalBlockType } from '@woocommerce/block-settings';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import edit from './edit';
11
+ import save from './save';
12
+ import attributes from './attributes';
13
+ import {
14
+ BLOCK_NAME,
15
+ BLOCK_TITLE,
16
+ BLOCK_ICON,
17
+ BLOCK_DESCRIPTION,
18
+ } from './constants';
19
+
20
+ const settings = {
21
+ title: BLOCK_TITLE,
22
+ icon: {
23
+ src: BLOCK_ICON,
24
+ foreground: '#96588a',
25
+ },
26
+ category: 'woocommerce',
27
+ keywords: [ __( 'WooCommerce', 'woo-gutenberg-products-block' ) ],
28
+ description: BLOCK_DESCRIPTION,
29
+ supports: {
30
+ align: [ 'wide', 'full' ],
31
+ html: false,
32
+ },
33
+ example: {
34
+ attributes: {
35
+ isPreview: true,
36
+ },
37
+ },
38
+ attributes,
39
+ edit,
40
+ save,
41
+ };
42
+
43
+ registerExperimentalBlockType( BLOCK_NAME, settings );
assets/js/blocks/single-product/save.js ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { InnerBlocks } from '@wordpress/block-editor';
5
+ import classnames from 'classnames';
6
+
7
+ const Save = ( { attributes } ) => {
8
+ return (
9
+ <div className={ classnames( 'is-loading', attributes.className ) }>
10
+ <InnerBlocks.Content />
11
+ </div>
12
+ );
13
+ };
14
+
15
+ export default Save;
assets/js/components/block-title/editor.scss CHANGED
@@ -1,6 +1,6 @@
1
  // Ensure textarea bg color is transparent for block titles.
2
  // Some themes (e.g. Twenty Twenty) set a non-white background for the editor, and Gutenberg sets white background for text inputs, creating this issue.
3
  // https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/1204
4
- .wc-block-component-title {
5
  background-color: transparent;
6
  }
1
  // Ensure textarea bg color is transparent for block titles.
2
  // Some themes (e.g. Twenty Twenty) set a non-white background for the editor, and Gutenberg sets white background for text inputs, creating this issue.
3
  // https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues/1204
4
+ .wc-block-components-title {
5
  background-color: transparent;
6
  }
assets/js/components/block-title/index.js CHANGED
@@ -16,7 +16,7 @@ const BlockTitle = ( { className, headingLevel, onChange, heading } ) => {
16
  <TagName>
17
  <PlainText
18
  className={ classnames(
19
- 'wc-block-component-title',
20
  className
21
  ) }
22
  value={ heading }
16
  <TagName>
17
  <PlainText
18
  className={ classnames(
19
+ 'wc-block-components-title',
20
  className
21
  ) }
22
  value={ heading }
assets/js/components/edit-product-link/index.js ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { Icon, external } from '@woocommerce/icons';
6
+ import { ADMIN_URL } from '@woocommerce/settings';
7
+ import { InspectorControls } from '@wordpress/block-editor';
8
+
9
+ /**
10
+ * Component to render an edit product link in the sidebar.
11
+ */
12
+ const EditProductLink = ( { productId } ) => {
13
+ return (
14
+ <InspectorControls>
15
+ <div className="wc-block-single-product__edit-card">
16
+ <div className="wc-block-single-product__edit-card-title">
17
+ <a
18
+ href={ `${ ADMIN_URL }post.php?post=${ productId }&action=edit` }
19
+ target="_blank"
20
+ rel="noopener noreferrer"
21
+ >
22
+ { __(
23
+ "Edit this product's details",
24
+ 'woo-gutenberg-products-block'
25
+ ) }
26
+ <Icon srcElement={ external } size={ 16 } />
27
+ </a>
28
+ </div>
29
+ <div className="wc-block-single-product__edit-card-description">
30
+ { __(
31
+ 'Edit details such as title, price, description and more.',
32
+ 'woo-gutenberg-products-block'
33
+ ) }
34
+ </div>
35
+ </div>
36
+ </InspectorControls>
37
+ );
38
+ };
39
+
40
+ export default EditProductLink;
assets/js/components/product-attribute-term-control/style.scss CHANGED
@@ -2,6 +2,11 @@
2
  .components-base-control__help {
3
  @include visually-hidden;
4
  }
 
 
 
 
 
5
  }
6
 
7
  .components-panel {
2
  .components-base-control__help {
3
  @include visually-hidden;
4
  }
5
+
6
+ .components-base-control__label {
7
+ margin-bottom: 0;
8
+ margin-right: 0.5em;
9
+ }
10
  }
11
 
12
  .components-panel {
assets/js/components/product-category-control/style.scss CHANGED
@@ -2,6 +2,11 @@
2
  .components-base-control__help {
3
  @include visually-hidden;
4
  }
 
 
 
 
 
5
  }
6
 
7
  .components-panel {
2
  .components-base-control__help {
3
  @include visually-hidden;
4
  }
5
+
6
+ .components-base-control__label {
7
+ margin-bottom: 0;
8
+ margin-right: 0.5em;
9
+ }
10
  }
11
 
12
  .components-panel {
assets/js/components/product-tag-control/style.scss CHANGED
@@ -2,6 +2,11 @@
2
  .components-base-control__help {
3
  @include visually-hidden;
4
  }
 
 
 
 
 
5
  }
6
 
7
  .components-panel {
2
  .components-base-control__help {
3
  @include visually-hidden;
4
  }
5
+
6
+ .components-base-control__label {
7
+ margin-bottom: 0;
8
+ margin-right: 0.5em;
9
+ }
10
  }
11
 
12
  .components-panel {
assets/js/icons/index.js CHANGED
@@ -1,11 +1,15 @@
1
  export { default as Icon } from './icon';
2
 
3
  export { default as arrowBack } from './library/arrow-back';
 
4
  export { default as bank } from './library/bank';
 
5
  export { default as bill } from './library/bill';
6
  export { default as card } from './library/card';
7
  export { default as cart } from './library/cart';
8
  export { default as checkPayment } from './library/check-payment';
 
 
9
  export { default as comment } from './library/comment';
10
  export { default as done } from './library/done';
11
  export { default as discussion } from './library/discussion';
@@ -17,11 +21,14 @@ export { default as grid } from './library/grid';
17
  export { default as image } from './library/image';
18
  export { default as list } from './library/list';
19
  export { default as more } from './library/more';
 
20
  export { default as notes } from './library/notes';
21
  export { default as notice } from './library/notice';
22
  export { default as radioSelected } from './library/radio-selected';
23
  export { default as radioUnselected } from './library/radio-unselected';
 
24
  export { default as removeCart } from './library/remove-cart';
 
25
  export { default as review } from './library/review';
26
  export { default as search } from './library/search';
27
  export { default as server } from './library/server';
1
  export { default as Icon } from './icon';
2
 
3
  export { default as arrowBack } from './library/arrow-back';
4
+ export { default as arrowDownAlt2 } from './library/arrow-down-alt2';
5
  export { default as bank } from './library/bank';
6
+ export { default as barcode } from './library/barcode';
7
  export { default as bill } from './library/bill';
8
  export { default as card } from './library/card';
9
  export { default as cart } from './library/cart';
10
  export { default as checkPayment } from './library/check-payment';
11
+ export { default as chevronDown } from './library/chevron-down';
12
+ export { default as chevronUp } from './library/chevron-up';
13
  export { default as comment } from './library/comment';
14
  export { default as done } from './library/done';
15
  export { default as discussion } from './library/discussion';
21
  export { default as image } from './library/image';
22
  export { default as list } from './library/list';
23
  export { default as more } from './library/more';
24
+ export { default as noAlt } from './library/no-alt';
25
  export { default as notes } from './library/notes';
26
  export { default as notice } from './library/notice';
27
  export { default as radioSelected } from './library/radio-selected';
28
  export { default as radioUnselected } from './library/radio-unselected';
29
+ export { default as reader } from './library/reader';
30
  export { default as removeCart } from './library/remove-cart';
31
+ export { default as restore } from './library/restore';
32
  export { default as review } from './library/review';
33
  export { default as search } from './library/search';
34
  export { default as server } from './library/server';
assets/js/icons/library/arrow-down-alt2.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { SVG } from 'wordpress-components';
5
+ import classnames from 'classnames';
6
+
7
+ const arrowDownAlt2 = ( { className, size, ...extraProps } ) => {
8
+ const iconClass = classnames(
9
+ 'dashicon',
10
+ 'dashicons-arrow-down-alt2',
11
+ className
12
+ );
13
+ return (
14
+ <SVG
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ viewBox="0 0 20 20"
17
+ className={ iconClass }
18
+ width={ size }
19
+ height={ size }
20
+ { ...extraProps }
21
+ >
22
+ <path d="M5 6l5 5 5-5 2 1-7 7-7-7z" />
23
+ </SVG>
24
+ );
25
+ };
26
+
27
+ export default arrowDownAlt2;
assets/js/icons/library/barcode.js ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { SVG } from 'wordpress-components';
5
+
6
+ const barcode = (
7
+ <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <path
9
+ fill="#626262"
10
+ d="M2 6h2v12H2V6m3 0h1v12H5V6m2 0h3v12H7V6m4 0h1v12h-1V6m3 0h2v12h-2V6m3 0h3v12h-3V6m4 0h1v12h-1V6z"
11
+ />
12
+ </SVG>
13
+ );
14
+
15
+ export default barcode;
assets/js/icons/library/chevron-down.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { SVG } from 'wordpress-components';
5
+
6
+ const chevronDown = (
7
+ <SVG viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
8
+ <path d="M17 9.4L12 14 7 9.4l-1 1.2 6 5.4 6-5.4z" />
9
+ </SVG>
10
+ );
11
+
12
+ export default chevronDown;
assets/js/icons/library/chevron-up.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { SVG } from 'wordpress-components';
5
+
6
+ const chevronUp = (
7
+ <SVG viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
8
+ <path d="M12 8l-6 5.4 1 1.2 5-4.6 5 4.6 1-1.2z" />
9
+ </SVG>
10
+ );
11
+
12
+ export default chevronUp;
assets/js/icons/library/no-alt.js ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { SVG } from 'wordpress-components';
5
+ import classnames from 'classnames';
6
+ const noAlt = ( { className, size, ...extraProps } ) => {
7
+ const iconClass = classnames(
8
+ 'dashicon',
9
+ 'dashicons-arrow-down-alt2',
10
+ className
11
+ );
12
+ return (
13
+ <SVG
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ viewBox="0 0 20 20"
16
+ className={ iconClass }
17
+ width={ size }
18
+ height={ size }
19
+ { ...extraProps }
20
+ >
21
+ <path d="M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z" />
22
+ </SVG>
23
+ );
24
+ };
25
+
26
+ export default noAlt;
assets/js/icons/library/reader.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { SVG } from 'wordpress-components';
5
+
6
+ const reader = (
7
+ <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <path fill="none" d="M0 0h24v24H0V0z" />
9
+ <path d="M21 4H3a2 2 0 00-2 2v13c0 1.1.9 2 2 2h18a2 2 0 002-2V6a2 2 0 00-2-2zM3 19V6h8v13H3zm18 0h-8V6h8v13zm-7-9.5h6V11h-6zm0 2.5h6v1.5h-6zm0 2.5h6V16h-6z" />
10
+ </SVG>
11
+ );
12
+
13
+ export default reader;
assets/js/icons/library/restore.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { SVG } from 'wordpress-components';
5
+
6
+ const restore = (
7
+ <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <path fill="none" d="M0 0h24v24H0z" />
9
+ <path d="M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-2-9c-5 0-9 4-9 9H0l4 4 4-4H5a7 7 0 113 5.7l-1.5 1.4A9 9 0 1012 3z" />
10
+ </SVG>
11
+ );
12
+
13
+ export default restore;
assets/js/module_replacements/dashicon.js ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import {
5
+ arrowDownAlt2 as ArrowDownIcon,
6
+ noAlt as DismissIcon,
7
+ } from '@woocommerce/icons';
8
+ import { createElement } from '@wordpress/element';
9
+
10
+ export default ( { icon, size = 20, className, ...extraProps } ) => {
11
+ let Icon = () => null;
12
+ switch ( icon ) {
13
+ case 'arrow-down-alt2':
14
+ Icon = ArrowDownIcon;
15
+ break;
16
+ case 'no-alt':
17
+ Icon = DismissIcon;
18
+ break;
19
+ }
20
+ // can't use JSX here because the Webpack NormalModuleReplacementPlugin
21
+ // is unable to parse JSX at that point in the build.
22
+ return createElement( Icon, { size, className, ...extraProps } );
23
+ };
assets/js/payment-method-extensions/payment-methods/stripe/stripe-utils/normalize.js CHANGED
@@ -38,8 +38,6 @@ const normalizeLineItems = ( cartTotalItems, pending = false ) => {
38
  * @return {StripeShippingOption[]} An array of Stripe shipping option items.
39
  */
40
  const normalizeShippingOptions = ( shippingOptions ) => {
41
- // @todo, note this currently does not handle multiple packages and this
42
- // will need to be dealt with in a followup.
43
  const rates = shippingOptions[ 0 ].shipping_rates;
44
  return rates.map( ( rate ) => {
45
  return {
38
  * @return {StripeShippingOption[]} An array of Stripe shipping option items.
39
  */
40
  const normalizeShippingOptions = ( shippingOptions ) => {
 
 
41
  const rates = shippingOptions[ 0 ].shipping_rates;
42
  return rates.map( ( rate ) => {
43
  return {
assets/js/payment-method-extensions/payment-methods/stripe/stripe-utils/utils.js CHANGED
@@ -17,11 +17,6 @@ import { __ } from '@wordpress/i18n';
17
  * @typedef {import('@woocommerce/type-defs/registered-payment-method-props').PreparedCartTotalItem} CartTotalItem
18
  */
19
 
20
- // @todo this can't be in the file because the block might not show up unless it's
21
- // rendered! (which also means it won't get passed from the server until it is rendered).
22
- // so we need to work out a loading process for when the cart or checkout hasn't been added to the
23
- // content yet - definitely don't want to load stripe without the block in the page. So that means
24
- // checkout will need to have some sort of editor preview for stripe.
25
  /**
26
  * Stripe data comes form the server passed on a global object.
27
  *
17
  * @typedef {import('@woocommerce/type-defs/registered-payment-method-props').PreparedCartTotalItem} CartTotalItem
18
  */
19
 
 
 
 
 
 
20
  /**
21
  * Stripe data comes form the server passed on a global object.
22
  *
assets/js/previews/cart-block.js CHANGED
@@ -6,7 +6,7 @@ import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
6
  export const cartBlockPreview = (
7
  <img
8
  src={ WC_BLOCKS_ASSET_URL + 'img/cart-preview.svg' }
9
- alt="Cart Preview"
10
  width="230"
11
  height="250"
12
  style={ {
6
  export const cartBlockPreview = (
7
  <img
8
  src={ WC_BLOCKS_ASSET_URL + 'img/cart-preview.svg' }
9
+ alt=""
10
  width="230"
11
  height="250"
12
  style={ {
assets/js/previews/categories.js CHANGED
@@ -2,9 +2,7 @@
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
-
6
- const categoryImage =
7
- 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAADIKADAAQAAAABAAADHwAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8AAEQgDHwMgAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMAAQEBAQEBAQEBAQIBAQECAwICAgIDBAMDAwMDBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQYGBgYGBwcHBwcHBwcHB//bAEMBAQEBAgICAwICAwcFBAUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB//dAAQAMv/aAAwDAQACEQMRAD8A/twooor2DxwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAowD1oooAaUB9qYUP1/wA/WpaKCXBFfBHWirFNKA+1BLpkNFPKH/P/AOumUENWCiiigQUUUUAFP8xvT/P5UyigaP/Q/twooor2DxwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACivJvin8ePgv8D9Fn8Q/F74p6F8OdIt0aQy6veRW5YLnIRHYPIxIICoGYngAnivzz1n/gtv/wAE7NM1O803S/i5qfjYae5We68PaDqeo2yAHZv86C1ZHRpsQoULeY5xHvGSJc4rRspQb2R+stFfjfef8Fy/2LbWznv4/D/xMu7W3A3PH4Q1IKCuROC7xLGBZkYuGLBVJwpc5Adc/wDBeb/gmvZx20lz8WNbiNw2Ch8O6r5kasP3TSJ9l3xi4IIiVgHYAttCfNVpMwdeC+0j9jqK/Lzw7/wWg/4Jl+Jb2x02z/aw0Gxvr+VYQt/Hc2iI7AE+ZLNAkMaoD88jOI1Pylt3Ffod4C+I/gH4peHbHxd8OPGOm+OPC+prvtr/AEu4juYJFyRuV42ZSDg81Kd9jU7WiiimAUUUUAFFFFABRRRQAhOAT6VBUrnjHrUVBlNhRRRQQFFFFABRRRQNbn//0f7cKKKK9g8cKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKPxosNIKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRX56/tb/8FI/gX+ytqeleAbe1v/jn8ePEVwLWw8BeDfLvNWDGNpPMuk3hbSBVGWeXnBBCtmvzV8b+K/2u/wBsceJ7T9onx1efsw/Bm4uFGn+Avh7er/a15bncHXVtZVWKKYyFeG0wGZnO9dqGujC4SrXlyUYOT/Ber2R5+ZZthcHDnxVRRXS+79Fuz9cf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5vNH5G+DfG/7ZP7UMKD9k39krWbjw/fFI4/F3xBb+xtLjLHIlFuGN1d27R4KyQN1PI4wfqbwJ/wRm/aX+KDWWq/te/td6hBbzN5r+Gfh4RpNhEjPmS2muNhuL1GXhJG8t05wcnI/o4sbGy0yzttP02zi0+wso1ihggQJHGijCqqqAqqBwABgCrVbqgup+s5R4YZXhErU7y7vV/e72/7dsfCf7On/AATY/Y4/Zhlj1b4dfB6y1PxsY3in8TeIM6prFwjtu2zXlzvlkC4AXPIAHPWvutVCgKoCqowAO1LRWqilsfokIKKUY7IKKKKZQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA1uf/X/toooor2DwHuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApQxHekooC5IJD3H+fypwdTUNFBamx7nnHpTKKKCW7hRRRQIKKKKAOO+IPgPwn8UfBHin4eeOtDtvEnhDxjZS2GoWN5GJYZYZVwQyHg46j0IBHNfxb/AAA/4KIeBv8AglH8P/2jP2QvGf7MGv8AiuPS/Geoy+B9autP/sa61m1jkkVJ9RlnCSShSsaR+UpZIyVZQwwf7ea8C+KH7LP7Ovxr8Y+DvH/xb+DXh/4i+LfACSJpF5rFpHdG3WVg7ALIrIfnAYbgSDyMZNY1abdnF6lctOcJU6seaL3R/IAmk/8ABVT/AIKt21tr/g34BH4Sfsz2Vw9wmnQ6y2gS6k8cYVraS/dDdSxyFiyhrYQ84Z+A1foL8J/Cf/BRH4OeCIvhB8NP+CXOh+E4NAaOJ5NO8S2Vpo00kuxftSqwWeRZACZRlpYioDAriv6dURI0SONBHHGAqqowAB0AHYCnVMcP1cnc8LFcM5dVgqTw6UVsk2l+DSfzufg58Jfgd+3x8aLZn+KHwL8L/szPY3DrOdT1g65JMqMoKQJZrGiEjcVmZ5UYYOwHKj74l/YF+FV7pEdpfavqUWrSKRPd2cnlA7hg7EbzAhB5U5PvmvuuitI00jx14eZL1wsX63f5s/JfVP8Agif+wN4s8UHxZ8S/AOtfFrUY9pgi8S63f31vAefMEcDzeUI5eMxFTGuMoqmvuf4Ofssfs/8AwB0fTdC+Efwt0nwXpmkQ/Z4I7SBVCx5yFHGML244FfQNFUoJbI+gpZLhIKKjSVo7abenYAAAABgCiiiqPTCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooGtz/0P7aKKl8tfU/5/Goq9g8FphRRRQKzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooooCzCiiigLMKKKKAswooqXy19T/AJ/GgaTP/9k=';
8
 
9
  export const previewCategories = [
10
  {
@@ -23,7 +21,7 @@ export const previewCategories = [
23
  date_created_gmt: '2019-07-15T17:05:04',
24
  date_modified: '2019-07-15T17:05:04',
25
  date_modified_gmt: '2019-07-15T17:05:04',
26
- src: categoryImage,
27
  name: '',
28
  alt: '',
29
  },
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
+ import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
 
 
6
 
7
  export const previewCategories = [
8
  {
21
  date_created_gmt: '2019-07-15T17:05:04',
22
  date_modified: '2019-07-15T17:05:04',
23
  date_modified_gmt: '2019-07-15T17:05:04',
24
+ src: WC_BLOCKS_ASSET_URL + 'img/collection.jpg',
25
  name: '',
26
  alt: '',
27
  },
assets/js/previews/checkout-block.js CHANGED
@@ -6,7 +6,7 @@ import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
6
  export const checkoutBlockPreview = (
7
  <img
8
  src={ WC_BLOCKS_ASSET_URL + 'img/checkout-preview.svg' }
9
- alt="Checkout Preview"
10
  width="230"
11
  height="250"
12
  style={ {
6
  export const checkoutBlockPreview = (
7
  <img
8
  src={ WC_BLOCKS_ASSET_URL + 'img/checkout-preview.svg' }
9
+ alt=""
10
  width="230"
11
  height="250"
12
  style={ {
assets/js/previews/index.js CHANGED
@@ -8,3 +8,4 @@ export { previewSavedPaymentMethods } from './saved-payment-methods';
8
  export { cartBlockPreview } from './cart-block';
9
  export { checkoutBlockPreview } from './checkout-block';
10
  export { gridBlockPreview } from './grid-block';
 
8
  export { cartBlockPreview } from './cart-block';
9
  export { checkoutBlockPreview } from './checkout-block';
10
  export { gridBlockPreview } from './grid-block';
11
+ export { singleProductBlockPreview } from './single-product-block';
assets/js/previews/reviews.js CHANGED
@@ -2,9 +2,7 @@
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
-
6
- const avatarPicture =
7
- 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAMAAwAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A+t6KKtaXps2sahBZ24DTTNtXPQepPsBzQBVo/OvddD+H2j6Nbqr2sd7Pj5prhQ2T7A8Cl1z4f6PrNuyrax2c+Plmt1CkH3A4NAHhP50Vb1bTJtG1G4srgASwttOOh9CPYjBqp+VABXX/AAreNfF8If7zROEz/ex/hmuQq1pT3cepW7WAdrxXBiEYyS30oA+kKKp6RPeXOnwyX9strdEfPErBgD9f6UurT3dtp80ljbC7ugPkiZgoJ+tAHkHxWeNvFsgT7ywoHx/e6/yIrj6t6vJdy6lcvfh1vGcmUSDBB+lVKACvbvh/4Qj8PaYlxOgOozrudmHMYPRB/X3+leVeDrBdT8UabbuNyGUMwPcL8xH6V9BUAJRRRQByfxA8IR+IdMe4gjA1GBSyMo5kA6of6e/1rxGvpr/PWvn3xjYLpnijUrdBtQTFlHoGG4D9aAP/2Q==';
8
 
9
  export const previewReviews = [
10
  {
@@ -25,8 +23,8 @@ export const previewReviews = [
25
  'woo-gutenberg-products-block'
26
  ) }</p>\n`,
27
  reviewer_avatar_urls: {
28
- '48': avatarPicture,
29
- '96': avatarPicture,
30
  },
31
  rating: 5,
32
  verified: true,
@@ -49,8 +47,8 @@ export const previewReviews = [
49
  'woo-gutenberg-products-block'
50
  ) }</p>\n`,
51
  reviewer_avatar_urls: {
52
- '48': avatarPicture,
53
- '96': avatarPicture,
54
  },
55
  rating: null,
56
  verified: false,
2
  * External dependencies
3
  */
4
  import { __ } from '@wordpress/i18n';
5
+ import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
 
 
6
 
7
  export const previewReviews = [
8
  {
23
  'woo-gutenberg-products-block'
24
  ) }</p>\n`,
25
  reviewer_avatar_urls: {
26
+ '48': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
27
+ '96': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
28
  },
29
  rating: 5,
30
  verified: true,
47
  'woo-gutenberg-products-block'
48
  ) }</p>\n`,
49
  reviewer_avatar_urls: {
50
+ '48': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
51
+ '96': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
52
  },
53
  rating: null,
54
  verified: false,
assets/js/previews/single-product-block.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
5
+
6
+ export const singleProductBlockPreview = (
7
+ <img
8
+ src={ WC_BLOCKS_ASSET_URL + 'img/single-product-preview.svg' }
9
+ alt=""
10
+ width="230"
11
+ height="250"
12
+ style={ {
13
+ width: '100%',
14
+ } }
15
+ />
16
+ );
assets/js/settings/blocks/constants.js CHANGED
@@ -49,6 +49,10 @@ export const IS_SHIPPING_COST_HIDDEN = getSetting(
49
  'isShippingCostHidden',
50
  false
51
  );
 
 
 
 
52
  export const WC_BLOCKS_ASSET_URL = getSetting( 'wcBlocksAssetUrl', '' );
53
  export const SHIPPING_COUNTRIES = getSetting( 'shippingCountries', {} );
54
  export const ALLOWED_COUNTRIES = getSetting( 'allowedCountries', {} );
49
  'isShippingCostHidden',
50
  false
51
  );
52
+ export const WOOCOMMERCE_BLOCKS_PHASE = getSetting(
53
+ 'woocommerceBlocksPhase',
54
+ 1
55
+ );
56
  export const WC_BLOCKS_ASSET_URL = getSetting( 'wcBlocksAssetUrl', '' );
57
  export const SHIPPING_COUNTRIES = getSetting( 'shippingCountries', {} );
58
  export const ALLOWED_COUNTRIES = getSetting( 'allowedCountries', {} );
assets/js/settings/blocks/feature-flags.js ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { registerBlockType } from '@wordpress/blocks';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { WOOCOMMERCE_BLOCKS_PHASE } from './constants';
10
+
11
+ /**
12
+ * Registers a new experimental block provided a unique name and an object defining its
13
+ * behavior. Once registered, the block is made available as an option to any
14
+ * editor interface where blocks are implemented.
15
+ *
16
+ * @param {string} name Block name.
17
+ * @param {Object} settings Block settings.
18
+ *
19
+ * @return {?Object} The block, if it has been successfully registered;
20
+ * otherwise `undefined`.
21
+ */
22
+ export const registerExperimentalBlockType = ( name, settings ) => {
23
+ if ( WOOCOMMERCE_BLOCKS_PHASE > 2 ) {
24
+ return registerBlockType( name, settings );
25
+ }
26
+ };
27
+
28
+ /**
29
+ * Registers a new feature plugin block provided a unique name and an object
30
+ * defining its behavior. Once registered, the block is made available as an
31
+ * option to any editor interface where blocks are implemented.
32
+ *
33
+ * @param {string} name Block name.
34
+ * @param {Object} settings Block settings.
35
+ *
36
+ * @return {?Object} The block, if it has been successfully registered;
37
+ * otherwise `undefined`.
38
+ */
39
+ export const registerFeaturePluginBlockType = ( name, settings ) => {
40
+ if ( WOOCOMMERCE_BLOCKS_PHASE > 1 ) {
41
+ return registerBlockType( name, settings );
42
+ }
43
+ };
44
+
45
+ /**
46
+ * Checks if we're executing the code in an experimental build mode.
47
+ *
48
+ * @return {boolean} True if this is an experimental build, false otherwise.
49
+ */
50
+ export const isExperimentalBuild = () => WOOCOMMERCE_BLOCKS_PHASE > 2;
51
+
52
+ /**
53
+ * Checks if we're executing the code in an feature plugin or experimental build mode.
54
+ *
55
+ * @return {boolean} True if this is an experimental or feature plugin build, false otherwise.
56
+ */
57
+ export const isFeaturePluginBuild = () => WOOCOMMERCE_BLOCKS_PHASE > 1;
assets/js/settings/blocks/index.js CHANGED
@@ -2,3 +2,4 @@
2
  * Internal dependencies
3
  */
4
  export * from './constants';
 
2
  * Internal dependencies
3
  */
4
  export * from './constants';
5
+ export * from './feature-flags';
assets/js/shared/context/index.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ export * from './inner-block-layout-context';
2
+ export * from './product-data-context';
assets/js/shared/context/inner-block-layout-context.js ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import { createContext, useContext } from '@wordpress/element';
6
+ import classnames from 'classnames';
7
+
8
+ /**
9
+ * This context is a configuration object used for connecting
10
+ * all children blocks in a given tree contained in the context with information
11
+ * about the parent block. Typically this is used for extensibility features.
12
+ *
13
+ * @member {Object} InnerBlockLayoutContext A react context object
14
+ */
15
+ const InnerBlockLayoutContext = createContext( {
16
+ parentName: '',
17
+ parentClassName: '',
18
+ isLoading: false,
19
+ } );
20
+
21
+ export const useInnerBlockLayoutContext = () =>
22
+ useContext( InnerBlockLayoutContext );
23
+
24
+ export const InnerBlockLayoutContextProvider = ( {
25
+ parentName = '',
26
+ parentClassName = '',
27
+ isLoading = false,
28
+ children,
29
+ } ) => {
30
+ const contextValue = {
31
+ parentName,
32
+ parentClassName,
33
+ isLoading,
34
+ };
35
+
36
+ return (
37
+ <InnerBlockLayoutContext.Provider value={ contextValue }>
38
+ <div
39
+ className={ classnames( 'wc-block-layout', {
40
+ 'wc-block-layout--is-loading': isLoading,
41
+ } ) }
42
+ >
43
+ { children }
44
+ </div>
45
+ </InnerBlockLayoutContext.Provider>
46
+ );
47
+ };
48
+
49
+ InnerBlockLayoutContextProvider.propTypes = {
50
+ children: PropTypes.node,
51
+ parentName: PropTypes.string,
52
+ parentClassName: PropTypes.string,
53
+ };
assets/js/shared/context/product-data-context.js ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import PropTypes from 'prop-types';
5
+ import { createContext, useContext } from '@wordpress/element';
6
+
7
+ /**
8
+ * This context is used to pass product data down to all children blocks in a given tree.
9
+ *
10
+ * @member {Object} ProductDataContext A react context object
11
+ */
12
+ const ProductDataContext = createContext( {
13
+ product: null,
14
+ } );
15
+
16
+ export const useProductDataContext = () => useContext( ProductDataContext );
17
+
18
+ export const ProductDataContextProvider = ( { product = null, children } ) => {
19
+ const contextValue = {
20
+ product,
21
+ };
22
+
23
+ return (
24
+ <ProductDataContext.Provider value={ contextValue }>
25
+ { children }
26
+ </ProductDataContext.Provider>
27
+ );
28
+ };
29
+
30
+ ProductDataContextProvider.propTypes = {
31
+ children: PropTypes.node,
32
+ product: PropTypes.object,
33
+ };
assets/js/type-defs/registered-payment-method-props.js CHANGED
@@ -119,10 +119,6 @@
119
  * @typedef BillingDataProps
120
  *
121
  * @property {BillingData} billingData The address used for billing.
122
- * @property {Function} setBillingData Used to set the cart billing
123
- * address.
124
- * @property {Object} order The order object for the purchase.
125
- * @property {boolean} orderLoading True if the order is being loaded.
126
  * @property {PreparedCartTotalItem} cartTotal The total item for the cart.
127
  * @property {SiteCurrency} currency Currency object.
128
  * @property {PreparedCartTotalItem[]} cartTotalItems The various subtotal amounts.
119
  * @typedef BillingDataProps
120
  *
121
  * @property {BillingData} billingData The address used for billing.
 
 
 
 
122
  * @property {PreparedCartTotalItem} cartTotal The total item for the cart.
123
  * @property {SiteCurrency} currency Currency object.
124
  * @property {PreparedCartTotalItem[]} cartTotalItems The various subtotal amounts.
assets/js/utils/render-frontend.js DELETED
@@ -1,79 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { render } from 'react-dom';
5
- import BlockErrorBoundary from '@woocommerce/base-components/block-error-boundary';
6
-
7
- /**
8
- * Given some block attributes, gets attributes from the dataset or uses defaults.
9
- *
10
- * @param {Object} blockAttributes Object containing block attributes.
11
- * @param {Array} dataset Dataset from DOM.
12
- * @return {Array} Array of parsed attributes.
13
- */
14
- export const getAttributesFromDataset = ( blockAttributes, dataset ) => {
15
- const attributes = [];
16
-
17
- Object.keys( blockAttributes ).forEach( ( key ) => {
18
- if ( typeof dataset[ key ] !== 'undefined' ) {
19
- switch ( blockAttributes[ key ].type ) {
20
- case 'boolean':
21
- attributes[ key ] = dataset[ key ] !== 'false';
22
- break;
23
- case 'number':
24
- attributes[ key ] = parseInt( dataset[ key ], 10 );
25
- break;
26
- default:
27
- attributes[ key ] = dataset[ key ];
28
- break;
29
- }
30
- } else {
31
- attributes[ key ] = blockAttributes[ key ].default;
32
- }
33
- } );
34
-
35
- return attributes;
36
- };
37
-
38
- /**
39
- * Renders a block component in the place of a specified set of selectors.
40
- *
41
- * @param {string} selector CSS selector to match the elements
42
- * to replace.
43
- * @param {Function} Block React block to use as a replacement.
44
- * @param {Function} [getProps] Function to generate the props
45
- * object for the block.
46
- * @param {Function} [getErrorBoundaryProps] Function to generate the props
47
- * object for the error boundary.
48
- */
49
- export const renderFrontend = (
50
- selector,
51
- Block,
52
- getProps = () => {},
53
- getErrorBoundaryProps = () => {}
54
- ) => {
55
- const containers = document.querySelectorAll( selector );
56
-
57
- if ( containers.length ) {
58
- // Use Array.forEach for IE11 compatibility.
59
- Array.prototype.forEach.call( containers, ( el, i ) => {
60
- const props = getProps( el, i );
61
- const errorBoundaryProps = getErrorBoundaryProps( el, i );
62
- const attributes = {
63
- ...el.dataset,
64
- ...props.attributes,
65
- };
66
-
67
- el.classList.remove( 'is-loading' );
68
-
69
- render(
70
- <BlockErrorBoundary { ...errorBoundaryProps }>
71
- <Block { ...props } attributes={ attributes } />
72
- </BlockErrorBoundary>,
73
- el
74
- );
75
- } );
76
- }
77
- };
78
-
79
- export default renderFrontend;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
build/active-filters-frontend.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wc-blocks-data-store', 'wc-settings', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill'), 'version' => 'f6db22b49850ae23fadc5e19576b4414');
1
+ <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wc-blocks-data-store', 'wc-settings', 'wp-blocks', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill'), 'version' => '46c455b3dd81945fc25c1dbcdcac1f52');
build/active-filters-frontend.js CHANGED
@@ -1,6 +1,6 @@
1
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=233)}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},10:function(e,t,r){var n=r(74),o=r(75),c=r(61),i=r(76);e.exports=function(e,t){return n(e)||o(e,t)||c(e,t)||i()}},105:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(12),o=r(11),c=r(0),i=r(80),u=r(40),a=function(e){var t=e.namespace,r=e.resourceName,a=e.resourceValues,s=void 0===a?[]:a,l=e.query,f=void 0===l?{}:l,b=e.shouldSelect,p=void 0===b||b;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var g=Object(c.useRef)({results:[],isLoading:!0}),d=Object(u.a)(f),m=Object(u.a)(s),O=Object(i.a)(),y=Object(o.useSelect)((function(e){if(!p)return null;var o=e(n.COLLECTIONS_STORE_KEY),c=[t,r,d,m],i=o.getCollectionError.apply(o,c);return i&&O(i),{results:o.getCollection.apply(o,c),isLoading:!o.hasFinishedResolution("getCollection",c)}}),[t,r,m,d,p]);return null!==y&&(g.current=y),g.current}},11:function(e,t){!function(){e.exports=this.wp.data}()},116:function(e,t,r){"use strict";var n=r(0),o=r(3),c=r(12),i=r(11);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(Object(o.getSetting)("restApiRoutes")),Object(i.useSelect)((function(e,t){if(r.current){var n=e(c.SCHEMA_STORE_KEY),o=n.isResolving,i=n.hasFinishedResolution,u=t.dispatch(c.SCHEMA_STORE_KEY),a=u.receiveRoutes,s=u.startResolution,l=u.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];o("getRoutes",[e])||i("getRoutes",[e])||(s("getRoutes",[e]),a(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},12:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},128:function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"b",(function(){return i}));var n=r(9),o=n.c.reduce((function(e,t){var r,n=(r=t)&&r.attribute_name?{id:parseInt(r.attribute_id,10),name:r.attribute_name,taxonomy:"pa_"+r.attribute_name,label:r.attribute_label}:null;return n.id&&e.push(n),e}),[]),c=function(e){if(e)return o.find((function(t){return t.id===e}))},i=function(e){if(e)return o.find((function(t){return t.taxonomy===e}))}},129:function(e,t,r){"use strict";r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return c}));var n=r(7),o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",c=e.filter((function(e){return e.attribute===r.taxonomy})),i=c.length?c[0]:null;if(i&&i.slug&&Array.isArray(i.slug)&&i.slug.includes(o)){var u=i.slug.filter((function(e){return e!==o})),a=e.filter((function(e){return e.attribute!==r.taxonomy}));u.length>0&&(i.slug=u.sort(),a.push(i)),t(Object(n.sortBy)(a,"attribute"))}},c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",i=e.filter((function(e){return e.attribute!==r.taxonomy}));0===o.length?t(i):(i.push({attribute:r.taxonomy,operator:c,slug:Object(n.map)(o,"slug").sort()}),t(Object(n.sortBy)(i,"attribute")))}},13:function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}e.exports=r},136:function(e,t,r){"use strict";r.d(t,"c",(function(){return p})),r.d(t,"b",(function(){return g})),r.d(t,"a",(function(){return d}));var n=r(6),o=r.n(n),c=r(22),i=r.n(c),u=r(3);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l,f,b={code:u.CURRENCY.code,symbol:u.CURRENCY.symbol,thousandSeparator:u.CURRENCY.thousandSeparator,decimalSeparator:u.CURRENCY.decimalSeparator,minorUnit:u.CURRENCY.precision,prefix:(l=u.CURRENCY.symbol,f=u.CURRENCY.symbolPosition,{left:l,left_space:" "+l,right:"",right_space:""}[f]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(u.CURRENCY.symbol,u.CURRENCY.symbolPosition)},p=function(e){if(!e||"object"!==i()(e))return b;var t=e.currency_code,r=e.currency_symbol,n=e.currency_thousand_separator,o=e.currency_decimal_separator,c=e.currency_minor_unit,u=e.currency_prefix,a=e.currency_suffix;return{code:t||"USD",symbol:r||"$",thousandSeparator:"string"==typeof n?n:",",decimalSeparator:"string"==typeof o?o:".",minorUnit:Number.isFinite(c)?c:2,prefix:"string"==typeof u?u:"$",suffix:"string"==typeof a?a:""}},g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(s({},b),e)},d=function(e,t){if(""===e||void 0===e)return"";var r=parseInt(e,10);if(!Number.isFinite(r))return"";var n=g(t),o=r/Math.pow(10,n.minorUnit),c=n.prefix+o+n.suffix,i=document.createElement("textarea");return i.innerHTML=c,i.value}},14:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},187:function(e,t){},2:function(e,t){!function(){e.exports=this.React}()},22:function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=r=function(e){return typeof e}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(t)}e.exports=r},23:function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},233:function(e,t,r){"use strict";r.r(t);var n=r(116),o=r(10),c=r.n(o),i=r(1),u=r(95),a=r(0),s=r(5),l=r.n(s),f=(r(4),r(28)),b=(r(187),r(128)),p=r(136),g=function(e,t){return Number.isFinite(e)&&Number.isFinite(t)?Object(i.sprintf)(Object(i.__)("Between %s and %s","woo-gutenberg-products-block"),Object(p.a)(e),Object(p.a)(t)):Number.isFinite(e)?Object(i.sprintf)(Object(i.__)("From %s","woo-gutenberg-products-block"),Object(p.a)(e)):Object(i.sprintf)(Object(i.__)("Up to %s","woo-gutenberg-products-block"),Object(p.a)(t))},d=function(e){var t=e.type,r=e.name,n=e.prefix,o=e.removeCallback,c=void 0===o?function(){}:o,u=e.showLabel,s=void 0===u||u;return React.createElement("li",{className:"wc-block-active-filters__list-item",key:t+":"+r},s&&React.createElement("span",{className:"wc-block-active-filters__list-item-type"},t+": "),React.createElement("span",{className:"wc-block-active-filters__list-item-name"},n?React.createElement(a.Fragment,null,n," ",r):r,React.createElement("button",{onClick:c},Object(i.sprintf)(Object(i.__)("Remove %s filter","woo-gutenberg-products-block"),r))))},m=r(105),O=r(14),y=r(129),v=function(e){var t=e.attributeObject,r=void 0===t?{}:t,n=e.slugs,o=void 0===n?[]:n,a=e.operator,s=void 0===a?"in":a,l=Object(m.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[r.id]}),f=l.results,b=l.isLoading,p=Object(u.b)("attributes",[]),g=c()(p,2),v=g[0],h=g[1];if(b)return null;var j=r.label;return React.createElement("li",null,React.createElement("span",{className:"wc-block-active-filters__list-item-type"},j,":"),React.createElement("ul",null,o.map((function(e,t){var n=f.find((function(t){return t.slug===e}));if(!n)return null;var o="";return t>0&&"and"===s&&(o=React.createElement("span",{className:"wc-block-active-filters__list-item-operator"},Object(i.__)("and","woo-gutenberg-products-block"))),d({type:j,name:Object(O.decodeEntities)(n.name||e),prefix:o,removeCallback:function(){Object(y.a)(v,h,r,e)},showLabel:!1})}))))},h=function(e){var t=e.attributes,r=e.isEditor,n=void 0!==r&&r,o=Object(u.b)("attributes",[]),s=c()(o,2),p=s[0],m=s[1],O=Object(u.b)("min_price"),y=c()(O,2),h=y[0],j=y[1],_=Object(u.b)("max_price"),S=c()(_,2),E=S[0],w=S[1],R=Object(a.useMemo)((function(){return Number.isFinite(h)||Number.isFinite(E)?d({type:Object(i.__)("Price","woo-gutenberg-products-block"),name:g(h,E),removeCallback:function(){j(void 0),w(void 0)}}):null}),[h,E,g]),x=Object(a.useMemo)((function(){return p.map((function(e){var t=Object(b.b)(e.attribute);return React.createElement(v,{attributeObject:t,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[p]);if(!(p.length>0||Number.isFinite(h)||Number.isFinite(E)||n))return null;var k="h".concat(t.headingLevel),P=l()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return React.createElement(a.Fragment,null,!n&&t.heading&&React.createElement(k,null,t.heading),React.createElement("div",{className:"wc-block-active-filters"},React.createElement("ul",{className:P},n?React.createElement(a.Fragment,null,d({type:Object(i.__)("Size","woo-gutenberg-products-block"),name:Object(i.__)("Small","woo-gutenberg-products-block")}),d({type:Object(i.__)("Color","woo-gutenberg-products-block"),name:Object(i.__)("Blue","woo-gutenberg-products-block")})):React.createElement(a.Fragment,null,R,x)),React.createElement("button",{className:"wc-block-active-filters__clear-all",onClick:function(){j(void 0),w(void 0),m([])}},React.createElement(f.a,{label:Object(i.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(i.__)("Clear All Filters","woo-gutenberg-products-block")}))))},j=r(47);Object(j.a)(".wp-block-woocommerce-active-filters",Object(n.a)(h),(function(e){return{attributes:{displayStyle:e.dataset.displayStyle,heading:e.dataset.heading,headingLevel:e.dataset.headingLevel||3}}}))},26:function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},28:function(e,t,r){"use strict";var n=r(6),o=r.n(n),c=(r(4),r(2)),i=r(5),u=r.n(i);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l=function(e){var t,r=e.label,n=e.screenReaderLabel,o=e.wrapperElement,i=e.wrapperProps,a=null!=r,l=null!=n;return!a&&l?(t=o||"span",i=s(s({},i),{},{className:u()(i.className,"screen-reader-text")}),React.createElement(t,i,n)):(t=o||c.Fragment,a&&l&&r!==n?React.createElement(t,i,React.createElement("span",{"aria-hidden":"true"},r),React.createElement("span",{className:"screen-reader-text"},n)):React.createElement(t,i,r))};l.defaultProps={wrapperProps:{}},t.a=l},3:function(e,t){!function(){e.exports=this.wc.wcSettings}()},34:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},36:function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},37:function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},38:function(e,t,r){var n=r(66);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},39:function(e,t,r){var n=r(22),o=r(23);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?o(e):t}},4:function(e,t,r){e.exports=r(67)()},40:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(0),o=r(34),c=r.n(o),i=function(e){var t=Object(n.useRef)();return c()(e,t.current)||(t.current=e),t.current}},46:function(e,t,r){"use strict";var n=r(36),o=r.n(n),c=r(37),i=r.n(c),u=r(23),a=r.n(u),s=r(38),l=r.n(s),f=r(39),b=r.n(f),p=r(26),g=r.n(p),d=r(6),m=r.n(d),O=(r(4),r(2)),y=r(1),v=r(9),h=function(e){var t=e.imageUrl,r=void 0===t?"".concat(v.y,"img/block-error.svg"):t,n=e.header,o=void 0===n?Object(y.__)("Oops!","woo-gutenberg-products-block"):n,c=e.text,i=void 0===c?Object(y.__)("There was an error loading the content.","woo-gutenberg-products-block"):c,u=e.errorMessage,a=e.errorMessagePrefix,s=void 0===a?Object(y.__)("Error:","woo-gutenberg-products-block"):a;return React.createElement("div",{className:"wc-block-error"},r&&React.createElement("img",{className:"wc-block-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content"},o&&React.createElement("p",{className:"wc-block-error__header"},o),i&&React.createElement("p",{className:"wc-block-error__text"},i),u&&React.createElement("p",{className:"wc-block-error__message"},s?s+" ":"",u)))};r(69);function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=g()(e);if(t){var o=g()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return b()(this,r)}}var _=function(e){l()(r,e);var t=j(r);function r(){var e;o()(this,r);for(var n=arguments.length,c=new Array(n),i=0;i<n;i++)c[i]=arguments[i];return e=t.call.apply(t,[this].concat(c)),m()(a()(e),"state",{errorMessage:"",hasError:!1}),e}return i()(r,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,o=e.text,c=e.errorMessagePrefix,i=this.state,u=i.errorMessage;return i.hasError?React.createElement(h,{errorMessage:n?u:null,header:t,imageUrl:r,text:o,errorMessagePrefix:c}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return void 0!==e.statusText&&void 0!==e.status?{errorMessage:React.createElement(O.Fragment,null,React.createElement("strong",null,e.status),": ",e.statusText),hasError:!0}:{errorMessage:e.message,hasError:!0}}}]),r}(O.Component);_.defaultProps={showErrorMessage:!0};t.a=_},47:function(e,t,r){"use strict";r.d(t,"b",(function(){return f})),r.d(t,"c",(function(){return b}));var n=r(13),o=r.n(n),c=r(6),i=r.n(c),u=r(48),a=r(46);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){i()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var f=function(e,t){var r=[];return Object.keys(e).forEach((function(n){if(void 0!==t[n])switch(e[n].type){case"boolean":r[n]="false"!==t[n];break;case"number":r[n]=parseInt(t[n],10);break;default:r[n]=t[n]}else r[n]=e[n].default})),r},b=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},c=document.querySelectorAll(e);c.length&&Array.prototype.forEach.call(c,(function(e,c){var i=r(e,c),s=n(e,c),f=l(l({},e.dataset),i.attributes);e.classList.remove("is-loading"),Object(u.render)(React.createElement(a.a,s,React.createElement(t,o()({},i,{attributes:f}))),e)}))};t.a=b},48:function(e,t){!function(){e.exports=this.ReactDOM}()},5:function(e,t,r){var n;
2
  /*!
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
- */!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var c=typeof n;if("string"===c||"number"===c)e.push(n);else if(Array.isArray(n)&&n.length){var i=o.apply(null,n);i&&e.push(i)}else if("object"===c)for(var u in n)r.call(n,u)&&n[u]&&e.push(u)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},55:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(0),o=Object(n.createContext)("page"),c=function(){return Object(n.useContext)(o)};o.Provider},6:function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},61:function(e,t,r){var n=r(62);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}},62:function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},66:function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},67:function(e,t,r){"use strict";var n=r(68);function o(){}function c(){}c.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,c,i){if(i!==n){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:o};return r.PropTypes=r,r}},68:function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},69:function(e,t){},7:function(e,t){!function(){e.exports=this.lodash}()},74:function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},75:function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,c=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,c=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw c}}return r}}},76:function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},80:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(10),o=r.n(n),c=r(0),i=function(){var e=Object(c.useState)(),t=o()(e,2)[1];return function(e){return t((function(){throw e}))}}},9:function(e,t,r){"use strict";r.d(t,"i",(function(){return o})),r.d(t,"q",(function(){return c})),r.d(t,"u",(function(){return i})),r.d(t,"n",(function(){return u})),r.d(t,"h",(function(){return a})),r.d(t,"v",(function(){return s})),r.d(t,"k",(function(){return l})),r.d(t,"j",(function(){return f})),r.d(t,"c",(function(){return b})),r.d(t,"l",(function(){return p})),r.d(t,"m",(function(){return g})),r.d(t,"y",(function(){return d})),r.d(t,"r",(function(){return m})),r.d(t,"a",(function(){return O})),r.d(t,"s",(function(){return y})),r.d(t,"b",(function(){return v})),r.d(t,"f",(function(){return h})),r.d(t,"t",(function(){return S})),r.d(t,"g",(function(){return E})),r.d(t,"p",(function(){return w})),r.d(t,"o",(function(){return R})),r.d(t,"x",(function(){return x})),r.d(t,"w",(function(){return k})),r.d(t,"d",(function(){return P})),r.d(t,"e",(function(){return C}));var n=r(3),o=Object(n.getSetting)("currentUserIsAdmin",!1),c=Object(n.getSetting)("reviewRatingsEnabled",!0),i=Object(n.getSetting)("showAvatars",!0),u=(Object(n.getSetting)("max_columns",6),Object(n.getSetting)("min_columns",1),Object(n.getSetting)("default_columns",3),Object(n.getSetting)("max_rows",6),Object(n.getSetting)("min_rows",1),Object(n.getSetting)("default_rows",3),Object(n.getSetting)("min_height",500),Object(n.getSetting)("default_height",500),Object(n.getSetting)("placeholderImgSrc","")),a=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog"),Object(n.getSetting)("limitTags"),Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0),Object(n.getSetting)("homeUrl",""),Object(n.getSetting)("couponsEnabled",!0)),s=(Object(n.getSetting)("shippingEnabled",!0),Object(n.getSetting)("taxesEnabled",!0)),l=Object(n.getSetting)("displayItemizedTaxes",!1),f=(Object(n.getSetting)("displayShopPricesIncludingTax",!1),Object(n.getSetting)("displayCartPricesIncludingTax",!1)),b=(Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[])),p=Object(n.getSetting)("isShippingCalculatorEnabled",!0),g=Object(n.getSetting)("isShippingCostHidden",!1),d=Object(n.getSetting)("wcBlocksAssetUrl",""),m=Object(n.getSetting)("shippingCountries",{}),O=Object(n.getSetting)("allowedCountries",{}),y=Object(n.getSetting)("shippingStates",{}),v=Object(n.getSetting)("allowedStates",{}),h=(Object(n.getSetting)("shippingMethodsExist",!1),Object(n.getSetting)("checkoutShowLoginReminder",!0)),j={id:0,title:"",permalink:""},_=Object(n.getSetting)("storePages",{shop:j,cart:j,checkout:j,privacy:j,terms:j}),S=_.shop.permalink,E=(_.checkout.id,_.checkout.permalink),w=_.privacy.permalink,R=_.privacy.title,x=_.terms.permalink,k=_.terms.title,P=(_.cart.id,_.cart.permalink),C=Object(n.getSetting)("checkoutAllowsGuest",!1);Object(n.getSetting)("checkoutAllowsSignup",!1)},95:function(e,t,r){"use strict";r.d(t,"a",(function(){return f})),r.d(t,"b",(function(){return b})),r.d(t,"c",(function(){return p}));var n=r(10),o=r.n(n),c=r(12),i=r(11),u=r(0),a=r(55),s=r(7),l=r(40),f=function(e){var t=Object(a.a)();e=e||t;var r=Object(i.useSelect)((function(t){return t(c.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(i.useDispatch)(c.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(u.useCallback)((function(t){n(e,t)}),[e])]},b=function(e,t,r){var n=Object(a.a)();r=r||n;var o=Object(i.useSelect)((function(n){return n(c.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),s=Object(i.useDispatch)(c.QUERY_STATE_STORE_KEY).setQueryValue;return[o,Object(u.useCallback)((function(t){s(r,e,t)}),[r,e])]},p=function(e,t){var r=Object(a.a)(),n=f(t=t||r),c=o()(n,2),i=c[0],b=c[1],p=Object(l.a)(e),g=Object(u.useRef)(!1);return Object(u.useEffect)((function(){b(Object(s.assign)({},i,p)),g.current=!0}),[p]),g.current?[i,b]:[e,b]}}});
1
+ !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=255)}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},10:function(e,t,r){var n=r(70),o=r(71),c=r(52),i=r(72);e.exports=function(e,t){return n(e)||o(e,t)||c(e,t)||i()}},106:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(15),o=r(12),c=r(0),i=r(85),u=r(38),a=function(e){var t=e.namespace,r=e.resourceName,a=e.resourceValues,s=void 0===a?[]:a,l=e.query,f=void 0===l?{}:l,p=e.shouldSelect,b=void 0===p||p;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var g=Object(c.useRef)({results:[],isLoading:!0}),d=Object(u.a)(f),m=Object(u.a)(s),O=Object(i.a)(),y=Object(o.useSelect)((function(e){if(!b)return null;var o=e(n.COLLECTIONS_STORE_KEY),c=[t,r,d,m],i=o.getCollectionError.apply(o,c);return i&&O(i),{results:o.getCollection.apply(o,c),isLoading:!o.hasFinishedResolution("getCollection",c)}}),[t,r,m,d,b]);return null!==y&&(g.current=y),g.current}},11:function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}e.exports=r},118:function(e,t,r){"use strict";r.d(t,"c",(function(){return b})),r.d(t,"b",(function(){return g})),r.d(t,"a",(function(){return d}));var n=r(6),o=r.n(n),c=r(20),i=r.n(c),u=r(2);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l,f,p={code:u.CURRENCY.code,symbol:u.CURRENCY.symbol,thousandSeparator:u.CURRENCY.thousandSeparator,decimalSeparator:u.CURRENCY.decimalSeparator,minorUnit:u.CURRENCY.precision,prefix:(l=u.CURRENCY.symbol,f=u.CURRENCY.symbolPosition,{left:l,left_space:" "+l,right:"",right_space:""}[f]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(u.CURRENCY.symbol,u.CURRENCY.symbolPosition)},b=function(e){if(!e||"object"!==i()(e))return p;var t=e.currency_code,r=e.currency_symbol,n=e.currency_thousand_separator,o=e.currency_decimal_separator,c=e.currency_minor_unit,u=e.currency_prefix,a=e.currency_suffix;return{code:t||"USD",symbol:r||"$",thousandSeparator:"string"==typeof n?n:",",decimalSeparator:"string"==typeof o?o:".",minorUnit:Number.isFinite(c)?c:2,prefix:"string"==typeof u?u:"$",suffix:"string"==typeof a?a:""}},g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(s({},p),e)},d=function(e,t){if(""===e||void 0===e)return"";var r=parseInt(e,10);if(!Number.isFinite(r))return"";var n=g(t),o=r/Math.pow(10,n.minorUnit),c=n.prefix+o+n.suffix,i=document.createElement("textarea");return i.innerHTML=c,i.value}},119:function(e,t,r){"use strict";var n=r(0),o=r(2),c=r(15),i=r(12);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(Object(o.getSetting)("restApiRoutes")),Object(i.useSelect)((function(e,t){if(r.current){var n=e(c.SCHEMA_STORE_KEY),o=n.isResolving,i=n.hasFinishedResolution,u=t.dispatch(c.SCHEMA_STORE_KEY),a=u.receiveRoutes,s=u.startResolution,l=u.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];o("getRoutes",[e])||i("getRoutes",[e])||(s("getRoutes",[e]),a(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},12:function(e,t){!function(){e.exports=this.wp.data}()},129:function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"b",(function(){return i}));var n=r(8),o=n.c.reduce((function(e,t){var r,n=(r=t)&&r.attribute_name?{id:parseInt(r.attribute_id,10),name:r.attribute_name,taxonomy:"pa_"+r.attribute_name,label:r.attribute_label}:null;return n.id&&e.push(n),e}),[]),c=function(e){if(e)return o.find((function(t){return t.id===e}))},i=function(e){if(e)return o.find((function(t){return t.taxonomy===e}))}},130:function(e,t,r){"use strict";r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return c}));var n=r(7),o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",c=e.filter((function(e){return e.attribute===r.taxonomy})),i=c.length?c[0]:null;if(i&&i.slug&&Array.isArray(i.slug)&&i.slug.includes(o)){var u=i.slug.filter((function(e){return e!==o})),a=e.filter((function(e){return e.attribute!==r.taxonomy}));u.length>0&&(i.slug=u.sort(),a.push(i)),t(Object(n.sortBy)(a,"attribute"))}},c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",i=e.filter((function(e){return e.attribute!==r.taxonomy}));0===o.length?t(i):(i.push({attribute:r.taxonomy,operator:c,slug:Object(n.map)(o,"slug").sort()}),t(Object(n.sortBy)(i,"attribute")))}},15:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},16:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},19:function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},198:function(e,t){},2:function(e,t){!function(){e.exports=this.wc.wcSettings}()},20:function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=r=function(e){return typeof e}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(t)}e.exports=r},21:function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},255:function(e,t,r){"use strict";r.r(t);var n=r(119),o=r(98),c=r(10),i=r.n(c),u=r(1),a=r(93),s=r(0),l=r(4),f=r.n(l),p=(r(5),r(28)),b=(r(198),r(129)),g=r(118),d=function(e,t){return Number.isFinite(e)&&Number.isFinite(t)?Object(u.sprintf)(Object(u.__)("Between %s and %s","woo-gutenberg-products-block"),Object(g.a)(e),Object(g.a)(t)):Number.isFinite(e)?Object(u.sprintf)(Object(u.__)("From %s","woo-gutenberg-products-block"),Object(g.a)(e)):Object(u.sprintf)(Object(u.__)("Up to %s","woo-gutenberg-products-block"),Object(g.a)(t))},m=function(e){var t=e.type,r=e.name,n=e.prefix,o=e.removeCallback,c=void 0===o?function(){}:o,i=e.showLabel,a=void 0===i||i;return React.createElement("li",{className:"wc-block-active-filters__list-item",key:t+":"+r},a&&React.createElement("span",{className:"wc-block-active-filters__list-item-type"},t+": "),React.createElement("span",{className:"wc-block-active-filters__list-item-name"},n?React.createElement(s.Fragment,null,n," ",r):r,React.createElement("button",{onClick:c},Object(u.sprintf)(Object(u.__)("Remove %s filter","woo-gutenberg-products-block"),r))))},O=r(106),y=r(16),v=r(130),h=function(e){var t=e.attributeObject,r=void 0===t?{}:t,n=e.slugs,o=void 0===n?[]:n,c=e.operator,s=void 0===c?"in":c,l=Object(O.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[r.id]}),f=l.results,p=l.isLoading,b=Object(a.b)("attributes",[]),g=i()(b,2),d=g[0],h=g[1];if(p)return null;var j=r.label;return React.createElement("li",null,React.createElement("span",{className:"wc-block-active-filters__list-item-type"},j,":"),React.createElement("ul",null,o.map((function(e,t){var n=f.find((function(t){return t.slug===e}));if(!n)return null;var o="";return t>0&&"and"===s&&(o=React.createElement("span",{className:"wc-block-active-filters__list-item-operator"},Object(u.__)("and","woo-gutenberg-products-block"))),m({type:j,name:Object(y.decodeEntities)(n.name||e),prefix:o,removeCallback:function(){Object(v.a)(d,h,r,e)},showLabel:!1})}))))},j=function(e){var t=e.attributes,r=e.isEditor,n=void 0!==r&&r,o=Object(a.b)("attributes",[]),c=i()(o,2),l=c[0],g=c[1],O=Object(a.b)("min_price"),y=i()(O,2),v=y[0],j=y[1],_=Object(a.b)("max_price"),S=i()(_,2),E=S[0],w=S[1],R=Object(s.useMemo)((function(){return Number.isFinite(v)||Number.isFinite(E)?m({type:Object(u.__)("Price","woo-gutenberg-products-block"),name:d(v,E),removeCallback:function(){j(void 0),w(void 0)}}):null}),[v,E,d]),x=Object(s.useMemo)((function(){return l.map((function(e){var t=Object(b.b)(e.attribute);return React.createElement(h,{attributeObject:t,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[l]);if(!(l.length>0||Number.isFinite(v)||Number.isFinite(E)||n))return null;var k="h".concat(t.headingLevel),P=f()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return React.createElement(s.Fragment,null,!n&&t.heading&&React.createElement(k,null,t.heading),React.createElement("div",{className:"wc-block-active-filters"},React.createElement("ul",{className:P},n?React.createElement(s.Fragment,null,m({type:Object(u.__)("Size","woo-gutenberg-products-block"),name:Object(u.__)("Small","woo-gutenberg-products-block")}),m({type:Object(u.__)("Color","woo-gutenberg-products-block"),name:Object(u.__)("Blue","woo-gutenberg-products-block")})):React.createElement(s.Fragment,null,R,x)),React.createElement("button",{className:"wc-block-active-filters__clear-all",onClick:function(){j(void 0),w(void 0),g([])}},React.createElement(p.a,{label:Object(u.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(u.__)("Clear All Filters","woo-gutenberg-products-block")}))))};Object(o.a)({selector:".wp-block-woocommerce-active-filters",Block:Object(n.a)(j),getProps:function(e){return{attributes:{displayStyle:e.dataset.displayStyle,heading:e.dataset.heading,headingLevel:e.dataset.headingLevel||3}}}})},28:function(e,t,r){"use strict";var n=r(6),o=r.n(n),c=(r(5),r(3)),i=r(4),u=r.n(i);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l=function(e){var t,r=e.label,n=e.screenReaderLabel,o=e.wrapperElement,i=e.wrapperProps,a=null!=r,l=null!=n;return!a&&l?(t=o||"span",i=s(s({},i),{},{className:u()(i.className,"screen-reader-text")}),React.createElement(t,i,n)):(t=o||c.Fragment,a&&l&&r!==n?React.createElement(t,i,React.createElement("span",{"aria-hidden":"true"},r),React.createElement("span",{className:"screen-reader-text"},n)):React.createElement(t,i,r))};l.defaultProps={wrapperProps:{}},t.a=l},3:function(e,t){!function(){e.exports=this.React}()},32:function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},33:function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},34:function(e,t,r){var n=r(58);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},35:function(e,t,r){var n=r(20),o=r(19);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?o(e):t}},37:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},38:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(0),o=r(37),c=r.n(o),i=function(e){var t=Object(n.useRef)();return c()(e,t.current)||(t.current=e),t.current}},39:function(e,t){!function(){e.exports=this.wp.blocks}()},4:function(e,t,r){var n;
2
  /*!
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
+ */!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var c=typeof n;if("string"===c||"number"===c)e.push(n);else if(Array.isArray(n)&&n.length){var i=o.apply(null,n);i&&e.push(i)}else if("object"===c)for(var u in n)r.call(n,u)&&n[u]&&e.push(u)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},43:function(e,t,r){"use strict";var n=r(32),o=r.n(n),c=r(33),i=r.n(c),u=r(19),a=r.n(u),s=r(34),l=r.n(s),f=r(35),p=r.n(f),b=r(21),g=r.n(b),d=r(6),m=r.n(d),O=(r(5),r(3)),y=r(1),v=r(8),h=function(e){var t=e.imageUrl,r=void 0===t?"".concat(v.A,"img/block-error.svg"):t,n=e.header,o=void 0===n?Object(y.__)("Oops!","woo-gutenberg-products-block"):n,c=e.text,i=void 0===c?Object(y.__)("There was an error loading the content.","woo-gutenberg-products-block"):c,u=e.errorMessage,a=e.errorMessagePrefix,s=void 0===a?Object(y.__)("Error:","woo-gutenberg-products-block"):a;return React.createElement("div",{className:"wc-block-error"},r&&React.createElement("img",{className:"wc-block-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content"},o&&React.createElement("p",{className:"wc-block-error__header"},o),i&&React.createElement("p",{className:"wc-block-error__text"},i),u&&React.createElement("p",{className:"wc-block-error__message"},s?s+" ":"",u)))};r(61);function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=g()(e);if(t){var o=g()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return p()(this,r)}}var _=function(e){l()(r,e);var t=j(r);function r(){var e;o()(this,r);for(var n=arguments.length,c=new Array(n),i=0;i<n;i++)c[i]=arguments[i];return e=t.call.apply(t,[this].concat(c)),m()(a()(e),"state",{errorMessage:"",hasError:!1}),e}return i()(r,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,o=e.text,c=e.errorMessagePrefix,i=this.state,u=i.errorMessage;return i.hasError?React.createElement(h,{errorMessage:n?u:null,header:t,imageUrl:r,text:o,errorMessagePrefix:c}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return void 0!==e.statusText&&void 0!==e.status?{errorMessage:React.createElement(O.Fragment,null,React.createElement("strong",null,e.status),": ",e.statusText),hasError:!0}:{errorMessage:e.message,hasError:!0}}}]),r}(O.Component);_.defaultProps={showErrorMessage:!0};t.a=_},44:function(e,t){!function(){e.exports=this.ReactDOM}()},5:function(e,t,r){e.exports=r(59)()},52:function(e,t,r){var n=r(53);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}},53:function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},55:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(0),o=Object(n.createContext)("page"),c=function(){return Object(n.useContext)(o)};o.Provider},58:function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},59:function(e,t,r){"use strict";var n=r(60);function o(){}function c(){}c.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,c,i){if(i!==n){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:o};return r.PropTypes=r,r}},6:function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},60:function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},61:function(e,t){},7:function(e,t){!function(){e.exports=this.lodash}()},70:function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},71:function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,c=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,c=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw c}}return r}}},72:function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},8:function(e,t,r){"use strict";r.d(t,"i",(function(){return o})),r.d(t,"s",(function(){return c})),r.d(t,"w",(function(){return i})),r.d(t,"p",(function(){return u})),r.d(t,"l",(function(){return a})),r.d(t,"o",(function(){return s})),r.d(t,"h",(function(){return l})),r.d(t,"x",(function(){return f})),r.d(t,"k",(function(){return p})),r.d(t,"j",(function(){return b})),r.d(t,"c",(function(){return g})),r.d(t,"m",(function(){return d})),r.d(t,"n",(function(){return m})),r.d(t,"A",(function(){return O})),r.d(t,"t",(function(){return y})),r.d(t,"a",(function(){return v})),r.d(t,"u",(function(){return h})),r.d(t,"b",(function(){return j})),r.d(t,"f",(function(){return _})),r.d(t,"v",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"r",(function(){return x})),r.d(t,"q",(function(){return k})),r.d(t,"z",(function(){return P})),r.d(t,"y",(function(){return C})),r.d(t,"d",(function(){return T})),r.d(t,"e",(function(){return N}));var n=r(2),o=Object(n.getSetting)("currentUserIsAdmin",!1),c=Object(n.getSetting)("reviewRatingsEnabled",!0),i=Object(n.getSetting)("showAvatars",!0),u=(Object(n.getSetting)("max_columns",6),Object(n.getSetting)("min_columns",1),Object(n.getSetting)("default_columns",3),Object(n.getSetting)("max_rows",6),Object(n.getSetting)("min_rows",1),Object(n.getSetting)("default_rows",3),Object(n.getSetting)("min_height",500),Object(n.getSetting)("default_height",500),Object(n.getSetting)("placeholderImgSrc","")),a=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog")),s=Object(n.getSetting)("limitTags"),l=(Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0),Object(n.getSetting)("homeUrl",""),Object(n.getSetting)("couponsEnabled",!0)),f=(Object(n.getSetting)("shippingEnabled",!0),Object(n.getSetting)("taxesEnabled",!0)),p=Object(n.getSetting)("displayItemizedTaxes",!1),b=(Object(n.getSetting)("displayShopPricesIncludingTax",!1),Object(n.getSetting)("displayCartPricesIncludingTax",!1)),g=(Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[])),d=Object(n.getSetting)("isShippingCalculatorEnabled",!0),m=Object(n.getSetting)("isShippingCostHidden",!1),O=(Object(n.getSetting)("woocommerceBlocksPhase",1),Object(n.getSetting)("wcBlocksAssetUrl","")),y=Object(n.getSetting)("shippingCountries",{}),v=Object(n.getSetting)("allowedCountries",{}),h=Object(n.getSetting)("shippingStates",{}),j=Object(n.getSetting)("allowedStates",{}),_=(Object(n.getSetting)("shippingMethodsExist",!1),Object(n.getSetting)("checkoutShowLoginReminder",!0)),S={id:0,title:"",permalink:""},E=Object(n.getSetting)("storePages",{shop:S,cart:S,checkout:S,privacy:S,terms:S}),w=E.shop.permalink,R=(E.checkout.id,E.checkout.permalink),x=E.privacy.permalink,k=E.privacy.title,P=E.terms.permalink,C=E.terms.title,T=(E.cart.id,E.cart.permalink),N=Object(n.getSetting)("checkoutAllowsGuest",!1);Object(n.getSetting)("checkoutAllowsSignup",!1),r(39)},85:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(10),o=r.n(n),c=r(0),i=function(){var e=Object(c.useState)(),t=o()(e,2)[1];return function(e){return t((function(){throw e}))}}},93:function(e,t,r){"use strict";r.d(t,"a",(function(){return f})),r.d(t,"b",(function(){return p})),r.d(t,"c",(function(){return b}));var n=r(10),o=r.n(n),c=r(15),i=r(12),u=r(0),a=r(55),s=r(7),l=r(38),f=function(e){var t=Object(a.a)();e=e||t;var r=Object(i.useSelect)((function(t){return t(c.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(i.useDispatch)(c.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(u.useCallback)((function(t){n(e,t)}),[e])]},p=function(e,t,r){var n=Object(a.a)();r=r||n;var o=Object(i.useSelect)((function(n){return n(c.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),s=Object(i.useDispatch)(c.QUERY_STATE_STORE_KEY).setQueryValue;return[o,Object(u.useCallback)((function(t){s(r,e,t)}),[r,e])]},b=function(e,t){var r=Object(a.a)(),n=f(t=t||r),c=o()(n,2),i=c[0],p=c[1],b=Object(l.a)(e),g=Object(u.useRef)(!1);return Object(u.useEffect)((function(){p(Object(s.assign)({},i,b)),g.current=!0}),[b]),g.current?[i,p]:[e,p]}},98:function(e,t,r){"use strict";r.d(t,"a",(function(){return f}));var n=r(11),o=r.n(n),c=r(6),i=r.n(c),u=r(44),a=r(43);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){i()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var f=function(e){var t=e.Block,r=e.selector,n=e.getProps,c=void 0===n?function(){}:n,i=e.getErrorBoundaryProps,s=void 0===i?function(){}:i,f=document.querySelectorAll(r);f.length&&Array.prototype.forEach.call(f,(function(e,r){var n=c(e,r),i=s(e,r),f=l(l({},e.dataset),n.attributes);e.classList.remove("is-loading"),Object(u.render)(React.createElement(a.a,i,React.createElement(t,o()({},n,{attributes:f}))),e)}))}}});
build/active-filters.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-settings', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill'), 'version' => 'a7015684f107604ec38b830f2f2cffd5');
1
+ <?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-settings', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill'), 'version' => 'c2cfe41bf83abb9e8f7ed7812f08deb9');
build/active-filters.js CHANGED
@@ -1 +1 @@
1
- this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["active-filters"]=function(e){function t(t){for(var r,o,u=t[0],a=t[1],l=t[2],b=0,f=[];b<u.length;b++)o=u[b],Object.prototype.hasOwnProperty.call(c,o)&&c[o]&&f.push(c[o][0]),c[o]=0;for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r]);for(s&&s(t);f.length;)f.shift()();return i.push.apply(i,l||[]),n()}function n(){for(var e,t=0;t<i.length;t++){for(var n=i[t],r=!0,u=1;u<n.length;u++){var a=n[u];0!==c[a]&&(r=!1)}r&&(i.splice(t--,1),e=o(o.s=n[0]))}return e}var r={},c={4:0},i=[];function o(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="";var u=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],a=u.push.bind(u);u.push=t,u=u.slice();for(var l=0;l<u.length;l++)t(u[l]);var s=a;return i.push([839,2,0,1]),n()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},140:function(e,t,n){"use strict";var r=n(22),c=n.n(r),i=n(28),o=n.n(i),u=n(23),a=n.n(u),l=n(24),s=n.n(l),b=n(11),f=n.n(b),p=n(0),d=n(6),g=n(1),O=n(4);function m(e){var t=e.level,n={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return n.hasOwnProperty(t)?Object(p.createElement)(O.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(p.createElement)(O.Path,{d:n[t]})):null}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var c=f()(this).constructor;n=Reflect.construct(r,arguments,c)}else n=r.apply(this,arguments);return s()(this,n)}}var h=function(e){a()(n,e);var t=v(n);function n(){return c()(this,n),t.apply(this,arguments)}return o()(n,[{key:"createLevelControl",value:function(e,t,n){var r=e===t;return{icon:Object(p.createElement)(m,{level:e}),title:Object(g.sprintf)(Object(g.__)("Heading %d"),e),isActive:r,onClick:function(){return n(e)}}}},{key:"render",value:function(){var e=this,t=this.props,n=t.isCollapsed,r=void 0===n||n,c=t.minLevel,i=t.maxLevel,o=t.selectedLevel,u=t.onChange;return Object(p.createElement)(O.Toolbar,{isCollapsed:r,icon:Object(p.createElement)(m,{level:o}),controls:Object(d.range)(c,i).map((function(t){return e.createLevelControl(t,o,u)}))})}}]),n}(p.Component);t.a=h},142:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(10),c=n.n(r),i=n(0),o=function(){var e=Object(i.useState)(),t=c()(e,2)[1];return function(e){return t((function(){throw e}))}}},159:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return p}));var r=n(10),c=n.n(r),i=n(39),o=n(34),u=n(0),a=n(95),l=n(6),s=n(58),b=function(e){var t=Object(a.a)();e=e||t;var n=Object(o.useSelect)((function(t){return t(i.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),r=Object(o.useDispatch)(i.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[n,Object(u.useCallback)((function(t){r(e,t)}),[e])]},f=function(e,t,n){var r=Object(a.a)();n=n||r;var c=Object(o.useSelect)((function(r){return r(i.QUERY_STATE_STORE_KEY).getValueForQueryKey(n,e,t)}),[n,e]),l=Object(o.useDispatch)(i.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(u.useCallback)((function(t){l(n,e,t)}),[n,e])]},p=function(e,t){var n=Object(a.a)(),r=b(t=t||n),i=c()(r,2),o=i[0],f=i[1],p=Object(s.a)(e),d=Object(u.useRef)(!1);return Object(u.useEffect)((function(){f(Object(l.assign)({},o,p)),d.current=!0}),[p]),d.current?[o,f]:[e,f]}},171:function(e,t,n){"use strict";var r=n(0),c=(n(2),n(29)),i=n(8),o=n.n(i);n(235);t.a=function(e){var t=e.className,n=e.headingLevel,i=e.onChange,u=e.heading,a="h".concat(n);return Object(r.createElement)(a,null,Object(r.createElement)(c.PlainText,{className:o()("wc-block-component-title",t),value:u,onChange:i}))}},186:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(39),c=n(34),i=n(0),o=n(142),u=n(58),a=function(e){var t=e.namespace,n=e.resourceName,a=e.resourceValues,l=void 0===a?[]:a,s=e.query,b=void 0===s?{}:s,f=e.shouldSelect,p=void 0===f||f;if(!t||!n)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(i.useRef)({results:[],isLoading:!0}),g=Object(u.a)(b),O=Object(u.a)(l),m=Object(o.a)(),v=Object(c.useSelect)((function(e){if(!p)return null;var c=e(r.COLLECTIONS_STORE_KEY),i=[t,n,g,O],o=c.getCollectionError.apply(c,i);return o&&m(o),{results:c.getCollection.apply(c,i),isLoading:!c.hasFinishedResolution("getCollection",i)}}),[t,n,O,g,p]);return null!==v&&(d.current=v),d.current}},235:function(e,t,n){},238:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var r=n(5),c=r.c.reduce((function(e,t){var n,r=(n=t)&&n.attribute_name?{id:parseInt(n.attribute_id,10),name:n.attribute_name,taxonomy:"pa_"+n.attribute_name,label:n.attribute_label}:null;return r.id&&e.push(r),e}),[]),i=function(e){if(e)return c.find((function(t){return t.id===e}))},o=function(e){if(e)return c.find((function(t){return t.taxonomy===e}))}},239:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return i}));var r=n(6),c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=e.filter((function(e){return e.attribute===n.taxonomy})),o=i.length?i[0]:null;if(o&&o.slug&&Array.isArray(o.slug)&&o.slug.includes(c)){var u=o.slug.filter((function(e){return e!==c})),a=e.filter((function(e){return e.attribute!==n.taxonomy}));u.length>0&&(o.slug=u.sort(),a.push(o)),t(Object(r.sortBy)(a,"attribute"))}},i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",o=e.filter((function(e){return e.attribute!==n.taxonomy}));0===c.length?t(o):(o.push({attribute:n.taxonomy,operator:i,slug:Object(r.map)(c,"slug").sort()}),t(Object(r.sortBy)(o,"attribute")))}},268:function(e,t,n){"use strict";n.d(t,"c",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"a",(function(){return g}));var r=n(9),c=n.n(r),i=n(53),o=n.n(i),u=n(3);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var s,b,f={code:u.CURRENCY.code,symbol:u.CURRENCY.symbol,thousandSeparator:u.CURRENCY.thousandSeparator,decimalSeparator:u.CURRENCY.decimalSeparator,minorUnit:u.CURRENCY.precision,prefix:(s=u.CURRENCY.symbol,b=u.CURRENCY.symbolPosition,{left:s,left_space:" "+s,right:"",right_space:""}[b]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(u.CURRENCY.symbol,u.CURRENCY.symbolPosition)},p=function(e){if(!e||"object"!==o()(e))return f;var t=e.currency_code,n=e.currency_symbol,r=e.currency_thousand_separator,c=e.currency_decimal_separator,i=e.currency_minor_unit,u=e.currency_prefix,a=e.currency_suffix;return{code:t||"USD",symbol:n||"$",thousandSeparator:"string"==typeof r?r:",",decimalSeparator:"string"==typeof c?c:".",minorUnit:Number.isFinite(i)?i:2,prefix:"string"==typeof u?u:"$",suffix:"string"==typeof a?a:""}},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return l(l({},f),e)},g=function(e,t){if(""===e||void 0===e)return"";var n=parseInt(e,10);if(!Number.isFinite(n))return"";var r=d(t),c=n/Math.pow(10,r.minorUnit),i=r.prefix+c+r.suffix,o=document.createElement("textarea");return o.innerHTML=i,o.value}},29:function(e,t){!function(){e.exports=this.wp.blockEditor}()},3:function(e,t){!function(){e.exports=this.wc.wcSettings}()},30:function(e,t){!function(){e.exports=this.wp.compose}()},31:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},33:function(e,t){!function(){e.exports=this.wp.blocks}()},34:function(e,t){!function(){e.exports=this.wp.data}()},39:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},4:function(e,t){!function(){e.exports=this.wp.components}()},43:function(e,t,n){"use strict";var r=n(9),c=n.n(r),i=n(0),o=(n(2),n(7)),u=n(8),a=n.n(u);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var b=function(e){var t,n=e.label,r=e.screenReaderLabel,c=e.wrapperElement,u=e.wrapperProps,l=null!=n,b=null!=r;return!l&&b?(t=c||"span",u=s(s({},u),{},{className:a()(u.className,"screen-reader-text")}),Object(i.createElement)(t,u,r)):(t=c||o.Fragment,l&&b&&n!==r?Object(i.createElement)(t,u,Object(i.createElement)("span",{"aria-hidden":"true"},n),Object(i.createElement)("span",{className:"screen-reader-text"},r)):Object(i.createElement)(t,u,n))};b.defaultProps={wrapperProps:{}},t.a=b},47:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},5:function(e,t,n){"use strict";n.d(t,"k",(function(){return c})),n.d(t,"G",(function(){return i})),n.d(t,"M",(function(){return o})),n.d(t,"x",(function(){return u})),n.d(t,"z",(function(){return a})),n.d(t,"l",(function(){return l})),n.d(t,"y",(function(){return s})),n.d(t,"B",(function(){return b})),n.d(t,"n",(function(){return f})),n.d(t,"A",(function(){return p})),n.d(t,"m",(function(){return d})),n.d(t,"C",(function(){return g})),n.d(t,"t",(function(){return O})),n.d(t,"w",(function(){return m})),n.d(t,"q",(function(){return v})),n.d(t,"r",(function(){return h})),n.d(t,"s",(function(){return j})),n.d(t,"j",(function(){return y})),n.d(t,"I",(function(){return w})),n.d(t,"N",(function(){return _})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return S})),n.d(t,"F",(function(){return k})),n.d(t,"c",(function(){return C})),n.d(t,"u",(function(){return x})),n.d(t,"v",(function(){return P})),n.d(t,"Q",(function(){return R})),n.d(t,"H",(function(){return N})),n.d(t,"a",(function(){return L})),n.d(t,"K",(function(){return H})),n.d(t,"b",(function(){return T})),n.d(t,"J",(function(){return V})),n.d(t,"h",(function(){return z})),n.d(t,"L",(function(){return M})),n.d(t,"g",(function(){return U})),n.d(t,"i",(function(){return A})),n.d(t,"E",(function(){return Y})),n.d(t,"D",(function(){return B})),n.d(t,"P",(function(){return I})),n.d(t,"O",(function(){return Q})),n.d(t,"d",(function(){return K})),n.d(t,"e",(function(){return G})),n.d(t,"f",(function(){return W}));var r=n(3),c=Object(r.getSetting)("currentUserIsAdmin",!1),i=Object(r.getSetting)("reviewRatingsEnabled",!0),o=Object(r.getSetting)("showAvatars",!0),u=Object(r.getSetting)("max_columns",6),a=Object(r.getSetting)("min_columns",1),l=Object(r.getSetting)("default_columns",3),s=Object(r.getSetting)("max_rows",6),b=Object(r.getSetting)("min_rows",1),f=Object(r.getSetting)("default_rows",3),p=Object(r.getSetting)("min_height",500),d=Object(r.getSetting)("default_height",500),g=Object(r.getSetting)("placeholderImgSrc",""),O=(Object(r.getSetting)("thumbnail_size",300),Object(r.getSetting)("isLargeCatalog")),m=Object(r.getSetting)("limitTags"),v=Object(r.getSetting)("hasProducts",!0),h=Object(r.getSetting)("hasTags",!0),j=Object(r.getSetting)("homeUrl",""),y=Object(r.getSetting)("couponsEnabled",!0),w=Object(r.getSetting)("shippingEnabled",!0),_=Object(r.getSetting)("taxesEnabled",!0),E=Object(r.getSetting)("displayItemizedTaxes",!1),S=(Object(r.getSetting)("displayShopPricesIncludingTax",!1),Object(r.getSetting)("displayCartPricesIncludingTax",!1)),k=Object(r.getSetting)("productCount",0),C=Object(r.getSetting)("attributes",[]),x=Object(r.getSetting)("isShippingCalculatorEnabled",!0),P=Object(r.getSetting)("isShippingCostHidden",!1),R=Object(r.getSetting)("wcBlocksAssetUrl",""),N=Object(r.getSetting)("shippingCountries",{}),L=Object(r.getSetting)("allowedCountries",{}),H=Object(r.getSetting)("shippingStates",{}),T=Object(r.getSetting)("allowedStates",{}),V=Object(r.getSetting)("shippingMethodsExist",!1),z=Object(r.getSetting)("checkoutShowLoginReminder",!0),D={id:0,title:"",permalink:""},F=Object(r.getSetting)("storePages",{shop:D,cart:D,checkout:D,privacy:D,terms:D}),M=F.shop.permalink,U=F.checkout.id,A=F.checkout.permalink,Y=F.privacy.permalink,B=F.privacy.title,I=F.terms.permalink,Q=F.terms.title,K=F.cart.id,G=F.cart.permalink,W=Object(r.getSetting)("checkoutAllowsGuest",!1);Object(r.getSetting)("checkoutAllowsSignup",!1)},58:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),c=n(47),i=n.n(c),o=function(e){var t=Object(r.useRef)();return i()(e,t.current)||(t.current=e),t.current}},6:function(e,t){!function(){e.exports=this.lodash}()},60:function(e,t,n){"use strict";var r=n(9),c=n.n(r),i=n(38),o=n.n(i),u=n(7);n(2);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.a=function(e){var t=e.srcElement,n=e.size,r=void 0===n?24:n,i=o()(e,["srcElement","size"]);return Object(u.isValidElement)(t)&&Object(u.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({width:r,height:r},i))}},69:function(e,t,n){"use strict";var r=n(13),c=n.n(r),i=n(22),o=n.n(i),u=n(28),a=n.n(u),l=n(19),s=n.n(l),b=n(23),f=n.n(b),p=n(24),d=n.n(p),g=n(11),O=n.n(g),m=n(0),v=n(6),h=n(8),j=n.n(h),y=n(4),w=n(30);n(163);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=O()(e);if(t){var c=O()(this).constructor;n=Reflect.construct(r,arguments,c)}else n=r.apply(this,arguments);return d()(this,n)}}var E=function(e){f()(n,e);var t=_(n);function n(){var e;return o()(this,n),(e=t.apply(this,arguments)).onClick=e.onClick.bind(s()(e)),e}return a()(n,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.label,i=n.checked,o=n.instanceId,u=n.className,a=n.help,l=n.options,s=n.value,b="inspector-toggle-button-control-".concat(o);return a&&(e=Object(v.isFunction)(a)?a(i):a),Object(m.createElement)(y.BaseControl,{id:b,help:e,className:j()("components-toggle-button-control",u)},Object(m.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},r),Object(m.createElement)(y.ButtonGroup,{"aria-labelledby":b+"__label"},l.map((function(e,n){var i={};return s===e.value?(i.isPrimary=!0,i["aria-pressed"]=!0):(i.isDefault=!0,i["aria-pressed"]=!1),Object(m.createElement)(y.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(n),value:e.value,onClick:t.onClick,"aria-label":r+": "+e.label},i),e.label)}))))}}]),n}(m.Component);t.a=Object(w.withInstanceId)(E)},7:function(e,t){!function(){e.exports=this.React}()},839:function(e,t,n){"use strict";n.r(t);var r=n(13),c=n.n(r),i=n(0),o=n(1),u=n(33),a=n(60),l=n(54),s=Object(i.createElement)(l.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0z"}),Object(i.createElement)("path",{d:"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})),b=n(8),f=n.n(b),p=n(29),d=n(4),g=n(140),O=n(171),m=n(10),v=n.n(m),h=n(159),j=(n(2),n(43)),y=(n(793),n(238)),w=n(268),_=function(e,t){return Number.isFinite(e)&&Number.isFinite(t)?Object(o.sprintf)(Object(o.__)("Between %s and %s","woo-gutenberg-products-block"),Object(w.a)(e),Object(w.a)(t)):Number.isFinite(e)?Object(o.sprintf)(Object(o.__)("From %s","woo-gutenberg-products-block"),Object(w.a)(e)):Object(o.sprintf)(Object(o.__)("Up to %s","woo-gutenberg-products-block"),Object(w.a)(t))},E=function(e){var t=e.type,n=e.name,r=e.prefix,c=e.removeCallback,u=void 0===c?function(){}:c,a=e.showLabel,l=void 0===a||a;return Object(i.createElement)("li",{className:"wc-block-active-filters__list-item",key:t+":"+n},l&&Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-type"},t+": "),Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-name"},r?Object(i.createElement)(i.Fragment,null,r," ",n):n,Object(i.createElement)("button",{onClick:u},Object(o.sprintf)(Object(o.__)("Remove %s filter","woo-gutenberg-products-block"),n))))},S=n(186),k=n(31),C=n(239),x=function(e){var t=e.attributeObject,n=void 0===t?{}:t,r=e.slugs,c=void 0===r?[]:r,u=e.operator,a=void 0===u?"in":u,l=Object(S.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[n.id]}),s=l.results,b=l.isLoading,f=Object(h.b)("attributes",[]),p=v()(f,2),d=p[0],g=p[1];if(b)return null;var O=n.label;return Object(i.createElement)("li",null,Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-type"},O,":"),Object(i.createElement)("ul",null,c.map((function(e,t){var r=s.find((function(t){return t.slug===e}));if(!r)return null;var c="";return t>0&&"and"===a&&(c=Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-operator"},Object(o.__)("and","woo-gutenberg-products-block"))),E({type:O,name:Object(k.decodeEntities)(r.name||e),prefix:c,removeCallback:function(){Object(C.a)(d,g,n,e)},showLabel:!1})}))))},P=function(e){var t=e.attributes,n=e.isEditor,r=void 0!==n&&n,c=Object(h.b)("attributes",[]),u=v()(c,2),a=u[0],l=u[1],s=Object(h.b)("min_price"),b=v()(s,2),p=b[0],d=b[1],g=Object(h.b)("max_price"),O=v()(g,2),m=O[0],w=O[1],S=Object(i.useMemo)((function(){return Number.isFinite(p)||Number.isFinite(m)?E({type:Object(o.__)("Price","woo-gutenberg-products-block"),name:_(p,m),removeCallback:function(){d(void 0),w(void 0)}}):null}),[p,m,_]),k=Object(i.useMemo)((function(){return a.map((function(e){var t=Object(y.b)(e.attribute);return Object(i.createElement)(x,{attributeObject:t,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[a]);if(!(a.length>0||Number.isFinite(p)||Number.isFinite(m)||r))return null;var C="h".concat(t.headingLevel),P=f()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return Object(i.createElement)(i.Fragment,null,!r&&t.heading&&Object(i.createElement)(C,null,t.heading),Object(i.createElement)("div",{className:"wc-block-active-filters"},Object(i.createElement)("ul",{className:P},r?Object(i.createElement)(i.Fragment,null,E({type:Object(o.__)("Size","woo-gutenberg-products-block"),name:Object(o.__)("Small","woo-gutenberg-products-block")}),E({type:Object(o.__)("Color","woo-gutenberg-products-block"),name:Object(o.__)("Blue","woo-gutenberg-products-block")})):Object(i.createElement)(i.Fragment,null,S,k)),Object(i.createElement)("button",{className:"wc-block-active-filters__clear-all",onClick:function(){d(void 0),w(void 0),l([])}},Object(i.createElement)(j.a,{label:Object(o.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(o.__)("Clear All Filters","woo-gutenberg-products-block")}))))},R=n(69),N=Object(d.withSpokenMessages)((function(e){var t=e.attributes,n=e.setAttributes,r=t.className,c=t.displayStyle,u=t.heading,a=t.headingLevel;return Object(i.createElement)("div",{className:r},Object(i.createElement)(p.InspectorControls,{key:"inspector"},Object(i.createElement)(d.PanelBody,{title:Object(o.__)("Block Settings","woo-gutenberg-products-block")},Object(i.createElement)(R.a,{label:Object(o.__)("Display Style","woo-gutenberg-products-block"),value:c,options:[{label:Object(o.__)("List","woo-gutenberg-products-block"),value:"list"},{label:Object(o.__)("Chips","woo-gutenberg-products-block"),value:"chips"}],onChange:function(e){return n({displayStyle:e})}}),Object(i.createElement)("p",null,Object(o.__)("Heading Level","woo-gutenberg-products-block")),Object(i.createElement)(g.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:a,onChange:function(e){return n({headingLevel:e})}}))),Object(i.createElement)(O.a,{headingLevel:a,heading:u,onChange:function(e){return n({heading:e})}}),Object(i.createElement)(d.Disabled,null,Object(i.createElement)(P,{attributes:t,isEditor:!0})))}));Object(u.registerBlockType)("woocommerce/active-filters",{title:Object(o.__)("Active Product Filters","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(a.a,{srcElement:s}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(o.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(o.__)("Show the currently active product filters. Works in combination with the All Products and filters blocks.","woo-gutenberg-products-block"),supports:{html:!1,multiple:!1},example:{attributes:{}},attributes:{displayStyle:{type:"string",default:"list"},heading:{type:"string",default:Object(o.__)("Active filters","woo-gutenberg-products-block")},headingLevel:{type:"number",default:3}},edit:N,save:function(e){var t=e.attributes,n=t.className,r={"data-display-style":t.displayStyle,"data-heading":t.heading,"data-heading-level":t.headingLevel};return Object(i.createElement)("div",c()({className:f()("is-loading",n)},r),Object(i.createElement)("span",{"aria-hidden":!0,className:"wc-block-active-product-filters__placeholder"}))}})},95:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),c=Object(r.createContext)("page"),i=function(){return Object(r.useContext)(c)};c.Provider}});
1
+ this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["active-filters"]=function(e){function t(t){for(var r,o,u=t[0],a=t[1],l=t[2],b=0,f=[];b<u.length;b++)o=u[b],Object.prototype.hasOwnProperty.call(c,o)&&c[o]&&f.push(c[o][0]),c[o]=0;for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r]);for(s&&s(t);f.length;)f.shift()();return i.push.apply(i,l||[]),n()}function n(){for(var e,t=0;t<i.length;t++){for(var n=i[t],r=!0,u=1;u<n.length;u++){var a=n[u];0!==c[a]&&(r=!1)}r&&(i.splice(t--,1),e=o(o.s=n[0]))}return e}var r={},c={4:0},i=[];function o(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="";var u=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],a=u.push.bind(u);u.push=t,u=u.slice();for(var l=0;l<u.length;l++)t(u[l]);var s=a;return i.push([844,2,0,1]),n()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},14:function(e,t){!function(){e.exports=this.wp.blocks}()},145:function(e,t,n){"use strict";var r=n(20),c=n.n(r),i=n(26),o=n.n(i),u=n(21),a=n.n(u),l=n(22),s=n.n(l),b=n(12),f=n.n(b),p=n(0),d=n(6),g=n(1),O=n(4);function m(e){var t=e.level,n={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return n.hasOwnProperty(t)?Object(p.createElement)(O.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(p.createElement)(O.Path,{d:n[t]})):null}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var c=f()(this).constructor;n=Reflect.construct(r,arguments,c)}else n=r.apply(this,arguments);return s()(this,n)}}var h=function(e){a()(n,e);var t=v(n);function n(){return c()(this,n),t.apply(this,arguments)}return o()(n,[{key:"createLevelControl",value:function(e,t,n){var r=e===t;return{icon:Object(p.createElement)(m,{level:e}),title:Object(g.sprintf)(Object(g.__)("Heading %d"),e),isActive:r,onClick:function(){return n(e)}}}},{key:"render",value:function(){var e=this,t=this.props,n=t.isCollapsed,r=void 0===n||n,c=t.minLevel,i=t.maxLevel,o=t.selectedLevel,u=t.onChange;return Object(p.createElement)(O.Toolbar,{isCollapsed:r,icon:Object(p.createElement)(m,{level:o}),controls:Object(d.range)(c,i).map((function(t){return e.createLevelControl(t,o,u)}))})}}]),n}(p.Component);t.a=h},148:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(11),c=n.n(r),i=n(0),o=function(){var e=Object(i.useState)(),t=c()(e,2)[1];return function(e){return t((function(){throw e}))}}},165:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return p}));var r=n(11),c=n.n(r),i=n(39),o=n(35),u=n(0),a=n(96),l=n(6),s=n(57),b=function(e){var t=Object(a.a)();e=e||t;var n=Object(o.useSelect)((function(t){return t(i.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),r=Object(o.useDispatch)(i.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[n,Object(u.useCallback)((function(t){r(e,t)}),[e])]},f=function(e,t,n){var r=Object(a.a)();n=n||r;var c=Object(o.useSelect)((function(r){return r(i.QUERY_STATE_STORE_KEY).getValueForQueryKey(n,e,t)}),[n,e]),l=Object(o.useDispatch)(i.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(u.useCallback)((function(t){l(n,e,t)}),[n,e])]},p=function(e,t){var n=Object(a.a)(),r=b(t=t||n),i=c()(r,2),o=i[0],f=i[1],p=Object(s.a)(e),d=Object(u.useRef)(!1);return Object(u.useEffect)((function(){f(Object(l.assign)({},o,p)),d.current=!0}),[p]),d.current?[o,f]:[e,f]}},176:function(e,t,n){"use strict";var r=n(0),c=(n(2),n(24)),i=n(7),o=n.n(i);n(247);t.a=function(e){var t=e.className,n=e.headingLevel,i=e.onChange,u=e.heading,a="h".concat(n);return Object(r.createElement)(a,null,Object(r.createElement)(c.PlainText,{className:o()("wc-block-components-title",t),value:u,onChange:i}))}},187:function(e,t,n){"use strict";n.d(t,"c",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"a",(function(){return g}));var r=n(8),c=n.n(r),i=n(54),o=n.n(i),u=n(3);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var s,b,f={code:u.CURRENCY.code,symbol:u.CURRENCY.symbol,thousandSeparator:u.CURRENCY.thousandSeparator,decimalSeparator:u.CURRENCY.decimalSeparator,minorUnit:u.CURRENCY.precision,prefix:(s=u.CURRENCY.symbol,b=u.CURRENCY.symbolPosition,{left:s,left_space:" "+s,right:"",right_space:""}[b]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(u.CURRENCY.symbol,u.CURRENCY.symbolPosition)},p=function(e){if(!e||"object"!==o()(e))return f;var t=e.currency_code,n=e.currency_symbol,r=e.currency_thousand_separator,c=e.currency_decimal_separator,i=e.currency_minor_unit,u=e.currency_prefix,a=e.currency_suffix;return{code:t||"USD",symbol:n||"$",thousandSeparator:"string"==typeof r?r:",",decimalSeparator:"string"==typeof c?c:".",minorUnit:Number.isFinite(i)?i:2,prefix:"string"==typeof u?u:"$",suffix:"string"==typeof a?a:""}},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return l(l({},f),e)},g=function(e,t){if(""===e||void 0===e)return"";var n=parseInt(e,10);if(!Number.isFinite(n))return"";var r=d(t),c=n/Math.pow(10,r.minorUnit),i=r.prefix+c+r.suffix,o=document.createElement("textarea");return o.innerHTML=i,o.value}},197:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(39),c=n(35),i=n(0),o=n(148),u=n(57),a=function(e){var t=e.namespace,n=e.resourceName,a=e.resourceValues,l=void 0===a?[]:a,s=e.query,b=void 0===s?{}:s,f=e.shouldSelect,p=void 0===f||f;if(!t||!n)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(i.useRef)({results:[],isLoading:!0}),g=Object(u.a)(b),O=Object(u.a)(l),m=Object(o.a)(),v=Object(c.useSelect)((function(e){if(!p)return null;var c=e(r.COLLECTIONS_STORE_KEY),i=[t,n,g,O],o=c.getCollectionError.apply(c,i);return o&&m(o),{results:c.getCollection.apply(c,i),isLoading:!c.hasFinishedResolution("getCollection",i)}}),[t,n,O,g,p]);return null!==v&&(d.current=v),d.current}},24:function(e,t){!function(){e.exports=this.wp.blockEditor}()},247:function(e,t,n){},25:function(e,t){!function(){e.exports=this.wp.compose}()},252:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var r=n(5),c=r.c.reduce((function(e,t){var n,r=(n=t)&&n.attribute_name?{id:parseInt(n.attribute_id,10),name:n.attribute_name,taxonomy:"pa_"+n.attribute_name,label:n.attribute_label}:null;return r.id&&e.push(r),e}),[]),i=function(e){if(e)return c.find((function(t){return t.id===e}))},o=function(e){if(e)return c.find((function(t){return t.taxonomy===e}))}},253:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return i}));var r=n(6),c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=e.filter((function(e){return e.attribute===n.taxonomy})),o=i.length?i[0]:null;if(o&&o.slug&&Array.isArray(o.slug)&&o.slug.includes(c)){var u=o.slug.filter((function(e){return e!==c})),a=e.filter((function(e){return e.attribute!==n.taxonomy}));u.length>0&&(o.slug=u.sort(),a.push(o)),t(Object(r.sortBy)(a,"attribute"))}},i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",o=e.filter((function(e){return e.attribute!==n.taxonomy}));0===c.length?t(o):(o.push({attribute:n.taxonomy,operator:i,slug:Object(r.map)(c,"slug").sort()}),t(Object(r.sortBy)(o,"attribute")))}},3:function(e,t){!function(){e.exports=this.wc.wcSettings}()},33:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},35:function(e,t){!function(){e.exports=this.wp.data}()},39:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},4:function(e,t){!function(){e.exports=this.wp.components}()},44:function(e,t,n){"use strict";var r=n(8),c=n.n(r),i=n(0),o=(n(2),n(9)),u=n(7),a=n.n(u);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var b=function(e){var t,n=e.label,r=e.screenReaderLabel,c=e.wrapperElement,u=e.wrapperProps,l=null!=n,b=null!=r;return!l&&b?(t=c||"span",u=s(s({},u),{},{className:a()(u.className,"screen-reader-text")}),Object(i.createElement)(t,u,r)):(t=c||o.Fragment,l&&b&&n!==r?Object(i.createElement)(t,u,Object(i.createElement)("span",{"aria-hidden":"true"},n),Object(i.createElement)("span",{className:"screen-reader-text"},r)):Object(i.createElement)(t,u,n))};b.defaultProps={wrapperProps:{}},t.a=b},48:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},5:function(e,t,n){"use strict";n.d(t,"k",(function(){return c})),n.d(t,"G",(function(){return i})),n.d(t,"M",(function(){return o})),n.d(t,"x",(function(){return u})),n.d(t,"z",(function(){return a})),n.d(t,"l",(function(){return l})),n.d(t,"y",(function(){return s})),n.d(t,"B",(function(){return b})),n.d(t,"n",(function(){return f})),n.d(t,"A",(function(){return p})),n.d(t,"m",(function(){return d})),n.d(t,"C",(function(){return g})),n.d(t,"t",(function(){return O})),n.d(t,"w",(function(){return m})),n.d(t,"q",(function(){return v})),n.d(t,"r",(function(){return h})),n.d(t,"s",(function(){return j})),n.d(t,"j",(function(){return y})),n.d(t,"I",(function(){return w})),n.d(t,"N",(function(){return _})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return S})),n.d(t,"F",(function(){return k})),n.d(t,"c",(function(){return C})),n.d(t,"u",(function(){return x})),n.d(t,"v",(function(){return P})),n.d(t,"Q",(function(){return N})),n.d(t,"H",(function(){return L})),n.d(t,"a",(function(){return H})),n.d(t,"K",(function(){return T})),n.d(t,"b",(function(){return V})),n.d(t,"J",(function(){return z})),n.d(t,"h",(function(){return D})),n.d(t,"L",(function(){return U})),n.d(t,"g",(function(){return B})),n.d(t,"i",(function(){return A})),n.d(t,"E",(function(){return Y})),n.d(t,"D",(function(){return I})),n.d(t,"P",(function(){return Q})),n.d(t,"O",(function(){return K})),n.d(t,"d",(function(){return G})),n.d(t,"e",(function(){return W})),n.d(t,"f",(function(){return q})),n.d(t,"R",(function(){return $})),n.d(t,"S",(function(){return X}));var r=n(3),c=Object(r.getSetting)("currentUserIsAdmin",!1),i=Object(r.getSetting)("reviewRatingsEnabled",!0),o=Object(r.getSetting)("showAvatars",!0),u=Object(r.getSetting)("max_columns",6),a=Object(r.getSetting)("min_columns",1),l=Object(r.getSetting)("default_columns",3),s=Object(r.getSetting)("max_rows",6),b=Object(r.getSetting)("min_rows",1),f=Object(r.getSetting)("default_rows",3),p=Object(r.getSetting)("min_height",500),d=Object(r.getSetting)("default_height",500),g=Object(r.getSetting)("placeholderImgSrc",""),O=(Object(r.getSetting)("thumbnail_size",300),Object(r.getSetting)("isLargeCatalog")),m=Object(r.getSetting)("limitTags"),v=Object(r.getSetting)("hasProducts",!0),h=Object(r.getSetting)("hasTags",!0),j=Object(r.getSetting)("homeUrl",""),y=Object(r.getSetting)("couponsEnabled",!0),w=Object(r.getSetting)("shippingEnabled",!0),_=Object(r.getSetting)("taxesEnabled",!0),E=Object(r.getSetting)("displayItemizedTaxes",!1),S=(Object(r.getSetting)("displayShopPricesIncludingTax",!1),Object(r.getSetting)("displayCartPricesIncludingTax",!1)),k=Object(r.getSetting)("productCount",0),C=Object(r.getSetting)("attributes",[]),x=Object(r.getSetting)("isShippingCalculatorEnabled",!0),P=Object(r.getSetting)("isShippingCostHidden",!1),R=Object(r.getSetting)("woocommerceBlocksPhase",1),N=Object(r.getSetting)("wcBlocksAssetUrl",""),L=Object(r.getSetting)("shippingCountries",{}),H=Object(r.getSetting)("allowedCountries",{}),T=Object(r.getSetting)("shippingStates",{}),V=Object(r.getSetting)("allowedStates",{}),z=Object(r.getSetting)("shippingMethodsExist",!1),D=Object(r.getSetting)("checkoutShowLoginReminder",!0),F={id:0,title:"",permalink:""},M=Object(r.getSetting)("storePages",{shop:F,cart:F,checkout:F,privacy:F,terms:F}),U=M.shop.permalink,B=M.checkout.id,A=M.checkout.permalink,Y=M.privacy.permalink,I=M.privacy.title,Q=M.terms.permalink,K=M.terms.title,G=M.cart.id,W=M.cart.permalink,q=Object(r.getSetting)("checkoutAllowsGuest",!1),J=(Object(r.getSetting)("checkoutAllowsSignup",!1),n(14)),$=function(e,t){if(R>2)return Object(J.registerBlockType)(e,t)},X=function(e,t){if(R>1)return Object(J.registerBlockType)(e,t)}},57:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),c=n(48),i=n.n(c),o=function(e){var t=Object(r.useRef)();return i()(e,t.current)||(t.current=e),t.current}},58:function(e,t,n){"use strict";var r=n(8),c=n.n(r),i=n(23),o=n.n(i),u=n(9);n(2);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.a=function(e){var t=e.srcElement,n=e.size,r=void 0===n?24:n,i=o()(e,["srcElement","size"]);return Object(u.isValidElement)(t)&&Object(u.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({width:r,height:r},i))}},6:function(e,t){!function(){e.exports=this.lodash}()},70:function(e,t,n){"use strict";var r=n(10),c=n.n(r),i=n(20),o=n.n(i),u=n(26),a=n.n(u),l=n(19),s=n.n(l),b=n(21),f=n.n(b),p=n(22),d=n.n(p),g=n(12),O=n.n(g),m=n(0),v=n(6),h=n(7),j=n.n(h),y=n(4),w=n(25);n(168);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=O()(e);if(t){var c=O()(this).constructor;n=Reflect.construct(r,arguments,c)}else n=r.apply(this,arguments);return d()(this,n)}}var E=function(e){f()(n,e);var t=_(n);function n(){var e;return o()(this,n),(e=t.apply(this,arguments)).onClick=e.onClick.bind(s()(e)),e}return a()(n,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.label,i=n.checked,o=n.instanceId,u=n.className,a=n.help,l=n.options,s=n.value,b="inspector-toggle-button-control-".concat(o);return a&&(e=Object(v.isFunction)(a)?a(i):a),Object(m.createElement)(y.BaseControl,{id:b,help:e,className:j()("components-toggle-button-control",u)},Object(m.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},r),Object(m.createElement)(y.ButtonGroup,{"aria-labelledby":b+"__label"},l.map((function(e,n){var i={};return s===e.value?(i.isPrimary=!0,i["aria-pressed"]=!0):(i.isDefault=!0,i["aria-pressed"]=!1),Object(m.createElement)(y.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(n),value:e.value,onClick:t.onClick,"aria-label":r+": "+e.label},i),e.label)}))))}}]),n}(m.Component);t.a=Object(w.withInstanceId)(E)},844:function(e,t,n){"use strict";n.r(t);var r=n(10),c=n.n(r),i=n(0),o=n(1),u=n(14),a=n(58),l=n(63),s=Object(i.createElement)(l.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0z"}),Object(i.createElement)("path",{d:"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})),b=n(7),f=n.n(b),p=n(24),d=n(4),g=n(145),O=n(176),m=n(11),v=n.n(m),h=n(165),j=(n(2),n(44)),y=(n(795),n(252)),w=n(187),_=function(e,t){return Number.isFinite(e)&&Number.isFinite(t)?Object(o.sprintf)(Object(o.__)("Between %s and %s","woo-gutenberg-products-block"),Object(w.a)(e),Object(w.a)(t)):Number.isFinite(e)?Object(o.sprintf)(Object(o.__)("From %s","woo-gutenberg-products-block"),Object(w.a)(e)):Object(o.sprintf)(Object(o.__)("Up to %s","woo-gutenberg-products-block"),Object(w.a)(t))},E=function(e){var t=e.type,n=e.name,r=e.prefix,c=e.removeCallback,u=void 0===c?function(){}:c,a=e.showLabel,l=void 0===a||a;return Object(i.createElement)("li",{className:"wc-block-active-filters__list-item",key:t+":"+n},l&&Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-type"},t+": "),Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-name"},r?Object(i.createElement)(i.Fragment,null,r," ",n):n,Object(i.createElement)("button",{onClick:u},Object(o.sprintf)(Object(o.__)("Remove %s filter","woo-gutenberg-products-block"),n))))},S=n(197),k=n(33),C=n(253),x=function(e){var t=e.attributeObject,n=void 0===t?{}:t,r=e.slugs,c=void 0===r?[]:r,u=e.operator,a=void 0===u?"in":u,l=Object(S.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[n.id]}),s=l.results,b=l.isLoading,f=Object(h.b)("attributes",[]),p=v()(f,2),d=p[0],g=p[1];if(b)return null;var O=n.label;return Object(i.createElement)("li",null,Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-type"},O,":"),Object(i.createElement)("ul",null,c.map((function(e,t){var r=s.find((function(t){return t.slug===e}));if(!r)return null;var c="";return t>0&&"and"===a&&(c=Object(i.createElement)("span",{className:"wc-block-active-filters__list-item-operator"},Object(o.__)("and","woo-gutenberg-products-block"))),E({type:O,name:Object(k.decodeEntities)(r.name||e),prefix:c,removeCallback:function(){Object(C.a)(d,g,n,e)},showLabel:!1})}))))},P=function(e){var t=e.attributes,n=e.isEditor,r=void 0!==n&&n,c=Object(h.b)("attributes",[]),u=v()(c,2),a=u[0],l=u[1],s=Object(h.b)("min_price"),b=v()(s,2),p=b[0],d=b[1],g=Object(h.b)("max_price"),O=v()(g,2),m=O[0],w=O[1],S=Object(i.useMemo)((function(){return Number.isFinite(p)||Number.isFinite(m)?E({type:Object(o.__)("Price","woo-gutenberg-products-block"),name:_(p,m),removeCallback:function(){d(void 0),w(void 0)}}):null}),[p,m,_]),k=Object(i.useMemo)((function(){return a.map((function(e){var t=Object(y.b)(e.attribute);return Object(i.createElement)(x,{attributeObject:t,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[a]);if(!(a.length>0||Number.isFinite(p)||Number.isFinite(m)||r))return null;var C="h".concat(t.headingLevel),P=f()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return Object(i.createElement)(i.Fragment,null,!r&&t.heading&&Object(i.createElement)(C,null,t.heading),Object(i.createElement)("div",{className:"wc-block-active-filters"},Object(i.createElement)("ul",{className:P},r?Object(i.createElement)(i.Fragment,null,E({type:Object(o.__)("Size","woo-gutenberg-products-block"),name:Object(o.__)("Small","woo-gutenberg-products-block")}),E({type:Object(o.__)("Color","woo-gutenberg-products-block"),name:Object(o.__)("Blue","woo-gutenberg-products-block")})):Object(i.createElement)(i.Fragment,null,S,k)),Object(i.createElement)("button",{className:"wc-block-active-filters__clear-all",onClick:function(){d(void 0),w(void 0),l([])}},Object(i.createElement)(j.a,{label:Object(o.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(o.__)("Clear All Filters","woo-gutenberg-products-block")}))))},R=n(70),N=Object(d.withSpokenMessages)((function(e){var t=e.attributes,n=e.setAttributes,r=t.className,c=t.displayStyle,u=t.heading,a=t.headingLevel;return Object(i.createElement)("div",{className:r},Object(i.createElement)(p.InspectorControls,{key:"inspector"},Object(i.createElement)(d.PanelBody,{title:Object(o.__)("Block Settings","woo-gutenberg-products-block")},Object(i.createElement)(R.a,{label:Object(o.__)("Display Style","woo-gutenberg-products-block"),value:c,options:[{label:Object(o.__)("List","woo-gutenberg-products-block"),value:"list"},{label:Object(o.__)("Chips","woo-gutenberg-products-block"),value:"chips"}],onChange:function(e){return n({displayStyle:e})}}),Object(i.createElement)("p",null,Object(o.__)("Heading Level","woo-gutenberg-products-block")),Object(i.createElement)(g.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:a,onChange:function(e){return n({headingLevel:e})}}))),Object(i.createElement)(O.a,{headingLevel:a,heading:u,onChange:function(e){return n({heading:e})}}),Object(i.createElement)(d.Disabled,null,Object(i.createElement)(P,{attributes:t,isEditor:!0})))}));Object(u.registerBlockType)("woocommerce/active-filters",{title:Object(o.__)("Active Product Filters","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(a.a,{srcElement:s}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(o.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(o.__)("Show the currently active product filters. Works in combination with the All Products and filters blocks.","woo-gutenberg-products-block"),supports:{html:!1,multiple:!1},example:{attributes:{}},attributes:{displayStyle:{type:"string",default:"list"},heading:{type:"string",default:Object(o.__)("Active filters","woo-gutenberg-products-block")},headingLevel:{type:"number",default:3}},edit:N,save:function(e){var t=e.attributes,n=t.className,r={"data-display-style":t.displayStyle,"data-heading":t.heading,"data-heading-level":t.headingLevel};return Object(i.createElement)("div",c()({className:f()("is-loading",n)},r),Object(i.createElement)("span",{"aria-hidden":!0,className:"wc-block-active-product-filters__placeholder"}))}})},9:function(e,t){!function(){e.exports=this.React}()},96:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),c=Object(r.createContext)("page"),i=function(){return Object(r.useContext)(c)};c.Provider}});
build/all-products-frontend.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wc-blocks-data-store', 'wc-blocks-registry', 'wc-settings', 'wp-a11y', 'wp-autop', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-wordcount'), 'version' => 'f79ac5c79e1bfcd56f15db842e12b889');
1
+ <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wc-blocks-data-store', 'wc-blocks-registry', 'wc-settings', 'wc-shared-context', 'wp-a11y', 'wp-autop', 'wp-blocks', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-wordcount'), 'version' => '45a4e93fabb0cb53e5b67d9acded32b5');
build/all-products-frontend.js CHANGED
@@ -1,6 +1,6 @@
1
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var c=t[n]={i:n,l:!1,exports:{}};return e[n].call(c.exports,c,c.exports,r),c.l=!0,c.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)r.d(n,c,function(t){return e[t]}.bind(null,c));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=226)}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t){!function(){e.exports=this.React}()},function(e,t){!function(){e.exports=this.wc.wcSettings}()},function(e,t,r){e.exports=r(67)()},function(e,t,r){var n;
2
  /*!
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
- */!function(){"use strict";var r={}.hasOwnProperty;function c(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"===a||"number"===a)e.push(n);else if(Array.isArray(n)&&n.length){var o=c.apply(null,n);o&&e.push(o)}else if("object"===a)for(var i in n)r.call(n,i)&&n[i]&&e.push(i)}}return e.join(" ")}e.exports?(c.default=c,e.exports=c):void 0===(n=function(){return c}.apply(t,[]))||(e.exports=n)}()},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t){!function(){e.exports=this.lodash}()},function(e,t,r){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}r.d(t,"a",(function(){return n}))},function(e,t,r){"use strict";r.d(t,"i",(function(){return c})),r.d(t,"q",(function(){return a})),r.d(t,"u",(function(){return o})),r.d(t,"n",(function(){return i})),r.d(t,"h",(function(){return s})),r.d(t,"v",(function(){return u})),r.d(t,"k",(function(){return l})),r.d(t,"j",(function(){return h})),r.d(t,"c",(function(){return v})),r.d(t,"l",(function(){return f})),r.d(t,"m",(function(){return m})),r.d(t,"y",(function(){return d})),r.d(t,"r",(function(){return p})),r.d(t,"a",(function(){return b})),r.d(t,"s",(function(){return g})),r.d(t,"b",(function(){return z})),r.d(t,"f",(function(){return y})),r.d(t,"t",(function(){return V})),r.d(t,"g",(function(){return M})),r.d(t,"p",(function(){return H})),r.d(t,"o",(function(){return j})),r.d(t,"x",(function(){return w})),r.d(t,"w",(function(){return E})),r.d(t,"d",(function(){return S})),r.d(t,"e",(function(){return C}));var n=r(3),c=Object(n.getSetting)("currentUserIsAdmin",!1),a=Object(n.getSetting)("reviewRatingsEnabled",!0),o=Object(n.getSetting)("showAvatars",!0),i=(Object(n.getSetting)("max_columns",6),Object(n.getSetting)("min_columns",1),Object(n.getSetting)("default_columns",3),Object(n.getSetting)("max_rows",6),Object(n.getSetting)("min_rows",1),Object(n.getSetting)("default_rows",3),Object(n.getSetting)("min_height",500),Object(n.getSetting)("default_height",500),Object(n.getSetting)("placeholderImgSrc","")),s=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog"),Object(n.getSetting)("limitTags"),Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0),Object(n.getSetting)("homeUrl",""),Object(n.getSetting)("couponsEnabled",!0)),u=(Object(n.getSetting)("shippingEnabled",!0),Object(n.getSetting)("taxesEnabled",!0)),l=Object(n.getSetting)("displayItemizedTaxes",!1),h=(Object(n.getSetting)("displayShopPricesIncludingTax",!1),Object(n.getSetting)("displayCartPricesIncludingTax",!1)),v=(Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[])),f=Object(n.getSetting)("isShippingCalculatorEnabled",!0),m=Object(n.getSetting)("isShippingCostHidden",!1),d=Object(n.getSetting)("wcBlocksAssetUrl",""),p=Object(n.getSetting)("shippingCountries",{}),b=Object(n.getSetting)("allowedCountries",{}),g=Object(n.getSetting)("shippingStates",{}),z=Object(n.getSetting)("allowedStates",{}),y=(Object(n.getSetting)("shippingMethodsExist",!1),Object(n.getSetting)("checkoutShowLoginReminder",!0)),O={id:0,title:"",permalink:""},k=Object(n.getSetting)("storePages",{shop:O,cart:O,checkout:O,privacy:O,terms:O}),V=k.shop.permalink,M=(k.checkout.id,k.checkout.permalink),H=k.privacy.permalink,j=k.privacy.title,w=k.terms.permalink,E=k.terms.title,S=(k.cart.id,k.cart.permalink),C=Object(n.getSetting)("checkoutAllowsGuest",!1);Object(n.getSetting)("checkoutAllowsSignup",!1)},function(e,t,r){var n=r(74),c=r(75),a=r(61),o=r(76);e.exports=function(e,t){return n(e)||c(e,t)||a(e,t)||o()}},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}e.exports=r},function(e,t){!function(){e.exports=this.wp.htmlEntities}()},function(e,t,r){"use strict";function n(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}r.d(t,"a",(function(){return n}))},,function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.d(t,"a",(function(){return n}))},function(e,t,r){"use strict";function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}r.d(t,"a",(function(){return c}))},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(71),c=r(15);function a(e,t){return!t||"object"!==Object(n.a)(t)&&"function"!=typeof t?Object(c.a)(e):t}},function(e,t,r){"use strict";function n(e){return(n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}r.d(t,"a",(function(){return n}))},function(e,t,r){"use strict";function n(e,t){return(n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}r.d(t,"a",(function(){return c}))},function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=r=function(e){return typeof e}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(t)}e.exports=r},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(31);function c(e,t){if(null==e)return{};var r,c,a=Object(n.a)(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(c=0;c<o.length;c++)r=o[c],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(50);function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},c=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(c=c.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),c.forEach((function(t){Object(n.a)(e,t,r[t])}))}return e}},function(e,t,r){"use strict";var n=r(6),c=r.n(n),a=(r(4),r(2)),o=r(5),i=r.n(o);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l=function(e){var t,r=e.label,n=e.screenReaderLabel,c=e.wrapperElement,o=e.wrapperProps,s=null!=r,l=null!=n;return!s&&l?(t=c||"span",o=u(u({},o),{},{className:i()(o.className,"screen-reader-text")}),React.createElement(t,o,n)):(t=c||a.Fragment,s&&l&&r!==n?React.createElement(t,o,React.createElement("span",{"aria-hidden":"true"},r),React.createElement("span",{className:"screen-reader-text"},n)):React.createElement(t,o,r))};l.defaultProps={wrapperProps:{}},t.a=l},,function(e,t){!function(){e.exports=this.regeneratorRuntime}()},function(e,t,r){"use strict";function n(e,t){if(null==e)return{};var r,n,c={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(c[r]=e[r]);return c}r.d(t,"a",(function(){return n}))},function(e,t,r){var n=r(85);e.exports=function(e,t){if(null==e)return{};var r,c,a=n(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(c=0;c<o.length;c++)r=o[c],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(64);function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,c=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){c=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(c)throw a}}return r}}(e,t)||Object(n.a)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},function(e,t,r){"use strict";var n=r(13),c=r.n(n),a=r(6),o=r.n(a),i=r(32),s=r.n(i),u=r(2),l=r.n(u);function h(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(){}function b(){}b.resetWarningCache=p;var g=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){e.exports=function(){function e(e,t,r,n,c,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:b,resetWarningCache:p};return r.PropTypes=r,r}()}));function z(){}function y(e){return!!(e||"").match(/\d/)}function O(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}function k(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r="-"===e[0],n=r&&t,c=(e=e.replace("-","")).split("."),a=c[0],o=c[1]||"";return{beforeDecimal:a,afterDecimal:o,hasNagation:r,addNegation:n}}function V(e,t,r){for(var n="",c=r?"0":"",a=0;a<=t-1;a++)n+=e[a]||c;return n}function M(e,t){if(e.value=e.value,null!==e){if(e.createTextRange){var r=e.createTextRange();return r.move("character",t),r.select(),!0}return e.selectionStart||0===e.selectionStart?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}function H(e,t,r){return Math.min(Math.max(e,t),r)}function j(e){return Math.max(e.selectionStart,e.selectionEnd)}var w={thousandSeparator:g.oneOfType([g.string,g.oneOf([!0])]),decimalSeparator:g.string,allowedDecimalSeparators:g.arrayOf(g.string),thousandsGroupStyle:g.oneOf(["thousand","lakh","wan"]),decimalScale:g.number,fixedDecimalScale:g.bool,displayType:g.oneOf(["input","text"]),prefix:g.string,suffix:g.string,format:g.oneOfType([g.string,g.func]),removeFormatting:g.func,mask:g.oneOfType([g.string,g.arrayOf(g.string)]),value:g.oneOfType([g.number,g.string]),defaultValue:g.oneOfType([g.number,g.string]),isNumericString:g.bool,customInput:g.elementType,allowNegative:g.bool,allowEmptyFormatting:g.bool,allowLeadingZeros:g.bool,onValueChange:g.func,onKeyDown:g.func,onMouseUp:g.func,onChange:g.func,onFocus:g.func,onBlur:g.func,type:g.oneOf(["text","tel","password"]),isAllowed:g.func,renderText:g.func,getInputRef:g.oneOfType([g.func,g.shape({current:g.any})])},E={displayType:"input",decimalSeparator:".",thousandsGroupStyle:"thousand",fixedDecimalScale:!1,prefix:"",suffix:"",allowNegative:!0,allowEmptyFormatting:!1,allowLeadingZeros:!1,isNumericString:!1,type:"text",onValueChange:z,onChange:z,onKeyDown:z,onMouseUp:z,onFocus:z,onBlur:z,isAllowed:function(){return!0}},S=function(e){function t(e){var r,n,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),n=this,r=!(c=f(t).call(this,e))||"object"!=typeof c&&"function"!=typeof c?d(n):c;var a=e.defaultValue;r.validateProps();var o=r.formatValueProp(a);return r.state={value:o,numAsString:r.removeFormatting(o)},r.selectionBeforeInput={selectionStart:0,selectionEnd:0},r.onChange=r.onChange.bind(d(r)),r.onKeyDown=r.onKeyDown.bind(d(r)),r.onMouseUp=r.onMouseUp.bind(d(r)),r.onFocus=r.onFocus.bind(d(r)),r.onBlur=r.onBlur.bind(d(r)),r}var r,n,c;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&m(e,t)}(t,e),r=t,(n=[{key:"componentDidUpdate",value:function(e){this.updateValueIfRequired(e)}},{key:"updateValueIfRequired",value:function(e){var t=this.props,r=this.state,n=this.focusedElm,c=r.value,a=r.numAsString,o=void 0===a?"":a;if(e!==t){this.validateProps();var i=this.formatNumString(o),s=void 0===t.value?i:this.formatValueProp(),u=this.removeFormatting(s),l=parseFloat(u),h=parseFloat(o);(isNaN(l)&&isNaN(h)||l===h)&&i===c&&(null!==n||s===c)||this.updateValue({formattedValue:s,numAsString:u,input:n})}}},{key:"getFloatString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.decimalScale,r=this.getSeparators(),n=r.decimalSeparator,c=this.getNumberRegex(!0),a="-"===e[0];a&&(e=e.replace("-","")),n&&0===t&&(e=e.split(n)[0]);var o=(e=(e.match(c)||[]).join("").replace(n,".")).indexOf(".");return-1!==o&&(e="".concat(e.substring(0,o),".").concat(e.substring(o+1,e.length).replace(new RegExp(O(n),"g"),""))),a&&(e="-"+e),e}},{key:"getNumberRegex",value:function(e,t){var r=this.props,n=r.format,c=r.decimalScale,a=this.getSeparators().decimalSeparator;return new RegExp("\\d"+(!a||0===c||t||n?"":"|"+O(a)),e?"g":void 0)}},{key:"getSeparators",value:function(){var e=this.props.decimalSeparator,t=this.props,r=t.thousandSeparator,n=t.allowedDecimalSeparators;return!0===r&&(r=","),n||(n=[e,"."]),{decimalSeparator:e,thousandSeparator:r,allowedDecimalSeparators:n}}},{key:"getMaskAtIndex",value:function(e){var t=this.props.mask,r=void 0===t?" ":t;return"string"==typeof r?r:r[e]||" "}},{key:"getValueObject",value:function(e,t){var r=parseFloat(t);return{formattedValue:e,value:t,floatValue:isNaN(r)?void 0:r}}},{key:"validateProps",value:function(){var e=this.props.mask,t=this.getSeparators(),r=t.decimalSeparator,n=t.thousandSeparator;if(r===n)throw new Error("\n Decimal separator can't be same as thousand separator.\n thousandSeparator: ".concat(n,' (thousandSeparator = {true} is same as thousandSeparator = ",")\n decimalSeparator: ').concat(r," (default value for decimalSeparator is .)\n "));if(e&&("string"===e?e:e.toString()).match(/\d/g))throw new Error("\n Mask ".concat(e," should not contain numeric character;\n "))}},{key:"setPatchedCaretPosition",value:function(e,t,r){M(e,t),setTimeout((function(){e.value===r&&M(e,t)}),0)}},{key:"correctCaretPosition",value:function(e,t,r){var n=this.props,c=n.prefix,a=n.suffix,o=n.format;if(""===e)return 0;if(t=H(t,0,e.length),!o){var i="-"===e[0];return H(t,c.length+(i?1:0),e.length-a.length)}if("function"==typeof o)return t;if("#"===o[t]&&y(e[t]))return t;if("#"===o[t-1]&&y(e[t-1]))return t;var s=o.indexOf("#");t=H(t,s,o.lastIndexOf("#")+1);for(var u=o.substring(t,o.length).indexOf("#"),l=t,h=t+(-1===u?0:u);l>s&&("#"!==o[l]||!y(e[l]));)l-=1;return!y(e[h])||"left"===r&&t!==s||t-l<h-t?y(e[l])?l+1:l:h}},{key:"getCaretPosition",value:function(e,t,r){var n,c,a=this.props.format,o=this.state.value,i=this.getNumberRegex(!0),s=(e.match(i)||[]).join(""),u=(t.match(i)||[]).join("");for(n=0,c=0;c<r;c++){var l=e[c]||"",h=t[n]||"";if((l.match(i)||l===h)&&("0"!==l||!h.match(i)||"0"===h||s.length===u.length)){for(;l!==t[n]&&n<t.length;)n++;n++}}return"string"!=typeof a||o||(n=t.length),n=this.correctCaretPosition(t,n)}},{key:"removePrefixAndSuffix",value:function(e){var t=this.props,r=t.format,n=t.prefix,c=t.suffix;if(!r&&e){var a="-"===e[0];a&&(e=e.substring(1,e.length));var o=(e=n&&0===e.indexOf(n)?e.substring(n.length,e.length):e).lastIndexOf(c);e=c&&-1!==o&&o===e.length-c.length?e.substring(0,o):e,a&&(e="-"+e)}return e}},{key:"removePatternFormatting",value:function(e){for(var t=this.props.format.split("#").filter((function(e){return""!==e})),r=0,n="",c=0,a=t.length;c<=a;c++){var o=t[c]||"",i=c===a?e.length:e.indexOf(o,r);if(-1===i){n=e;break}n+=e.substring(r,i),r=i+o.length}return(n.match(/\d/g)||[]).join("")}},{key:"removeFormatting",value:function(e){var t=this.props,r=t.format,n=t.removeFormatting;return e?(r?e="string"==typeof r?this.removePatternFormatting(e):"function"==typeof n?n(e):(e.match(/\d/g)||[]).join(""):(e=this.removePrefixAndSuffix(e),e=this.getFloatString(e)),e):e}},{key:"formatWithPattern",value:function(e){for(var t=this.props.format,r=0,n=t.split(""),c=0,a=t.length;c<a;c++)"#"===t[c]&&(n[c]=e[r]||this.getMaskAtIndex(r),r+=1);return n.join("")}},{key:"formatAsNumber",value:function(e){var t=this.props,r=t.decimalScale,n=t.fixedDecimalScale,c=t.prefix,a=t.suffix,o=t.allowNegative,i=t.thousandsGroupStyle,s=this.getSeparators(),u=s.thousandSeparator,l=s.decimalSeparator,h=-1!==e.indexOf(".")||r&&n,v=k(e,o),f=v.beforeDecimal,m=v.afterDecimal,d=v.addNegation;return void 0!==r&&(m=V(m,r,n)),u&&(f=function(e,t,r){var n=function(e){switch(e){case"lakh":return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case"wan":return/(\d)(?=(\d{4})+(?!\d))/g;case"thousand":default:return/(\d)(?=(\d{3})+(?!\d))/g}}(r),c=e.search(/[1-9]/);return c=-1===c?e.length:c,e.substring(0,c)+e.substring(c,e.length).replace(n,"$1"+t)}(f,u,i)),c&&(f=c+f),a&&(m+=a),d&&(f="-"+f),e=f+(h&&l||"")+m}},{key:"formatNumString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props,r=t.format,n=t.allowEmptyFormatting,c=e;return c=""!==e||n?"-"!==e||r?"string"==typeof r?this.formatWithPattern(c):"function"==typeof r?r(c):this.formatAsNumber(c):"-":""}},{key:"formatValueProp",value:function(e){var t=this.props,r=t.format,n=t.decimalScale,c=t.fixedDecimalScale,a=t.allowEmptyFormatting,o=this.props,i=o.value,s=void 0===i?e:i,u=o.isNumericString,l=!s&&0!==s;return l&&a&&(s=""),l&&!a?"":("number"==typeof s&&(s=s.toString(),u=!0),"Infinity"===s&&u&&(s=""),u&&!r&&"number"==typeof n&&(s=function(e,t,r){if(-1!==["","-"].indexOf(e))return e;var n=-1!==e.indexOf(".")&&t,c=k(e),a=c.beforeDecimal,o=c.afterDecimal,i=c.hasNagation,s=parseFloat("0.".concat(o||"0")).toFixed(t).split("."),u=a.split("").reverse().reduce((function(e,t,r){return e.length>r?(Number(e[0])+Number(t)).toString()+e.substring(1,e.length):t+e}),s[0]),l=V(s[1]||"",Math.min(t,o.length),r),h=n?".":"";return"".concat(i?"-":"").concat(u).concat(h).concat(l)}(s,n,c)),u?this.formatNumString(s):this.formatInput(s))}},{key:"formatNegation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.allowNegative,r=new RegExp("(-)"),n=new RegExp("(-)(.)*(-)"),c=r.test(e),a=n.test(e);return e=e.replace(/-/g,""),c&&!a&&t&&(e="-"+e),e}},{key:"formatInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.format;return t||(e=this.removePrefixAndSuffix(e),e=this.formatNegation(e)),e=this.removeFormatting(e),this.formatNumString(e)}},{key:"isCharacterAFormat",value:function(e,t){var r=this.props,n=r.format,c=r.prefix,a=r.suffix,o=r.decimalScale,i=r.fixedDecimalScale,s=this.getSeparators().decimalSeparator;return"string"==typeof n&&"#"!==n[e]||!(n||!(e<c.length||e>=t.length-a.length||o&&i&&t[e]===s))}},{key:"checkIfFormatGotDeleted",value:function(e,t,r){for(var n=e;n<t;n++)if(this.isCharacterAFormat(n,r))return!0;return!1}},{key:"correctInputValue",value:function(e,t,r){var n=this.props,c=n.format,a=n.allowNegative,o=n.prefix,i=n.suffix,s=n.decimalScale,u=this.getSeparators(),l=u.allowedDecimalSeparators,h=u.decimalSeparator,v=this.state.numAsString||"",f=this.selectionBeforeInput,m=f.selectionStart,d=f.selectionEnd,p=function(e,t){for(var r=0,n=0,c=e.length,a=t.length;e[r]===t[r]&&r<c;)r++;for(;e[c-1-n]===t[a-1-n]&&a-n>r&&c-n>r;)n++;return{start:r,end:c-n}}(t,r),b=p.start,g=p.end;if(!c&&b===g&&-1!==l.indexOf(r[m])){var z=0===s?"":h;return r.substr(0,m)+z+r.substr(m+1,r.length)}var y=c?0:o.length,O=t.length-(c?0:i.length);if(r.length>t.length||!r.length||b===g||0===m&&d===t.length||m===y&&d===O)return r;if(this.checkIfFormatGotDeleted(b,g,t)&&(r=t),!c){var V=this.removeFormatting(r),M=k(V,a),H=M.beforeDecimal,j=M.afterDecimal,w=M.addNegation,E=e<r.indexOf(h)+1;if(V.length<v.length&&E&&""===H&&!parseFloat(j))return w?"-":""}return r}},{key:"updateValue",value:function(e){var t=e.formattedValue,r=e.input,n=e.setCaretPosition,c=void 0===n||n,a=e.numAsString,o=e.caretPos,i=this.props.onValueChange,s=this.state.value;if(r)if(c){if(!o){var u=e.inputValue||r.value,l=j(r);r.value=t,o=this.getCaretPosition(u,t,l)}this.setPatchedCaretPosition(r,o,t)}else r.value=t;void 0===a&&(a=this.removeFormatting(t)),t!==s&&(this.setState({value:t,numAsString:a}),i(this.getValueObject(t,a)))}},{key:"onChange",value:function(e){var t=e.target,r=t.value,n=this.state,c=this.props,a=c.isAllowed,o=n.value||"",i=j(t);r=this.correctInputValue(i,o,r);var s=this.formatInput(r)||"",u=this.removeFormatting(s);a(this.getValueObject(s,u))||(s=o),this.updateValue({formattedValue:s,numAsString:u,inputValue:r,input:t}),c.onChange(e)}},{key:"onBlur",value:function(e){var t=this.props,r=this.state,n=t.format,c=t.onBlur,a=t.allowLeadingZeros,o=r.numAsString,i=r.value;if(this.focusedElm=null,this.focusTimeout&&clearTimeout(this.focusTimeout),!n){isNaN(parseFloat(o))&&(o=""),a||(o=function(e){if(!e)return e;var t="-"===e[0];t&&(e=e.substring(1,e.length));var r=e.split("."),n=r[0].replace(/^0+/,"")||"0",c=r[1]||"";return"".concat(t?"-":"").concat(n).concat(c?".".concat(c):"")}(o));var s=this.formatNumString(o);if(s!==i)return this.updateValue({formattedValue:s,numAsString:o,input:e.target,setCaretPosition:!1}),void c(e)}c(e)}},{key:"onKeyDown",value:function(e){var t,r=e.target,n=e.key,c=r.selectionStart,a=r.selectionEnd,o=r.value,i=void 0===o?"":o,s=this.props,u=s.decimalScale,l=s.fixedDecimalScale,h=s.prefix,v=s.suffix,f=s.format,m=s.onKeyDown,d=void 0!==u&&l,p=this.getNumberRegex(!1,d),b=new RegExp("-"),g="string"==typeof f;if(this.selectionBeforeInput={selectionStart:c,selectionEnd:a},"ArrowLeft"===n||"Backspace"===n?t=c-1:"ArrowRight"===n?t=c+1:"Delete"===n&&(t=c),void 0!==t&&c===a){var z=t,y=g?f.indexOf("#"):h.length,O=g?f.lastIndexOf("#")+1:i.length-v.length;if("ArrowLeft"===n||"ArrowRight"===n){var k="ArrowLeft"===n?"left":"right";z=this.correctCaretPosition(i,t,k)}else if("Delete"!==n||p.test(i[t])||b.test(i[t])){if("Backspace"===n&&!p.test(i[t]))if(c<=y+1&&"-"===i[0]&&void 0===f){var V=i.substring(1);this.updateValue({formattedValue:V,caretPos:z,input:r})}else if(!b.test(i[t])){for(;!p.test(i[z-1])&&z>y;)z--;z=this.correctCaretPosition(i,z,"left")}}else for(;!p.test(i[z])&&z<O;)z++;(z!==t||t<y||t>O)&&(e.preventDefault(),this.setPatchedCaretPosition(r,z,i)),e.isUnitTestRun&&this.setPatchedCaretPosition(r,z,i),m(e)}else m(e)}},{key:"onMouseUp",value:function(e){var t=e.target,r=t.selectionStart,n=t.selectionEnd,c=t.value,a=void 0===c?"":c;if(r===n){var o=this.correctCaretPosition(a,r);o!==r&&this.setPatchedCaretPosition(t,o,a)}this.props.onMouseUp(e)}},{key:"onFocus",value:function(e){var t=this;e.persist(),this.focusedElm=e.target,this.focusTimeout=setTimeout((function(){var r=e.target,n=r.selectionStart,c=r.selectionEnd,a=r.value,o=void 0===a?"":a,i=t.correctCaretPosition(o,n);i===n||0===n&&c===o.length||t.setPatchedCaretPosition(r,i,o),t.props.onFocus(e)}),0)}},{key:"render",value:function(){var e,t,r,n=this.props,c=n.type,a=n.displayType,o=n.customInput,i=n.renderText,s=n.getInputRef,u=this.state.value,h=(e=this.props,t=w,r={},Object.keys(e).forEach((function(n){t[n]||(r[n]=e[n])})),r),f=v({inputMode:"numeric"},h,{type:c,value:u,onChange:this.onChange,onKeyDown:this.onKeyDown,onMouseUp:this.onMouseUp,onFocus:this.onFocus,onBlur:this.onBlur});if("text"===a)return i?i(u)||null:l.a.createElement("span",v({},h,{ref:s}),u);if(o){var m=o;return l.a.createElement(m,v({},f,{ref:s}))}return l.a.createElement("input",v({},f,{ref:s}))}}])&&h(r.prototype,n),c&&h(r,c),t}(l.a.Component);S.propTypes=w,S.defaultProps=E;var C=S,L=r(5),_=r.n(L);r(102);function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e){var t=e.className,r=e.value,n=e.currency,a=e.onValueChange,o=s()(e,["className","value","currency","onValueChange"]);if("-"===r)return null;var i=r/Math.pow(10,n.minorUnit);if(!Number.isFinite(i))return null;var u=_()("wc-block-formatted-money-amount",t),l=R(R(R({displayType:"text"},o),function(e){return{thousandSeparator:e.thousandSeparator,decimalSeparator:e.decimalSeparator,decimalScale:e.minorUnit,fixedDecimalScale:!0,prefix:e.prefix,suffix:e.suffix,isNumericString:!0}}(n)),{},{value:void 0,currency:void 0,onValueChange:void 0}),h=a?function(e){var t=e.value*Math.pow(10,n.minorUnit);a(t)}:function(){};return React.createElement(C,c()({className:u},l,{value:i,onValueChange:h}))}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(66);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},function(e,t,r){var n=r(22),c=r(23);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?c(e):t}},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0),c=r(34),a=r.n(c),o=function(e){var t=Object(n.useRef)();return a()(e,t.current)||(t.current=e),t.current}},function(e,t,r){"use strict";r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return i})),r.d(t,"c",(function(){return s}));var n=r(27),c=r(7),a=r(0),o=function(e){return Object(a.createElement)("g",e)},i=function(e){return Object(a.createElement)("path",e)},s=function(e){var t=Object(n.a)({},e,{role:"img","aria-hidden":"true",focusable:"false"});return Object(a.createElement)("svg",Object(c.omit)(t,"__unstableActive"))}},function(e,t){!function(){e.exports=this.wp.compose}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(51);var c=r(64);function a(e){return function(e){if(Array.isArray(e))return Object(n.a)(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(c.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},,function(e,t){!function(){e.exports=this.wp.a11y}()},function(e,t,r){"use strict";var n=r(36),c=r.n(n),a=r(37),o=r.n(a),i=r(23),s=r.n(i),u=r(38),l=r.n(u),h=r(39),v=r.n(h),f=r(26),m=r.n(f),d=r(6),p=r.n(d),b=(r(4),r(2)),g=r(1),z=r(9),y=function(e){var t=e.imageUrl,r=void 0===t?"".concat(z.y,"img/block-error.svg"):t,n=e.header,c=void 0===n?Object(g.__)("Oops!","woo-gutenberg-products-block"):n,a=e.text,o=void 0===a?Object(g.__)("There was an error loading the content.","woo-gutenberg-products-block"):a,i=e.errorMessage,s=e.errorMessagePrefix,u=void 0===s?Object(g.__)("Error:","woo-gutenberg-products-block"):s;return React.createElement("div",{className:"wc-block-error"},r&&React.createElement("img",{className:"wc-block-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content"},c&&React.createElement("p",{className:"wc-block-error__header"},c),o&&React.createElement("p",{className:"wc-block-error__text"},o),i&&React.createElement("p",{className:"wc-block-error__message"},u?u+" ":"",i)))};r(69);function O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=m()(e);if(t){var c=m()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return v()(this,r)}}var k=function(e){l()(r,e);var t=O(r);function r(){var e;c()(this,r);for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return e=t.call.apply(t,[this].concat(a)),p()(s()(e),"state",{errorMessage:"",hasError:!1}),e}return o()(r,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,c=e.text,a=e.errorMessagePrefix,o=this.state,i=o.errorMessage;return o.hasError?React.createElement(y,{errorMessage:n?i:null,header:t,imageUrl:r,text:c,errorMessagePrefix:a}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return void 0!==e.statusText&&void 0!==e.status?{errorMessage:React.createElement(b.Fragment,null,React.createElement("strong",null,e.status),": ",e.statusText),hasError:!0}:{errorMessage:e.message,hasError:!0}}}]),r}(b.Component);k.defaultProps={showErrorMessage:!0};t.a=k},function(e,t,r){"use strict";r.d(t,"b",(function(){return h})),r.d(t,"c",(function(){return v}));var n=r(13),c=r.n(n),a=r(6),o=r.n(a),i=r(48),s=r(46);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var h=function(e,t){var r=[];return Object.keys(e).forEach((function(n){if(void 0!==t[n])switch(e[n].type){case"boolean":r[n]="false"!==t[n];break;case"number":r[n]=parseInt(t[n],10);break;default:r[n]=t[n]}else r[n]=e[n].default})),r},v=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=document.querySelectorAll(e);a.length&&Array.prototype.forEach.call(a,(function(e,a){var o=r(e,a),u=n(e,a),h=l(l({},e.dataset),o.attributes);e.classList.remove("is-loading"),Object(i.render)(React.createElement(s.a,u,React.createElement(t,c()({},o,{attributes:h}))),e)}))};t.a=v},function(e,t){!function(){e.exports=this.ReactDOM}()},function(e,t){!function(){e.exports=this.wp.keycodes}()},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,"a",(function(){return n}))},function(e,t,r){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}r.d(t,"a",(function(){return n}))},function(e,t){!function(){e.exports=this.wp.dom}()},function(e,t){!function(){e.exports=this.wp.autop}()},,function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),c=Object(n.createContext)("page"),a=function(){return Object(n.useContext)(c)};c.Provider},,,,,,function(e,t,r){var n=r(62);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},function(e,t,r){"use strict";var n=r(27),c=r(8),a=r(25),o=r(0),i=r(78),s=r(41);t.a=function(e){var t=e.icon,r=void 0===t?null:t,u=e.size,l=Object(a.a)(e,["icon","size"]),h=u||20;if("string"==typeof r)return Object(o.createElement)(i.a,Object(c.a)({icon:r,size:h},l));if(r&&i.a===r.type)return Object(o.cloneElement)(r,Object(n.a)({size:h},l));var v=u||24;if("function"==typeof r)return r.prototype instanceof o.Component?Object(o.createElement)(r,Object(n.a)({size:v},l)):r(Object(n.a)({size:v},l));if(r&&("svg"===r.type||r.type===s.c)){var f=Object(n.a)({width:v,height:v},r.props,l);return Object(o.createElement)(s.c,f)}return Object(o.isValidElement)(r)?Object(o.cloneElement)(r,Object(n.a)({size:v},l)):r}},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(51);function c(e,t){if(e){if("string"==typeof e)return Object(n.a)(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Object(n.a)(e,t):void 0}}},function(e,t,r){"use strict";var n=r(27),c=r(25),a=r(5),o=r.n(a),i=r(0);t.a=Object(i.forwardRef)((function(e,t){var r=e.href,a=e.target,s=e.isPrimary,u=e.isLarge,l=e.isSmall,h=e.isTertiary,v=e.isToggled,f=e.isBusy,m=e.isDefault,d=e.isLink,p=e.isDestructive,b=e.className,g=e.disabled,z=Object(c.a)(e,["href","target","isPrimary","isLarge","isSmall","isTertiary","isToggled","isBusy","isDefault","isLink","isDestructive","className","disabled"]),y=o()("components-button",b,{"is-button":m||s||u||l,"is-default":m||!s&&(u||l),"is-primary":s,"is-large":u,"is-small":l,"is-tertiary":h,"is-toggled":v,"is-busy":f,"is-link":d,"is-destructive":p}),O=void 0===r||g?"button":"a",k="a"===O?{href:r,target:a}:{type:"button",disabled:g};return Object(i.createElement)(O,Object(n.a)({},k,z,{className:y,ref:t}))}))},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t,r){"use strict";var n=r(68);function c(){}function a(){}a.resetWarningCache=c,e.exports=function(){function e(e,t,r,c,a,o){if(o!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:c};return r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){},,function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}r.d(t,"a",(function(){return n}))},function(e,t,r){"use strict";r.d(t,"a",(function(){return u}));var n=r(6),c=r.n(n),a=r(134),o=r(0);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var u=function(){var e=Object(a.b)(),t=e.notices,r=e.createNotice,n=e.removeNotice,c=e.createSnackbarNotice,i=e.setIsSuppressed,u=Object(o.useRef)(t);Object(o.useEffect)((function(){u.current=t}),[t]);var l=Object(o.useMemo)((function(){return{hasNoticesOfType:function(e){return u.current.some((function(t){return t.type===e}))},removeNotices:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;u.current.map((function(t){return null!==e&&t.status!==e||n(t.id),!0}))},removeNotice:n}}),[n]),h=Object(o.useMemo)((function(){return{addDefaultNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("default",e,s({},t))},addErrorNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("error",e,s({},t))},addWarningNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("warning",e,s({},t))},addInfoNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("info",e,s({},t))},addSuccessNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("success",e,s({},t))},addSnackbarNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c(e,t)}}}),[r,c]);return s(s(s({notices:t},l),h),{},{setIsSuppressed:i})}},function(e,t,r){"use strict";r.d(t,"a",(function(){return u}));var n=r(12),c=r(11),a=r(132),o=r(14),i=r(7),s={cartCoupons:[],cartItems:[],cartItemsCount:0,cartItemsWeight:0,cartNeedsPayment:!0,cartNeedsShipping:!0,cartItemErrors:[],cartTotals:{},cartIsLoading:!0,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:[],shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:function(){}},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{shouldSelect:!0},t=Object(a.a)(),r=t.isEditor,u=t.previewData,l=(null==u?void 0:u.previewCart)||{},h=e.shouldSelect,v=Object(c.useSelect)((function(e,t){var c=t.dispatch;if(!h)return s;if(r)return{cartCoupons:l.coupons,cartItems:l.items,cartItemsCount:l.items_count,cartItemsWeight:l.items_weight,cartNeedsPayment:l.needs_payment,cartNeedsShipping:l.needs_shipping,cartItemErrors:[],cartTotals:l.totals,cartIsLoading:!1,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:l.shipping_rates,shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:"function"==typeof(null==l?void 0:l.receiveCart)?l.receiveCart:function(){}};var a=e(n.CART_STORE_KEY),u=a.getCartData(),v=a.getCartErrors(),f=a.getCartTotals(),m=!a.hasFinishedResolution("getCartData"),d=a.areShippingRatesLoading(),p=c(n.CART_STORE_KEY).receiveCart,b=Object(i.mapValues)(u.shippingAddress,(function(e){return Object(o.decodeEntities)(e)}));return{cartCoupons:u.coupons,cartItems:u.items,cartItemsCount:u.itemsCount,cartItemsWeight:u.itemsWeight,cartNeedsPayment:u.needsPayment,cartNeedsShipping:u.needsShipping,cartItemErrors:u.errors,cartTotals:f,cartIsLoading:m,cartErrors:v,shippingAddress:b,shippingRates:u.shippingRates,shippingRatesLoading:d,hasShippingAddress:!!b.country,receiveCart:p}}),[h]);return v}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,c=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){c=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(c)throw a}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return v}));var n=r(8),c=r(25),a=r(17),o=r(18),i=r(19),s=r(20),u=r(21),l=r(0),h=r(41),v=function(e){function t(){return Object(a.a)(this,t),Object(i.a)(this,Object(s.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(o.a)(t,[{key:"render",value:function(){var e,t=this.props,r=t.icon,a=t.size,o=void 0===a?20:a,i=t.className,s=Object(c.a)(t,["icon","size","className"]);switch(r){case"admin-appearance":e="M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z";break;case"admin-collapse":e="M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z";break;case"admin-comments":e="M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z";break;case"admin-customizer":e="M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z";break;case"admin-generic":e="M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z";break;case"admin-home":e="M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z";break;case"admin-links":e="M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z";break;case"admin-media":e="M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z";break;case"admin-multisite":e="M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z";break;case"admin-network":e="M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z";break;case"admin-page":e="M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z";break;case"admin-plugins":e="M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z";break;case"admin-post":e="M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z";break;case"admin-settings":e="M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z";break;case"admin-site-alt":e="M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z";break;case"admin-site-alt2":e="M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z";break;case"admin-site-alt3":e="M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z";break;case"admin-site":e="M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z";break;case"admin-tools":e="M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z";break;case"admin-users":e="M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z";break;case"album":e="M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z";break;case"align-center":e="M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z";break;case"align-full-width":e="M17 13V3H3v10h14zM5 17h10v-2H5v2z";break;case"align-left":e="M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z";break;case"align-none":e="M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z";break;case"align-pull-left":e="M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z";break;case"align-pull-right":e="M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z";break;case"align-right":e="M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z";break;case"align-wide":e="M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z";break;case"analytics":e="M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z";break;case"archive":e="M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z";break;case"arrow-down-alt":e="M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z";break;case"arrow-down-alt2":e="M5 6l5 5 5-5 2 1-7 7-7-7z";break;case"arrow-down":e="M15 8l-4.03 6L7 8h8z";break;case"arrow-left-alt":e="M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z";break;case"arrow-left-alt2":e="M14 5l-5 5 5 5-1 2-7-7 7-7z";break;case"arrow-left":e="M13 14L7 9.97 13 6v8z";break;case"arrow-right-alt":e="M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z";break;case"arrow-right-alt2":e="M6 15l5-5-5-5 1-2 7 7-7 7z";break;case"arrow-right":e="M8 6l6 4.03L8 14V6z";break;case"arrow-up-alt":e="M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z";break;case"arrow-up-alt2":e="M15 14l-5-5-5 5-2-1 7-7 7 7z";break;case"arrow-up":e="M7 13l4.03-6L15 13H7z";break;case"art":e="M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z";break;case"awards":e="M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z";break;case"backup":e="M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z";break;case"block-default":e="M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z";break;case"book-alt":e="M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z";break;case"book":e="M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z";break;case"buddicons-activity":e="M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z";break;case"buddicons-bbpress-logo":e="M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z";break;case"buddicons-buddypress-logo":e="M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z";break;case"buddicons-community":e="M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z";break;case"buddicons-forums":e="M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z";break;case"buddicons-friends":e="M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z";break;case"buddicons-groups":e="M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z";break;case"buddicons-pm":e="M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z";break;case"buddicons-replies":e="M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z";break;case"buddicons-topics":e="M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z";break;case"buddicons-tracking":e="M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z";break;case"building":e="M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z";break;case"businessman":e="M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z";break;case"button":e="M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z";break;case"calendar-alt":e="M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z";break;case"calendar":e="M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z";break;case"camera":e="M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z";break;case"carrot":e="M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z";break;case"cart":e="M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z";break;case"category":e="M5 7h13v10H2V4h7l2 2H4v9h1V7z";break;case"chart-area":e="M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z";break;case"chart-bar":e="M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z";break;case"chart-line":e="M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z";break;case"chart-pie":e="M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z";break;case"clipboard":e="M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z";break;case"clock":e="M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z";break;case"cloud-saved":e="M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z";break;case"cloud-upload":e="M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z";break;case"cloud":e="M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z";break;case"columns":e="M3 15h6V5H3v10zm8 0h6V5h-6v10z";break;case"controls-back":e="M2 10l10-6v3.6L18 4v12l-6-3.6V16z";break;case"controls-forward":e="M18 10L8 16v-3.6L2 16V4l6 3.6V4z";break;case"controls-pause":e="M5 16V4h3v12H5zm7-12h3v12h-3V4z";break;case"controls-play":e="M5 4l10 6-10 6V4z";break;case"controls-repeat":e="M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z";break;case"controls-skipback":e="M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z";break;case"controls-skipforward":e="M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z";break;case"controls-volumeoff":e="M2 7h4l5-4v14l-5-4H2V7z";break;case"controls-volumeon":e="M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z";break;case"cover-image":e="M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z";break;case"dashboard":e="M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z";break;case"desktop":e="M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z";break;case"dismiss":e="M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z";break;case"download":e="M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z";break;case"edit":e="M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z";break;case"editor-aligncenter":e="M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z";break;case"editor-alignleft":e="M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z";break;case"editor-alignright":e="M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z";break;case"editor-bold":e="M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z";break;case"editor-break":e="M16 4h2v9H7v3l-5-4 5-4v3h9V4z";break;case"editor-code":e="M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z";break;case"editor-contract":e="M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z";break;case"editor-customchar":e="M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z";break;case"editor-expand":e="M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3";break;case"editor-help":e="M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z";break;case"editor-indent":e="M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z";break;case"editor-insertmore":e="M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z";break;case"editor-italic":e="M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z";break;case"editor-justify":e="M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z";break;case"editor-kitchensink":e="M19 2v6H1V2h18zm-1 5V3H2v4h16zM5 4v2H3V4h2zm3 0v2H6V4h2zm3 0v2H9V4h2zm3 0v2h-2V4h2zm3 0v2h-2V4h2zm2 5v9H1V9h18zm-1 8v-7H2v7h16zM5 11v2H3v-2h2zm3 0v2H6v-2h2zm3 0v2H9v-2h2zm6 0v2h-5v-2h5zm-6 3v2H3v-2h8zm3 0v2h-2v-2h2zm3 0v2h-2v-2h2z";break;case"editor-ltr":e="M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z";break;case"editor-ol-rtl":e="M15.025 8.75a1.048 1.048 0 0 1 .45-.1.507.507 0 0 1 .35.11.455.455 0 0 1 .13.36.803.803 0 0 1-.06.3 1.448 1.448 0 0 1-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76v-.7h-1.72v-.04l.51-.48a7.276 7.276 0 0 0 .7-.71 1.75 1.75 0 0 0 .3-.49 1.254 1.254 0 0 0 .1-.51.968.968 0 0 0-.16-.56 1.007 1.007 0 0 0-.44-.37 1.512 1.512 0 0 0-.65-.14 1.98 1.98 0 0 0-.51.06 1.9 1.9 0 0 0-.42.15 3.67 3.67 0 0 0-.48.35l.45.54a2.505 2.505 0 0 1 .45-.3zM16.695 15.29a1.29 1.29 0 0 0-.74-.3v-.02a1.203 1.203 0 0 0 .65-.37.973.973 0 0 0 .23-.65.81.81 0 0 0-.37-.71 1.72 1.72 0 0 0-1-.26 2.185 2.185 0 0 0-1.33.4l.4.6a1.79 1.79 0 0 1 .46-.23 1.18 1.18 0 0 1 .41-.07c.38 0 .58.15.58.46a.447.447 0 0 1-.22.43 1.543 1.543 0 0 1-.7.12h-.31v.66h.31a1.764 1.764 0 0 1 .75.12.433.433 0 0 1 .23.41.55.55 0 0 1-.2.47 1.084 1.084 0 0 1-.63.15 2.24 2.24 0 0 1-.57-.08 2.671 2.671 0 0 1-.52-.2v.74a2.923 2.923 0 0 0 1.18.22 1.948 1.948 0 0 0 1.22-.33 1.077 1.077 0 0 0 .43-.92.836.836 0 0 0-.26-.64zM15.005 4.17c.06-.05.16-.14.3-.28l-.02.42V7h.84V3h-.69l-1.29 1.03.4.51zM4.02 5h9v1h-9zM4.02 10h9v1h-9zM4.02 15h9v1h-9z";break;case"editor-ol":e="M6 7V3h-.69L4.02 4.03l.4.51.46-.37c.06-.05.16-.14.3-.28l-.02.42V7H6zm2-2h9v1H8V5zm-1.23 6.95v-.7H5.05v-.04l.51-.48c.33-.31.57-.54.7-.71.14-.17.24-.33.3-.49.07-.16.1-.33.1-.51 0-.21-.05-.4-.16-.56-.1-.16-.25-.28-.44-.37s-.41-.14-.65-.14c-.19 0-.36.02-.51.06-.15.03-.29.09-.42.15-.12.07-.29.19-.48.35l.45.54c.16-.13.31-.23.45-.3.15-.07.3-.1.45-.1.14 0 .26.03.35.11s.13.2.13.36c0 .1-.02.2-.06.3s-.1.21-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76zM8 10h9v1H8v-1zm-1.29 3.95c0-.3-.12-.54-.37-.71-.24-.17-.58-.26-1-.26-.52 0-.96.13-1.33.4l.4.6c.17-.11.32-.19.46-.23.14-.05.27-.07.41-.07.38 0 .58.15.58.46 0 .2-.07.35-.22.43s-.38.12-.7.12h-.31v.66h.31c.34 0 .59.04.75.12.15.08.23.22.23.41 0 .22-.07.37-.2.47-.14.1-.35.15-.63.15-.19 0-.38-.03-.57-.08s-.36-.12-.52-.2v.74c.34.15.74.22 1.18.22.53 0 .94-.11 1.22-.33.29-.22.43-.52.43-.92 0-.27-.09-.48-.26-.64s-.42-.26-.74-.3v-.02c.27-.06.49-.19.65-.37.15-.18.23-.39.23-.65zM8 15h9v1H8v-1z";break;case"editor-outdent":e="M7 4V3H3v1h4zm10 1V3H8v2h9zM7 7H5V5L1 8.5 5 12v-2h2V7zm10 1V6H8v2h9zm-2 3V9H8v2h7zm2 3v-2H8v2h9zM7 14v-1H3v1h4zm4 3v-2H8v2h3z";break;case"editor-paragraph":e="M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71C15.5 2.1 15.27 2 15 2z";break;case"editor-paste-text":e="M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.44 1-1 0-.55-.45-1-1-1s-1 .45-1 1c0 .56.45 1 1 1zm5.45-1H17c.55 0 1 .45 1 1v12c0 .56-.45 1-1 1H3c-.55 0-1-.44-1-1V5c0-.55.45-1 1-1h1.55L4 4.63V7h12V4.63zM14 11V9H6v2h3v5h2v-5h3z";break;case"editor-paste-word":e="M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 12V5c0-.55-.45-1-1-1h-1.54l.54.63V7H4V4.62L4.55 4H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-3-8l-2 7h-2l-1-5-1 5H6.92L5 9h2l1 5 1-5h2l1 5 1-5h2z";break;case"editor-quote":e="M9.49 13.22c0-.74-.2-1.38-.61-1.9-.62-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L7.88 4c-2.73 1.3-5.42 4.28-4.96 8.05C3.21 14.43 4.59 16 6.54 16c.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03zm8.05 0c0-.74-.2-1.38-.61-1.9-.63-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L15.93 4c-2.73 1.3-5.41 4.28-4.95 8.05.29 2.38 1.66 3.95 3.61 3.95.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03z";break;case"editor-removeformatting":e="M14.29 4.59l1.1 1.11c.41.4.61.94.61 1.47v2.12c0 .53-.2 1.07-.61 1.47l-6.63 6.63c-.4.41-.94.61-1.47.61s-1.07-.2-1.47-.61l-1.11-1.1-1.1-1.11c-.41-.4-.61-.94-.61-1.47v-2.12c0-.54.2-1.07.61-1.48l6.63-6.62c.4-.41.94-.61 1.47-.61s1.06.2 1.47.61zm-6.21 9.7l6.42-6.42c.39-.39.39-1.03 0-1.43L12.36 4.3c-.19-.19-.45-.29-.72-.29s-.52.1-.71.29l-6.42 6.42c-.39.4-.39 1.04 0 1.43l2.14 2.14c.38.38 1.04.38 1.43 0z";break;case"editor-rtl":e="M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM19 6l-5 4 5 4V6z";break;case"editor-spellcheck":e="M15.84 2.76c.25 0 .49.04.71.11.23.07.44.16.64.25l.35-.81c-.52-.26-1.08-.39-1.69-.39-.58 0-1.09.13-1.52.37-.43.25-.76.61-.99 1.08C13.11 3.83 13 4.38 13 5c0 .99.23 1.75.7 2.28s1.15.79 2.02.79c.6 0 1.13-.09 1.6-.26v-.84c-.26.08-.51.14-.74.19-.24.05-.49.08-.74.08-.59 0-1.04-.19-1.34-.57-.32-.37-.47-.93-.47-1.66 0-.7.16-1.25.48-1.65.33-.4.77-.6 1.33-.6zM6.5 8h1.04L5.3 2H4.24L2 8h1.03l.58-1.66H5.9zM8 2v6h2.17c.67 0 1.19-.15 1.57-.46.38-.3.56-.72.56-1.26 0-.4-.1-.72-.3-.95-.19-.24-.5-.39-.93-.47v-.04c.35-.06.6-.21.78-.44.18-.24.28-.53.28-.88 0-.52-.19-.9-.56-1.14-.36-.24-.96-.36-1.79-.36H8zm.98 2.48V2.82h.85c.44 0 .77.06.97.19.21.12.31.33.31.61 0 .31-.1.53-.29.66-.18.13-.48.2-.89.2h-.95zM5.64 5.5H3.9l.54-1.56c.14-.4.25-.76.32-1.1l.15.52c.07.23.13.4.17.51zm3.34-.23h.99c.44 0 .76.08.98.23.21.15.32.38.32.69 0 .34-.11.59-.32.75s-.52.24-.93.24H8.98V5.27zM4 13l5 5 9-8-1-1-8 6-4-3z";break;case"editor-strikethrough":e="M15.82 12.25c.26 0 .5-.02.74-.07.23-.05.48-.12.73-.2v.84c-.46.17-.99.26-1.58.26-.88 0-1.54-.26-2.01-.79-.39-.44-.62-1.04-.68-1.79h-.94c.12.21.18.48.18.79 0 .54-.18.95-.55 1.26-.38.3-.9.45-1.56.45H8v-2.5H6.59l.93 2.5H6.49l-.59-1.67H3.62L3.04 13H2l.93-2.5H2v-1h1.31l.93-2.49H5.3l.92 2.49H8V7h1.77c1 0 1.41.17 1.77.41.37.24.55.62.55 1.13 0 .35-.09.64-.27.87l-.08.09h1.29c.05-.4.15-.77.31-1.1.23-.46.55-.82.98-1.06.43-.25.93-.37 1.51-.37.61 0 1.17.12 1.69.38l-.35.81c-.2-.1-.42-.18-.64-.25s-.46-.11-.71-.11c-.55 0-.99.2-1.31.59-.23.29-.38.66-.44 1.11H17v1h-2.95c.06.5.2.9.44 1.19.3.37.75.56 1.33.56zM4.44 8.96l-.18.54H5.3l-.22-.61c-.04-.11-.09-.28-.17-.51-.07-.24-.12-.41-.14-.51-.08.33-.18.69-.33 1.09zm4.53-1.09V9.5h1.19c.28-.02.49-.09.64-.18.19-.13.28-.35.28-.66 0-.28-.1-.48-.3-.61-.2-.12-.53-.18-.97-.18h-.84zm-3.33 2.64v-.01H3.91v.01h1.73zm5.28.01l-.03-.02H8.97v1.68h1.04c.4 0 .71-.08.92-.23.21-.16.31-.4.31-.74 0-.31-.11-.54-.32-.69z";break;case"editor-table":e="M18 17V3H2v14h16zM16 7H4V5h12v2zm-7 4H4V9h5v2zm7 0h-5V9h5v2zm-7 4H4v-2h5v2zm7 0h-5v-2h5v2z";break;case"editor-textcolor":e="M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z";break;case"editor-ul":e="M5.5 7C4.67 7 4 6.33 4 5.5 4 4.68 4.67 4 5.5 4 6.32 4 7 4.68 7 5.5 7 6.33 6.32 7 5.5 7zM8 5h9v1H8V5zm-2.5 7c-.83 0-1.5-.67-1.5-1.5C4 9.68 4.67 9 5.5 9c.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 10h9v1H8v-1zm-2.5 7c-.83 0-1.5-.67-1.5-1.5 0-.82.67-1.5 1.5-1.5.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 15h9v1H8v-1z";break;case"editor-underline":e="M14 5h-2v5.71c0 1.99-1.12 2.98-2.45 2.98-1.32 0-2.55-1-2.55-2.96V5H5v5.87c0 1.91 1 4.54 4.48 4.54 3.49 0 4.52-2.58 4.52-4.5V5zm0 13v-2H5v2h9z";break;case"editor-unlink":e="M17.74 2.26c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-.32.33-.69.58-1.08.77L13 10l1.69-1.64.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-.76.76L10 7l-.65-2.14c.19-.38.44-.75.77-1.07l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM2 4l8 6-6-8zm4-2l4 8-2-8H6zM2 6l8 4-8-2V6zm7.36 7.69L10 13l.74 2.35-1.38 1.39c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.39-1.38L7 10l-.69.64-1.52 1.53c-.85.84-.85 2.2 0 3.04.84.85 2.2.85 3.04 0zM18 16l-8-6 6 8zm-4 2l-4-8 2 8h2zm4-4l-8-4 8 2v2z";break;case"editor-video":e="M16 2h-3v1H7V2H4v15h3v-1h6v1h3V2zM6 3v1H5V3h1zm9 0v1h-1V3h1zm-2 1v5H7V4h6zM6 5v1H5V5h1zm9 0v1h-1V5h1zM6 7v1H5V7h1zm9 0v1h-1V7h1zM6 9v1H5V9h1zm9 0v1h-1V9h1zm-2 1v5H7v-5h6zm-7 1v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1z";break;case"ellipsis":e="M5 10c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm12-2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z";break;case"email-alt":e="M19 14.5v-9c0-.83-.67-1.5-1.5-1.5H3.49c-.83 0-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5H17.5c.83 0 1.5-.67 1.5-1.5zm-1.31-9.11c.33.33.15.67-.03.84L13.6 9.95l3.9 4.06c.12.14.2.36.06.51-.13.16-.43.15-.56.05l-4.37-3.73-2.14 1.95-2.13-1.95-4.37 3.73c-.13.1-.43.11-.56-.05-.14-.15-.06-.37.06-.51l3.9-4.06-4.06-3.72c-.18-.17-.36-.51-.03-.84s.67-.17.95.07l6.24 5.04 6.25-5.04c.28-.24.62-.4.95-.07z";break;case"email-alt2":e="M18.01 11.18V2.51c0-1.19-.9-1.81-2-1.37L4 5.91c-1.1.44-2 1.77-2 2.97v8.66c0 1.2.9 1.81 2 1.37l12.01-4.77c1.1-.44 2-1.76 2-2.96zm-1.43-7.46l-6.04 9.33-6.65-4.6c-.1-.07-.36-.32-.17-.64.21-.36.65-.21.65-.21l6.3 2.32s4.83-6.34 5.11-6.7c.13-.17.43-.34.73-.13.29.2.16.49.07.63z";break;case"email":e="M3.87 4h13.25C18.37 4 19 4.59 19 5.79v8.42c0 1.19-.63 1.79-1.88 1.79H3.87c-1.25 0-1.88-.6-1.88-1.79V5.79c0-1.2.63-1.79 1.88-1.79zm6.62 8.6l6.74-5.53c.24-.2.43-.66.13-1.07-.29-.41-.82-.42-1.17-.17l-5.7 3.86L4.8 5.83c-.35-.25-.88-.24-1.17.17-.3.41-.11.87.13 1.07z";break;case"embed-audio":e="M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 3H7v4c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.4 0 .7.1 1 .3V5h4v2zm4 3.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z";break;case"embed-generic":e="M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3 6.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z";break;case"embed-photo":e="M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 8H3V6h7v6zm4-1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3zm-6-4V8.5L7.2 10 6 9.2 4 11h5zM4.6 8.6c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z";break;case"embed-post":e="M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.6 9l-.4.3c-.4.4-.5 1.1-.2 1.6l-.8.8-1.1-1.1-1.3 1.3c-.2.2-1.6 1.3-1.8 1.1-.2-.2.9-1.6 1.1-1.8l1.3-1.3-1.1-1.1.8-.8c.5.3 1.2.3 1.6-.2l.3-.3c.5-.5.5-1.2.2-1.7L8 5l3 2.9-.8.8c-.5-.2-1.2-.2-1.6.3zm5.4 1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z";break;case"embed-video":e="M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 6.5L8 9.1V11H3V6h5v1.8l2-1.3v4zm4 0L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z";break;case"excerpt-view":e="M19 18V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6V3h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6v-6h11z";break;case"exit":e="M13 3v2h2v10h-2v2h4V3h-4zm0 8V9H5.4l4.3-4.3-1.4-1.4L1.6 10l6.7 6.7 1.4-1.4L5.4 11H13z";break;case"external":e="M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z";break;case"facebook-alt":e="M8.46 18h2.93v-7.3h2.45l.37-2.84h-2.82V6.04c0-.82.23-1.38 1.41-1.38h1.51V2.11c-.26-.03-1.15-.11-2.19-.11-2.18 0-3.66 1.33-3.66 3.76v2.1H6v2.84h2.46V18z";break;case"facebook":e="M2.89 2h14.23c.49 0 .88.39.88.88v14.24c0 .48-.39.88-.88.88h-4.08v-6.2h2.08l.31-2.41h-2.39V7.85c0-.7.2-1.18 1.2-1.18h1.28V4.51c-.22-.03-.98-.09-1.86-.09-1.85 0-3.11 1.12-3.11 3.19v1.78H8.46v2.41h2.09V18H2.89c-.49 0-.89-.4-.89-.88V2.88c0-.49.4-.88.89-.88z";break;case"feedback":e="M2 2h16c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm15 14V7H3v9h14zM4 8v1h3V8H4zm4 0v3h8V8H8zm-4 4v1h3v-1H4zm4 0v3h8v-3H8z";break;case"filter":e="M3 4.5v-2s3.34-1 7-1 7 1 7 1v2l-5 7.03v6.97s-1.22-.09-2.25-.59S8 16.5 8 16.5v-4.97z";break;case"flag":e="M5 18V3H3v15h2zm1-6V4c3-1 7 1 11 0v8c-3 1.27-8-1-11 0z";break;case"format-aside":e="M1 1h18v12l-6 6H1V1zm3 3v1h12V4H4zm0 4v1h12V8H4zm6 5v-1H4v1h6zm2 4l5-5h-5v5z";break;case"format-audio":e="M6.99 3.08l11.02-2c.55-.08.99.45.99 1V14.5c0 1.94-1.57 3.5-3.5 3.5S12 16.44 12 14.5c0-1.93 1.57-3.5 3.5-3.5.54 0 1.04.14 1.5.35V5.08l-9 2V16c-.24 1.7-1.74 3-3.5 3C2.57 19 1 17.44 1 15.5 1 13.57 2.57 12 4.5 12c.54 0 1.04.14 1.5.35V4.08c0-.55.44-.91.99-1z";break;case"format-chat":e="M11 6h-.82C9.07 6 8 7.2 8 8.16V10l-3 3v-3H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v3zm0 1h6c1.1 0 2 .9 2 2v5c0 1.1-.9 2-2 2h-2v3l-3-3h-1c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2z";break;case"format-gallery":e="M16 4h1.96c.57 0 1.04.47 1.04 1.04v12.92c0 .57-.47 1.04-1.04 1.04H5.04C4.47 19 4 18.53 4 17.96V16H2.04C1.47 16 1 15.53 1 14.96V2.04C1 1.47 1.47 1 2.04 1h12.92c.57 0 1.04.47 1.04 1.04V4zM3 14h11V3H3v11zm5-8.5C8 4.67 7.33 4 6.5 4S5 4.67 5 5.5 5.67 7 6.5 7 8 6.33 8 5.5zm2 4.5s1-5 3-5v8H4V7c2 0 2 3 2 3s.33-2 2-2 2 2 2 2zm7 7V6h-1v8.96c0 .57-.47 1.04-1.04 1.04H6v1h11z";break;case"format-image":e="M2.25 1h15.5c.69 0 1.25.56 1.25 1.25v15.5c0 .69-.56 1.25-1.25 1.25H2.25C1.56 19 1 18.44 1 17.75V2.25C1 1.56 1.56 1 2.25 1zM17 17V3H3v14h14zM10 6c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm3 5s0-6 3-6v10c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V8c2 0 3 4 3 4s1-3 3-3 3 2 3 2z";break;case"format-quote":e="M8.54 12.74c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45L6.65 1.94C3.45 3.46.31 6.96.85 11.37 1.19 14.16 2.8 16 5.08 16c1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38zm9.43 0c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45l-1.63-2.28c-3.2 1.52-6.34 5.02-5.8 9.43.34 2.79 1.95 4.63 4.23 4.63 1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38z";break;case"format-status":e="M10 1c7 0 9 2.91 9 6.5S17 14 10 14s-9-2.91-9-6.5S3 1 10 1zM5.5 9C6.33 9 7 8.33 7 7.5S6.33 6 5.5 6 4 6.67 4 7.5 4.67 9 5.5 9zM10 9c.83 0 1.5-.67 1.5-1.5S10.83 6 10 6s-1.5.67-1.5 1.5S9.17 9 10 9zm4.5 0c.83 0 1.5-.67 1.5-1.5S15.33 6 14.5 6 13 6.67 13 7.5 13.67 9 14.5 9zM6 14.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm-3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z";break;case"format-video":e="M2 1h16c.55 0 1 .45 1 1v16l-18-.02V2c0-.55.45-1 1-1zm4 1L4 5h1l2-3H6zm4 0H9L7 5h1zm3 0h-1l-2 3h1zm3 0h-1l-2 3h1zm1 14V6H3v10h14zM8 7l6 4-6 4V7z";break;case"forms":e="M2 2h7v7H2V2zm9 0v7h7V2h-7zM5.5 4.5L7 3H4zM12 8V3h5v5h-5zM4.5 5.5L3 4v3zM8 4L6.5 5.5 8 7V4zM5.5 6.5L4 8h3zM9 18v-7H2v7h7zm9 0h-7v-7h7v7zM8 12v5H3v-5h5zm6.5 1.5L16 12h-3zM12 16l1.5-1.5L12 13v3zm3.5-1.5L17 16v-3zm-1 1L13 17h3z";break;case"googleplus":e="M6.73 10h5.4c.05.29.09.57.09.95 0 3.27-2.19 5.6-5.49 5.6-3.17 0-5.73-2.57-5.73-5.73 0-3.17 2.56-5.73 5.73-5.73 1.54 0 2.84.57 3.83 1.5l-1.55 1.5c-.43-.41-1.17-.89-2.28-.89-1.96 0-3.55 1.62-3.55 3.62 0 1.99 1.59 3.61 3.55 3.61 2.26 0 3.11-1.62 3.24-2.47H6.73V10zM19 10v1.64h-1.64v1.63h-1.63v-1.63h-1.64V10h1.64V8.36h1.63V10H19z";break;case"grid-view":e="M2 1h16c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1zm7.01 7.99v-6H3v6h6.01zm8 0v-6h-6v6h6zm-8 8.01v-6H3v6h6.01zm8 0v-6h-6v6h6z";break;case"groups":e="M8.03 4.46c-.29 1.28.55 3.46 1.97 3.46 1.41 0 2.25-2.18 1.96-3.46-.22-.98-1.08-1.63-1.96-1.63-.89 0-1.74.65-1.97 1.63zm-4.13.9c-.25 1.08.47 2.93 1.67 2.93s1.92-1.85 1.67-2.93c-.19-.83-.92-1.39-1.67-1.39s-1.48.56-1.67 1.39zm8.86 0c-.25 1.08.47 2.93 1.66 2.93 1.2 0 1.92-1.85 1.67-2.93-.19-.83-.92-1.39-1.67-1.39-.74 0-1.47.56-1.66 1.39zm-.59 11.43l1.25-4.3C14.2 10 12.71 8.47 10 8.47c-2.72 0-4.21 1.53-3.44 4.02l1.26 4.3C8.05 17.51 9 18 10 18c.98 0 1.94-.49 2.17-1.21zm-6.1-7.63c-.49.67-.96 1.83-.42 3.59l1.12 3.79c-.34.2-.77.31-1.2.31-.85 0-1.65-.41-1.85-1.03l-1.07-3.65c-.65-2.11.61-3.4 2.92-3.4.27 0 .54.02.79.06-.1.1-.2.22-.29.33zm8.35-.39c2.31 0 3.58 1.29 2.92 3.4l-1.07 3.65c-.2.62-1 1.03-1.85 1.03-.43 0-.86-.11-1.2-.31l1.11-3.77c.55-1.78.08-2.94-.42-3.61-.08-.11-.18-.23-.28-.33.25-.04.51-.06.79-.06z";break;case"hammer":e="M17.7 6.32l1.41 1.42-3.47 3.41-1.42-1.42.84-.82c-.32-.76-.81-1.57-1.51-2.31l-4.61 6.59-5.26 4.7c-.39.39-1.02.39-1.42 0l-1.2-1.21c-.39-.39-.39-1.02 0-1.41l10.97-9.92c-1.37-.86-3.21-1.46-5.67-1.48 2.7-.82 4.95-.93 6.58-.3 1.7.66 2.82 2.2 3.91 3.58z";break;case"heading":e="M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4";break;case"heart":e="M10 17.12c3.33-1.4 5.74-3.79 7.04-6.21 1.28-2.41 1.46-4.81.32-6.25-1.03-1.29-2.37-1.78-3.73-1.74s-2.68.63-3.63 1.46c-.95-.83-2.27-1.42-3.63-1.46s-2.7.45-3.73 1.74c-1.14 1.44-.96 3.84.34 6.25 1.28 2.42 3.69 4.81 7.02 6.21z";break;case"hidden":e="M17.2 3.3l.16.17c.39.39.39 1.02 0 1.41L4.55 17.7c-.39.39-1.03.39-1.41 0l-.17-.17c-.39-.39-.39-1.02 0-1.41l1.59-1.6c-1.57-1-2.76-2.3-3.56-3.93.81-1.65 2.03-2.98 3.64-3.99S8.04 5.09 10 5.09c1.2 0 2.33.21 3.4.6l2.38-2.39c.39-.39 1.03-.39 1.42 0zm-7.09 4.01c-.23.25-.34.54-.34.88 0 .31.12.58.31.81l1.8-1.79c-.13-.12-.28-.21-.45-.26-.11-.01-.28-.03-.49-.04-.33.03-.6.16-.83.4zM2.4 10.59c.69 1.23 1.71 2.25 3.05 3.05l1.28-1.28c-.51-.69-.77-1.47-.77-2.36 0-1.06.36-1.98 1.09-2.76-1.04.27-1.96.7-2.76 1.26-.8.58-1.43 1.27-1.89 2.09zm13.22-2.13l.96-.96c1.02.86 1.83 1.89 2.42 3.09-.81 1.65-2.03 2.98-3.64 3.99s-3.4 1.51-5.36 1.51c-.63 0-1.24-.07-1.83-.18l1.07-1.07c.25.02.5.05.76.05 1.63 0 3.13-.4 4.5-1.21s2.4-1.84 3.1-3.09c-.46-.82-1.09-1.51-1.89-2.09-.03-.01-.06-.03-.09-.04zm-5.58 5.58l4-4c-.01 1.1-.41 2.04-1.18 2.81-.78.78-1.72 1.18-2.82 1.19z";break;case"html":e="M4 16v-2H2v2H1v-5h1v2h2v-2h1v5H4zM7 16v-4H5.6v-1h3.7v1H8v4H7zM10 16v-5h1l1.4 3.4h.1L14 11h1v5h-1v-3.1h-.1l-1.1 2.5h-.6l-1.1-2.5H11V16h-1zM19 16h-3v-5h1v4h2v1zM9.4 4.2L7.1 6.5l2.3 2.3-.6 1.2-3.5-3.5L8.8 3l.6 1.2zm1.2 4.6l2.3-2.3-2.3-2.3.6-1.2 3.5 3.5-3.5 3.5-.6-1.2z";break;case"id-alt":e="M18 18H2V2h16v16zM8.05 7.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L8.95 6c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C8.23 4.1 7.95 4 7.6 4c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM16 5V4h-5v1h5zm0 2V6h-5v1h5zM7.62 8.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM16 9V8h-3v1h3zm0 2v-1h-3v1h3zm0 3v-1H4v1h12zm0 2v-1H4v1h12z";break;case"id":e="M18 16H2V4h16v12zM7.05 8.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L7.95 7c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C7.23 5.1 6.95 5 6.6 5c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM17 9V5h-5v4h5zm-10.38.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM17 11v-1h-5v1h5zm0 2v-1h-5v1h5zm0 2v-1H3v1h14z";break;case"image-crop":e="M19 12v3h-4v4h-3v-4H4V7H0V4h4V0h3v4h7l3-3 1 1-3 3v7h4zm-8-5H7v4zm-3 5h4V8z";break;case"image-filter":e="M14 5.87c0-2.2-1.79-4-4-4s-4 1.8-4 4c0 2.21 1.79 4 4 4s4-1.79 4-4zM3.24 10.66c-1.92 1.1-2.57 3.55-1.47 5.46 1.11 1.92 3.55 2.57 5.47 1.47 1.91-1.11 2.57-3.55 1.46-5.47-1.1-1.91-3.55-2.56-5.46-1.46zm9.52 6.93c1.92 1.1 4.36.45 5.47-1.46 1.1-1.92.45-4.36-1.47-5.47-1.91-1.1-4.36-.45-5.46 1.46-1.11 1.92-.45 4.36 1.46 5.47z";break;case"image-flip-horizontal":e="M19 3v14h-8v3H9v-3H1V3h8V0h2v3h8zm-8.5 14V3h-1v14h1zM7 6.5L3 10l4 3.5v-7zM17 10l-4-3.5v7z";break;case"image-flip-vertical":e="M20 9v2h-3v8H3v-8H0V9h3V1h14v8h3zM6.5 7h7L10 3zM17 9.5H3v1h14v-1zM13.5 13h-7l3.5 4z";break;case"image-rotate-left":e="M7 5H5.05c0-1.74.85-2.9 2.95-2.9V0C4.85 0 2.96 2.11 2.96 5H1.18L3.8 8.39zm13-4v14h-5v5H1V10h9V1h10zm-2 2h-6v7h3v3h3V3zm-5 9H3v6h10v-6z";break;case"image-rotate-right":e="M15.95 5H14l3.2 3.39L19.82 5h-1.78c0-2.89-1.89-5-5.04-5v2.1c2.1 0 2.95 1.16 2.95 2.9zM1 1h10v9h9v10H6v-5H1V1zm2 2v10h3v-3h3V3H3zm5 9v6h10v-6H8z";break;case"image-rotate":e="M10.25 1.02c5.1 0 8.75 4.04 8.75 9s-3.65 9-8.75 9c-3.2 0-6.02-1.59-7.68-3.99l2.59-1.52c1.1 1.5 2.86 2.51 4.84 2.51 3.3 0 6-2.79 6-6s-2.7-6-6-6c-1.97 0-3.72 1-4.82 2.49L7 8.02l-6 2v-7L2.89 4.6c1.69-2.17 4.36-3.58 7.36-3.58z";break;case"images-alt":e="M4 15v-3H2V2h12v3h2v3h2v10H6v-3H4zm7-12c-1.1 0-2 .9-2 2h4c0-1.1-.89-2-2-2zm-7 8V6H3v5h1zm7-3h4c0-1.1-.89-2-2-2-1.1 0-2 .9-2 2zm-5 6V9H5v5h1zm9-1c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2s-2 .9-2 2c0 1.11.9 2 2 2zm2 4v-2c-5 0-5-3-10-3v5h10z";break;case"images-alt2":e="M5 3h14v11h-2v2h-2v2H1V7h2V5h2V3zm13 10V4H6v9h12zm-3-4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm1 6v-1H5V6H4v9h12zM7 6l10 6H7V6zm7 11v-1H3V8H2v9h12z";break;case"index-card":e="M1 3.17V18h18V4H8v-.83c0-.32-.12-.6-.35-.83S7.14 2 6.82 2H2.18c-.33 0-.6.11-.83.34-.24.23-.35.51-.35.83zM10 6v2H3V6h7zm7 0v10h-5V6h5zm-7 4v2H3v-2h7zm0 4v2H3v-2h7z";break;case"info-outline":e="M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z";break;case"info":e="M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1 4c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zm0 9V9H9v6h2z";break;case"insert-after":e="M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z";break;case"insert-before":e="M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z";break;case"insert":e="M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z";break;case"instagram":e="M12.67 10A2.67 2.67 0 1 0 10 12.67 2.68 2.68 0 0 0 12.67 10zm1.43 0A4.1 4.1 0 1 1 10 5.9a4.09 4.09 0 0 1 4.1 4.1zm1.13-4.27a1 1 0 1 1-1-1 1 1 0 0 1 1 1zM10 3.44c-1.17 0-3.67-.1-4.72.32a2.67 2.67 0 0 0-1.52 1.52c-.42 1-.32 3.55-.32 4.72s-.1 3.67.32 4.72a2.74 2.74 0 0 0 1.52 1.52c1 .42 3.55.32 4.72.32s3.67.1 4.72-.32a2.83 2.83 0 0 0 1.52-1.52c.42-1.05.32-3.55.32-4.72s.1-3.67-.32-4.72a2.74 2.74 0 0 0-1.52-1.52c-1.05-.42-3.55-.32-4.72-.32zM18 10c0 1.1 0 2.2-.05 3.3a4.84 4.84 0 0 1-1.29 3.36A4.8 4.8 0 0 1 13.3 18H6.7a4.84 4.84 0 0 1-3.36-1.29 4.84 4.84 0 0 1-1.29-3.41C2 12.2 2 11.1 2 10V6.7a4.84 4.84 0 0 1 1.34-3.36A4.8 4.8 0 0 1 6.7 2.05C7.8 2 8.9 2 10 2h3.3a4.84 4.84 0 0 1 3.36 1.29A4.8 4.8 0 0 1 18 6.7V10z";break;case"keyboard-hide":e="M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z";break;case"laptop":e="M3 3h14c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1zm13 2H4v8h12V5zm-3 1H5v4zm6 11v-1H1v1c0 .6.5 1 1.1 1h15.8c.6 0 1.1-.4 1.1-1z";break;case"layout":e="M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z";break;case"leftright":e="M3 10.03L9 6v8zM11 6l6 4.03L11 14V6z";break;case"lightbulb":e="M10 1c3.11 0 5.63 2.52 5.63 5.62 0 1.84-2.03 4.58-2.03 4.58-.33.44-.6 1.25-.6 1.8v1c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-1c0-.55-.27-1.36-.6-1.8 0 0-2.02-2.74-2.02-4.58C4.38 3.52 6.89 1 10 1zM7 16.87V16h6v.87c0 .62-.13 1.13-.75 1.13H12c0 .62-.4 1-1.02 1h-2c-.61 0-.98-.38-.98-1h-.25c-.62 0-.75-.51-.75-1.13z";break;case"list-view":e="M2 19h16c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V3h11zM4 7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V7h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11zM4 15c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11z";break;case"location-alt":e="M13 13.14l1.17-5.94c.79-.43 1.33-1.25 1.33-2.2 0-1.38-1.12-2.5-2.5-2.5S10.5 3.62 10.5 5c0 .95.54 1.77 1.33 2.2zm0-9.64c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm1.72 4.8L18 6.97v9L13.12 18 7 15.97l-5 2v-9l5-2 4.27 1.41 1.73 7.3z";break;case"location":e="M10 2C6.69 2 4 4.69 4 8c0 2.02 1.17 3.71 2.53 4.89.43.37 1.18.96 1.85 1.83.74.97 1.41 2.01 1.62 2.71.21-.7.88-1.74 1.62-2.71.67-.87 1.42-1.46 1.85-1.83C14.83 11.71 16 10.02 16 8c0-3.31-2.69-6-6-6zm0 2.56c1.9 0 3.44 1.54 3.44 3.44S11.9 11.44 10 11.44 6.56 9.9 6.56 8 8.1 4.56 10 4.56z";break;case"lock":e="M14 9h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h1V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3zm-2 0V6c0-1.1-.9-2-2-2s-2 .9-2 2v3h4zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z";break;case"marker":e="M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z";break;case"media-archive":e="M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zM8 3.5v2l1.8-1zM11 5L9.2 6 11 7V5zM8 6.5v2l1.8-1zM11 8L9.2 9l1.8 1V8zM8 9.5v2l1.8-1zm3 1.5l-1.8 1 1.8 1v-2zm-1.5 6c.83 0 1.62-.72 1.5-1.63-.05-.38-.49-1.61-.49-1.61l-1.99-1.1s-.45 1.95-.52 2.71c-.07.77.67 1.63 1.5 1.63zm0-2.39c.42 0 .76.34.76.76 0 .43-.34.77-.76.77s-.76-.34-.76-.77c0-.42.34-.76.76-.76z";break;case"media-audio":e="M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm1 7.26V8.09c0-.11-.04-.21-.12-.29-.07-.08-.16-.11-.27-.1 0 0-3.97.71-4.25.78C8.07 8.54 8 8.8 8 9v3.37c-.2-.09-.42-.07-.6-.07-.38 0-.7.13-.96.39-.26.27-.4.58-.4.96 0 .37.14.69.4.95.26.27.58.4.96.4.34 0 .7-.04.96-.26.26-.23.64-.65.64-1.12V10.3l3-.6V12c-.67-.2-1.17.04-1.44.31-.26.26-.39.58-.39.95 0 .38.13.69.39.96.27.26.71.39 1.08.39.38 0 .7-.13.96-.39.26-.27.4-.58.4-.96z";break;case"media-code":e="M12 2l4 4v12H4V2h8zM9 13l-2-2 2-2-1-1-3 3 3 3zm3 1l3-3-3-3-1 1 2 2-2 2z";break;case"media-default":e="M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3z";break;case"media-document":e="M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zM5 9v1h4V9H5zm10 3V9h-5v3h5zM5 11v1h4v-1H5zm10 3v-1H5v1h10zm-3 2v-1H5v1h7z";break;case"media-interactive":e="M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm2 8V8H6v6h3l-1 2h1l1-2 1 2h1l-1-2h3zm-6-3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-2v2h-3V9h3zm0 3v1H7v-1h6z";break;case"media-spreadsheet":e="M12 2l4 4v12H4V2h8zm-1 4V3H5v3h6zM8 8V7H5v1h3zm3 0V7H9v1h2zm4 0V7h-3v1h3zm-7 2V9H5v1h3zm3 0V9H9v1h2zm4 0V9h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2z";break;case"media-text":e="M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zm0 2V9H5v1h10zm0 2v-1H5v1h10zm-4 2v-1H5v1h6z";break;case"media-video":e="M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm-1 8v-3c0-.27-.1-.51-.29-.71-.2-.19-.44-.29-.71-.29H7c-.27 0-.51.1-.71.29-.19.2-.29.44-.29.71v3c0 .27.1.51.29.71.2.19.44.29.71.29h3c.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71zm3 1v-5l-2 2v1z";break;case"megaphone":e="M18.15 5.94c.46 1.62.38 3.22-.02 4.48-.42 1.28-1.26 2.18-2.3 2.48-.16.06-.26.06-.4.06-.06.02-.12.02-.18.02-.06.02-.14.02-.22.02h-6.8l2.22 5.5c.02.14-.06.26-.14.34-.08.1-.24.16-.34.16H6.95c-.1 0-.26-.06-.34-.16-.08-.08-.16-.2-.14-.34l-1-5.5H4.25l-.02-.02c-.5.06-1.08-.18-1.54-.62s-.88-1.08-1.06-1.88c-.24-.8-.2-1.56-.02-2.2.18-.62.58-1.08 1.06-1.3l.02-.02 9-5.4c.1-.06.18-.1.24-.16.06-.04.14-.08.24-.12.16-.08.28-.12.5-.18 1.04-.3 2.24.1 3.22.98s1.84 2.24 2.26 3.86zm-2.58 5.98h-.02c.4-.1.74-.34 1.04-.7.58-.7.86-1.76.86-3.04 0-.64-.1-1.3-.28-1.98-.34-1.36-1.02-2.5-1.78-3.24s-1.68-1.1-2.46-.88c-.82.22-1.4.96-1.7 2-.32 1.04-.28 2.36.06 3.72.38 1.36 1 2.5 1.8 3.24.78.74 1.62 1.1 2.48.88zm-2.54-7.08c.22-.04.42-.02.62.04.38.16.76.48 1.02 1s.42 1.2.42 1.78c0 .3-.04.56-.12.8-.18.48-.44.84-.86.94-.34.1-.8-.06-1.14-.4s-.64-.86-.78-1.5c-.18-.62-.12-1.24.02-1.72s.48-.84.82-.94z";break;case"menu-alt":e="M3 4h14v2H3V4zm0 5h14v2H3V9zm0 5h14v2H3v-2z";break;case"menu":e="M17 7V5H3v2h14zm0 4V9H3v2h14zm0 4v-2H3v2h14z";break;case"microphone":e="M12 9V3c0-1.1-.89-2-2-2-1.12 0-2 .94-2 2v6c0 1.1.9 2 2 2 1.13 0 2-.94 2-2zm4 0c0 2.97-2.16 5.43-5 5.91V17h2c.56 0 1 .45 1 1s-.44 1-1 1H7c-.55 0-1-.45-1-1s.45-1 1-1h2v-2.09C6.17 14.43 4 11.97 4 9c0-.55.45-1 1-1 .56 0 1 .45 1 1 0 2.21 1.8 4 4 4 2.21 0 4-1.79 4-4 0-.55.45-1 1-1 .56 0 1 .45 1 1z";break;case"migrate":e="M4 6h6V4H2v12.01h8V14H4V6zm2 2h6V5l6 5-6 5v-3H6V8z";break;case"minus":e="M4 9h12v2H4V9z";break;case"money":e="M0 3h20v12h-.75c0-1.79-1.46-3.25-3.25-3.25-1.31 0-2.42.79-2.94 1.91-.25-.1-.52-.16-.81-.16-.98 0-1.8.63-2.11 1.5H0V3zm8.37 3.11c-.06.15-.1.31-.11.47s-.01.33.01.5l.02.08c.01.06.02.14.05.23.02.1.06.2.1.31.03.11.09.22.15.33.07.12.15.22.23.31s.18.17.31.23c.12.06.25.09.4.09.14 0 .27-.03.39-.09s.22-.14.3-.22c.09-.09.16-.2.22-.32.07-.12.12-.23.16-.33s.07-.2.09-.31c.03-.11.04-.18.05-.22s.01-.07.01-.09c.05-.29.03-.56-.04-.82s-.21-.48-.41-.66c-.21-.18-.47-.27-.79-.27-.19 0-.36.03-.52.1-.15.07-.28.16-.38.28-.09.11-.17.25-.24.4zm4.48 6.04v-1.14c0-.33-.1-.66-.29-.98s-.45-.59-.77-.79c-.32-.21-.66-.31-1.02-.31l-1.24.84-1.28-.82c-.37 0-.72.1-1.04.3-.31.2-.56.46-.74.77-.18.32-.27.65-.27.99v1.14l.18.05c.12.04.29.08.51.14.23.05.47.1.74.15.26.05.57.09.91.13.34.03.67.05.99.05.3 0 .63-.02.98-.05.34-.04.64-.08.89-.13.25-.04.5-.1.76-.16l.5-.12c.08-.02.14-.04.19-.06zm3.15.1c1.52 0 2.75 1.23 2.75 2.75s-1.23 2.75-2.75 2.75c-.73 0-1.38-.3-1.87-.77.23-.35.37-.78.37-1.23 0-.77-.39-1.46-.99-1.86.43-.96 1.37-1.64 2.49-1.64zm-5.5 3.5c0-.96.79-1.75 1.75-1.75s1.75.79 1.75 1.75-.79 1.75-1.75 1.75-1.75-.79-1.75-1.75z";break;case"move":e="M19 10l-4 4v-3h-4v4h3l-4 4-4-4h3v-4H5v3l-4-4 4-4v3h4V5H6l4-4 4 4h-3v4h4V6z";break;case"nametag":e="M12 5V2c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-2-3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 13V7c0-1.1-.9-2-2-2h-3v.33C13 6.25 12.25 7 11.33 7H8.67C7.75 7 7 6.25 7 5.33V5H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-1-6v6H3V9h14zm-8 2c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm3 0c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm-5.96 1.21c.92.48 2.34.79 3.96.79s3.04-.31 3.96-.79c-.21 1-1.89 1.79-3.96 1.79s-3.75-.79-3.96-1.79z";break;case"networking":e="M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z";break;case"no-alt":e="M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z";break;case"no":e="M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z";break;case"palmtree":e="M8.58 2.39c.32 0 .59.05.81.14 1.25.55 1.69 2.24 1.7 3.97.59-.82 2.15-2.29 3.41-2.29s2.94.73 3.53 3.55c-1.13-.65-2.42-.94-3.65-.94-1.26 0-2.45.32-3.29.89.4-.11.86-.16 1.33-.16 1.39 0 2.9.45 3.4 1.31.68 1.16.47 3.38-.76 4.14-.14-2.1-1.69-4.12-3.47-4.12-.44 0-.88.12-1.33.38C8 10.62 7 14.56 7 19H2c0-5.53 4.21-9.65 7.68-10.79-.56-.09-1.17-.15-1.82-.15C6.1 8.06 4.05 8.5 2 10c.76-2.96 2.78-4.1 4.69-4.1 1.25 0 2.45.5 3.2 1.29-.66-2.24-2.49-2.86-4.08-2.86-.8 0-1.55.16-2.05.35.91-1.29 3.31-2.29 4.82-2.29zM13 11.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5 1.5-.67 1.5-1.5z";break;case"paperclip":e="M17.05 2.7c1.93 1.94 1.93 5.13 0 7.07L10 16.84c-1.88 1.89-4.91 1.93-6.86.15-.06-.05-.13-.09-.19-.15-1.93-1.94-1.93-5.12 0-7.07l4.94-4.95c.91-.92 2.28-1.1 3.39-.58.3.15.59.33.83.58 1.17 1.17 1.17 3.07 0 4.24l-4.93 4.95c-.39.39-1.02.39-1.41 0s-.39-1.02 0-1.41l4.93-4.95c.39-.39.39-1.02 0-1.41-.38-.39-1.02-.39-1.4 0l-4.94 4.95c-.91.92-1.1 2.29-.57 3.4.14.3.32.59.57.84s.54.43.84.57c1.11.53 2.47.35 3.39-.57l7.05-7.07c1.16-1.17 1.16-3.08 0-4.25-.56-.55-1.28-.83-2-.86-.08.01-.16.01-.24 0-.22-.03-.43-.11-.6-.27-.39-.4-.38-1.05.02-1.45.16-.16.36-.24.56-.28.14-.02.27-.01.4.02 1.19.06 2.36.52 3.27 1.43z";break;case"performance":e="M3.76 17.01h12.48C17.34 15.63 18 13.9 18 12c0-4.41-3.58-8-8-8s-8 3.59-8 8c0 1.9.66 3.63 1.76 5.01zM9 6c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zM4 8c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm4.52 3.4c.84-.83 6.51-3.5 6.51-3.5s-2.66 5.68-3.49 6.51c-.84.84-2.18.84-3.02 0-.83-.83-.83-2.18 0-3.01zM3 13c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1z";break;case"phone":e="M12.06 6l-.21-.2c-.52-.54-.43-.79.08-1.3l2.72-2.75c.81-.82.96-1.21 1.73-.48l.21.2zm.53.45l4.4-4.4c.7.94 2.34 3.47 1.53 5.34-.73 1.67-1.09 1.75-2 3-1.85 2.11-4.18 4.37-6 6.07-1.26.91-1.31 1.33-3 2-1.8.71-4.4-.89-5.38-1.56l4.4-4.4 1.18 1.62c.34.46 1.2-.06 1.8-.66 1.04-1.05 3.18-3.18 4-4.07.59-.59 1.12-1.45.66-1.8zM1.57 16.5l-.21-.21c-.68-.74-.29-.9.52-1.7l2.74-2.72c.51-.49.75-.6 1.27-.11l.2.21z";break;case"playlist-audio":e="M17 3V1H2v2h15zm0 4V5H2v2h15zm-7 4V9H2v2h8zm7.45-1.96l-6 1.12c-.16.02-.19.03-.29.13-.11.09-.16.22-.16.37v4.59c-.29-.13-.66-.14-.93-.14-.54 0-1 .19-1.38.57s-.56.84-.56 1.38c0 .53.18.99.56 1.37s.84.57 1.38.57c.49 0 .92-.16 1.29-.48s.59-.71.65-1.19v-4.95L17 11.27v3.48c-.29-.13-.56-.19-.83-.19-.54 0-1.11.19-1.49.57-.38.37-.57.83-.57 1.37s.19.99.57 1.37.84.57 1.38.57c.53 0 .99-.19 1.37-.57s.57-.83.57-1.37V9.6c0-.16-.05-.3-.16-.41-.11-.12-.24-.17-.39-.15zM8 15v-2H2v2h6zm-2 4v-2H2v2h4z";break;case"playlist-video":e="M17 3V1H2v2h15zm0 4V5H2v2h15zM6 11V9H2v2h4zm2-2h9c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm3 7l3.33-2L11 12v4zm-5-1v-2H2v2h4zm0 4v-2H2v2h4z";break;case"plus-alt":e="M15.8 4.2c3.2 3.21 3.2 8.39 0 11.6-3.21 3.2-8.39 3.2-11.6 0C1 12.59 1 7.41 4.2 4.2 7.41 1 12.59 1 15.8 4.2zm-4.3 11.3v-4h4v-3h-4v-4h-3v4h-4v3h4v4h3z";break;case"plus-light":e="M17 9v2h-6v6H9v-6H3V9h6V3h2v6h6z";break;case"plus":e="M17 7v3h-5v5H9v-5H4V7h5V2h3v5h5z";break;case"portfolio":e="M4 5H.78c-.37 0-.74.32-.69.84l1.56 9.99S3.5 8.47 3.86 6.7c.11-.53.61-.7.98-.7H10s-.7-2.08-.77-2.31C9.11 3.25 8.89 3 8.45 3H5.14c-.36 0-.7.23-.8.64C4.25 4.04 4 5 4 5zm4.88 0h-4s.42-1 .87-1h2.13c.48 0 1 1 1 1zM2.67 16.25c-.31.47-.76.75-1.26.75h15.73c.54 0 .92-.31 1.03-.83.44-2.19 1.68-8.44 1.68-8.44.07-.5-.3-.73-.62-.73H16V5.53c0-.16-.26-.53-.66-.53h-3.76c-.52 0-.87.58-.87.58L10 7H5.59c-.32 0-.63.19-.69.5 0 0-1.59 6.7-1.72 7.33-.07.37-.22.99-.51 1.42zM15.38 7H11s.58-1 1.13-1h2.29c.71 0 .96 1 .96 1z";break;case"post-status":e="M14 6c0 1.86-1.28 3.41-3 3.86V16c0 1-2 2-2 2V9.86c-1.72-.45-3-2-3-3.86 0-2.21 1.79-4 4-4s4 1.79 4 4zM8 5c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z";break;case"pressthis":e="M14.76 1C16.55 1 18 2.46 18 4.25c0 1.78-1.45 3.24-3.24 3.24-.23 0-.47-.03-.7-.08L13 8.47V19H2V4h9.54c.13-2 1.52-3 3.22-3zm0 5.49C16 6.49 17 5.48 17 4.25 17 3.01 16 2 14.76 2s-2.24 1.01-2.24 2.25c0 .37.1.72.27 1.03L9.57 8.5c-.28.28-1.77 2.22-1.5 2.49.02.03.06.04.1.04.49 0 2.14-1.28 2.39-1.53l3.24-3.24c.29.14.61.23.96.23z";break;case"products":e="M17 8h1v11H2V8h1V6c0-2.76 2.24-5 5-5 .71 0 1.39.15 2 .42.61-.27 1.29-.42 2-.42 2.76 0 5 2.24 5 5v2zM5 6v2h2V6c0-1.13.39-2.16 1.02-3H8C6.35 3 5 4.35 5 6zm10 2V6c0-1.65-1.35-3-3-3h-.02c.63.84 1.02 1.87 1.02 3v2h2zm-5-4.22C9.39 4.33 9 5.12 9 6v2h2V6c0-.88-.39-1.67-1-2.22z";break;case"randomize":e="M18 6.01L14 9V7h-4l-5 8H2v-2h2l5-8h5V3zM2 5h3l1.15 2.17-1.12 1.8L4 7H2V5zm16 9.01L14 17v-2H9l-1.15-2.17 1.12-1.8L10 13h4v-2z";break;case"redo":e="M8 5h5V2l6 4-6 4V7H8c-2.2 0-4 1.8-4 4s1.8 4 4 4h5v2H8c-3.3 0-6-2.7-6-6s2.7-6 6-6z";break;case"rest-api":e="M3 4h2v12H3z";break;case"rss":e="M14.92 18H18C18 9.32 10.82 2.25 2 2.25v3.02c7.12 0 12.92 5.71 12.92 12.73zm-5.44 0h3.08C12.56 12.27 7.82 7.6 2 7.6v3.02c2 0 3.87.77 5.29 2.16C8.7 14.17 9.48 16.03 9.48 18zm-5.35-.02c1.17 0 2.13-.93 2.13-2.09 0-1.15-.96-2.09-2.13-2.09-1.18 0-2.13.94-2.13 2.09 0 1.16.95 2.09 2.13 2.09z";break;case"saved":e="M15.3 5.3l-6.8 6.8-2.8-2.8-1.4 1.4 4.2 4.2 8.2-8.2";break;case"schedule":e="M2 2h16v4H2V2zm0 10V8h4v4H2zm6-2V8h4v2H8zm6 3V8h4v5h-4zm-6 5v-6h4v6H8zm-6 0v-4h4v4H2zm12 0v-3h4v3h-4z";break;case"screenoptions":e="M9 9V3H3v6h6zm8 0V3h-6v6h6zm-8 8v-6H3v6h6zm8 0v-6h-6v6h6z";break;case"search":e="M12.14 4.18c1.87 1.87 2.11 4.75.72 6.89.12.1.22.21.36.31.2.16.47.36.81.59.34.24.56.39.66.47.42.31.73.57.94.78.32.32.6.65.84 1 .25.35.44.69.59 1.04.14.35.21.68.18 1-.02.32-.14.59-.36.81s-.49.34-.81.36c-.31.02-.65-.04-.99-.19-.35-.14-.7-.34-1.04-.59-.35-.24-.68-.52-1-.84-.21-.21-.47-.52-.77-.93-.1-.13-.25-.35-.47-.66-.22-.32-.4-.57-.56-.78-.16-.2-.29-.35-.44-.5-2.07 1.09-4.69.76-6.44-.98-2.14-2.15-2.14-5.64 0-7.78 2.15-2.15 5.63-2.15 7.78 0zm-1.41 6.36c1.36-1.37 1.36-3.58 0-4.95-1.37-1.37-3.59-1.37-4.95 0-1.37 1.37-1.37 3.58 0 4.95 1.36 1.37 3.58 1.37 4.95 0z";break;case"share-alt":e="M16.22 5.8c.47.69.29 1.62-.4 2.08-.69.47-1.62.29-2.08-.4-.16-.24-.35-.46-.55-.67-.21-.2-.43-.39-.67-.55s-.5-.3-.77-.41c-.27-.12-.55-.21-.84-.26-.59-.13-1.23-.13-1.82-.01-.29.06-.57.15-.84.27-.27.11-.53.25-.77.41s-.46.35-.66.55c-.21.21-.4.43-.56.67s-.3.5-.41.76c-.01.02-.01.03-.01.04-.1.24-.17.48-.23.72H1V6h2.66c.04-.07.07-.13.12-.2.27-.4.57-.77.91-1.11s.72-.65 1.11-.91c.4-.27.83-.51 1.28-.7s.93-.34 1.41-.43c.99-.21 2.03-.21 3.02 0 .48.09.96.24 1.41.43s.88.43 1.28.7c.39.26.77.57 1.11.91s.64.71.91 1.11zM12.5 10c0-1.38-1.12-2.5-2.5-2.5S7.5 8.62 7.5 10s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5zm-8.72 4.2c-.47-.69-.29-1.62.4-2.09.69-.46 1.62-.28 2.08.41.16.24.35.46.55.67.21.2.43.39.67.55s.5.3.77.41c.27.12.55.2.84.26.59.13 1.23.12 1.82 0 .29-.06.57-.14.84-.26.27-.11.53-.25.77-.41s.46-.35.66-.55c.21-.21.4-.44.56-.67.16-.25.3-.5.41-.76.01-.02.01-.03.01-.04.1-.24.17-.48.23-.72H19v3h-2.66c-.04.06-.07.13-.12.2-.27.4-.57.77-.91 1.11s-.72.65-1.11.91c-.4.27-.83.51-1.28.7s-.93.33-1.41.43c-.99.21-2.03.21-3.02 0-.48-.1-.96-.24-1.41-.43s-.88-.43-1.28-.7c-.39-.26-.77-.57-1.11-.91s-.64-.71-.91-1.11z";break;case"share-alt2":e="M18 8l-5 4V9.01c-2.58.06-4.88.45-7 2.99.29-3.57 2.66-5.66 7-5.94V3zM4 14h11v-2l2-1.6V16H2V5h9.43c-1.83.32-3.31 1-4.41 2H4v7z";break;case"share":e="M14.5 12c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.24.03-.46.09-.69l-4.38-2.3c-.55.61-1.33.99-2.21.99-1.66 0-3-1.34-3-3s1.34-3 3-3c.88 0 1.66.39 2.21.99l4.38-2.3c-.06-.23-.09-.45-.09-.69 0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-.88 0-1.66-.39-2.21-.99l-4.38 2.3c.06.23.09.45.09.69s-.03.46-.09.69l4.38 2.3c.55-.61 1.33-.99 2.21-.99z";break;case"shield-alt":e="M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2z";break;case"shield":e="M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2zm0 8h5s1-1 1-5c0 0-5-1-6-2v7H5c1 4 5 7 5 7v-7z";break;case"shortcode":e="M6 14H4V6h2V4H2v12h4M7.1 17h2.1l3.7-14h-2.1M14 4v2h2v8h-2v2h4V4";break;case"slides":e="M5 14V6h10v8H5zm-3-1V7h2v6H2zm4-6v6h8V7H6zm10 0h2v6h-2V7zm-3 2V8H7v1h6zm0 3v-2H7v2h6z";break;case"smartphone":e="M6 2h8c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm7 12V4H7v10h6zM8 5h4l-4 5V5z";break;case"smiley":e="M7 5.2c1.1 0 2 .89 2 2 0 .37-.11.71-.28 1C8.72 8.2 8 8 7 8s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.9-2 2-2zm6 0c1.11 0 2 .89 2 2 0 .37-.11.71-.28 1 0 0-.72-.2-1.72-.2s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.89-2 2-2zm-3 13.7c3.72 0 7.03-2.36 8.23-5.88l-1.32-.46C15.9 15.52 13.12 17.5 10 17.5s-5.9-1.98-6.91-4.94l-1.32.46c1.2 3.52 4.51 5.88 8.23 5.88z";break;case"sort":e="M11 7H1l5 7zm-2 7h10l-5-7z";break;case"sos":e="M18 10c0-4.42-3.58-8-8-8s-8 3.58-8 8 3.58 8 8 8 8-3.58 8-8zM7.23 3.57L8.72 7.3c-.62.29-1.13.8-1.42 1.42L3.57 7.23c.71-1.64 2.02-2.95 3.66-3.66zm9.2 3.66L12.7 8.72c-.29-.62-.8-1.13-1.42-1.42l1.49-3.73c1.64.71 2.95 2.02 3.66 3.66zM10 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm-6.43.77l3.73-1.49c.29.62.8 1.13 1.42 1.42l-1.49 3.73c-1.64-.71-2.95-2.02-3.66-3.66zm9.2 3.66l-1.49-3.73c.62-.29 1.13-.8 1.42-1.42l3.73 1.49c-.71 1.64-2.02 2.95-3.66 3.66z";break;case"star-empty":e="M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88l-4.68 2.34.87-5.15-3.18-3.56 4.65-.58z";break;case"star-filled":e="M10 1l3 6 6 .75-4.12 4.62L16 19l-6-3-6 3 1.13-6.63L1 7.75 7 7z";break;case"star-half":e="M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88V3.24z";break;case"sticky":e="M5 3.61V1.04l8.99-.01-.01 2.58c-1.22.26-2.16 1.35-2.16 2.67v.5c.01 1.31.93 2.4 2.17 2.66l-.01 2.58h-3.41l-.01 2.57c0 .6-.47 4.41-1.06 4.41-.6 0-1.08-3.81-1.08-4.41v-2.56L5 12.02l.01-2.58c1.23-.25 2.15-1.35 2.15-2.66v-.5c0-1.31-.92-2.41-2.16-2.67z";break;case"store":e="M1 10c.41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.51.43.54 0 1.08-.14 1.49-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.63-.46 1-1.17 1-2V7l-3-7H4L0 7v1c0 .83.37 1.54 1 2zm2 8.99h5v-5h4v5h5v-7c-.37-.05-.72-.22-1-.43-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.49.44-.55 0-1.1-.14-1.51-.44-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.5.44-.54 0-1.09-.14-1.5-.44-.63-.45-1-.73-1-1.57 0 .84-.38 1.12-1 1.57-.29.21-.63.38-1 .44v6.99z";break;case"table-col-after":e="M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z";break;case"table-col-before":e="M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z";break;case"table-col-delete":e="M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z";break;case"table-row-after":e="M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z";break;case"table-row-before":e="M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z";break;case"table-row-delete":e="M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z";break;case"tablet":e="M4 2h12c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H4c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm11 14V4H5v12h10zM6 5h6l-6 5V5z";break;case"tag":e="M11 2h7v7L8 19l-7-7zm3 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z";break;case"tagcloud":e="M11 3v4H1V3h10zm8 0v4h-7V3h7zM7 8v3H1V8h6zm12 0v3H8V8h11zM9 12v2H1v-2h8zm10 0v2h-9v-2h9zM6 15v1H1v-1h5zm5 0v1H7v-1h4zm3 0v1h-2v-1h2zm5 0v1h-4v-1h4z";break;case"testimonial":e="M4 3h12c.55 0 1.02.2 1.41.59S18 4.45 18 5v7c0 .55-.2 1.02-.59 1.41S16.55 14 16 14h-1l-5 5v-5H4c-.55 0-1.02-.2-1.41-.59S2 12.55 2 12V5c0-.55.2-1.02.59-1.41S3.45 3 4 3zm11 2H4v1h11V5zm1 3H4v1h12V8zm-3 3H4v1h9v-1z";break;case"text":e="M18 3v2H2V3h16zm-6 4v2H2V7h10zm6 0v2h-4V7h4zM8 11v2H2v-2h6zm10 0v2h-8v-2h8zm-4 4v2H2v-2h12z";break;case"thumbs-down":e="M7.28 18c-.15.02-.26-.02-.41-.07-.56-.19-.83-.79-.66-1.35.17-.55 1-3.04 1-3.58 0-.53-.75-1-1.35-1h-3c-.6 0-1-.4-1-1s2-7 2-7c.17-.39.55-1 1-1H14v9h-2.14c-.41.41-3.3 4.71-3.58 5.27-.21.41-.6.68-1 .73zM18 12h-2V3h2v9z";break;case"thumbs-up":e="M12.72 2c.15-.02.26.02.41.07.56.19.83.79.66 1.35-.17.55-1 3.04-1 3.58 0 .53.75 1 1.35 1h3c.6 0 1 .4 1 1s-2 7-2 7c-.17.39-.55 1-1 1H6V8h2.14c.41-.41 3.3-4.71 3.58-5.27.21-.41.6-.68 1-.73zM2 8h2v9H2V8z";break;case"tickets-alt":e="M20 6.38L18.99 9.2v-.01c-.52-.19-1.03-.16-1.53.08s-.85.62-1.04 1.14-.16 1.03.07 1.53c.24.5.62.84 1.15 1.03v.01l-1.01 2.82-15.06-5.38.99-2.79c.52.19 1.03.16 1.53-.08.5-.23.84-.61 1.03-1.13s.16-1.03-.08-1.53c-.23-.49-.61-.83-1.13-1.02L4.93 1zm-4.97 5.69l1.37-3.76c.12-.31.1-.65-.04-.95s-.39-.53-.7-.65L8.14 3.98c-.64-.23-1.37.12-1.6.74L5.17 8.48c-.24.65.1 1.37.74 1.6l7.52 2.74c.14.05.28.08.43.08.52 0 1-.33 1.17-.83zM7.97 4.45l7.51 2.73c.19.07.34.21.43.39.08.18.09.38.02.57l-1.37 3.76c-.13.38-.58.59-.96.45L6.09 9.61c-.39-.14-.59-.57-.45-.96l1.37-3.76c.1-.29.39-.49.7-.49.09 0 .17.02.26.05zm6.82 12.14c.35.27.75.41 1.2.41H16v3H0v-2.96c.55 0 1.03-.2 1.41-.59.39-.38.59-.86.59-1.41s-.2-1.02-.59-1.41-.86-.59-1.41-.59V10h1.05l-.28.8 2.87 1.02c-.51.16-.89.62-.89 1.18v4c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25v-1.75l.83.3c.12.43.36.78.71 1.04zM3.25 17v-4c0-.41.34-.75.75-.75h.83l7.92 2.83V17c0 .41-.34.75-.75.75H4c-.41 0-.75-.34-.75-.75z";break;case"tickets":e="M20 5.38L18.99 8.2v-.01c-1.04-.37-2.19.18-2.57 1.22-.37 1.04.17 2.19 1.22 2.56v.01l-1.01 2.82L1.57 9.42l.99-2.79c1.04.38 2.19-.17 2.56-1.21s-.17-2.18-1.21-2.55L4.93 0zm-5.45 3.37c.74-2.08-.34-4.37-2.42-5.12-2.08-.74-4.37.35-5.11 2.42-.74 2.08.34 4.38 2.42 5.12 2.07.74 4.37-.35 5.11-2.42zm-2.56-4.74c.89.32 1.57.94 1.97 1.71-.01-.01-.02-.01-.04-.02-.33-.12-.67.09-.78.4-.1.28-.03.57.05.91.04.27.09.62-.06 1.04-.1.29-.33.58-.65 1l-.74 1.01.08-4.08.4.11c.19.04.26-.24.08-.29 0 0-.57-.15-.92-.28-.34-.12-.88-.36-.88-.36-.18-.08-.3.19-.12.27 0 0 .16.08.34.16l.01 1.63L9.2 9.18l.08-4.11c.2.06.4.11.4.11.19.04.26-.23.07-.29 0 0-.56-.15-.91-.28-.07-.02-.14-.05-.22-.08.93-.7 2.19-.94 3.37-.52zM7.4 6.19c.17-.49.44-.92.78-1.27l.04 5c-.94-.95-1.3-2.39-.82-3.73zm4.04 4.75l2.1-2.63c.37-.41.57-.77.69-1.12.05-.12.08-.24.11-.35.09.57.04 1.18-.17 1.77-.45 1.25-1.51 2.1-2.73 2.33zm-.7-3.22l.02 3.22c0 .02 0 .04.01.06-.4 0-.8-.07-1.2-.21-.33-.12-.63-.28-.9-.48zm1.24 6.08l2.1.75c.24.84 1 1.45 1.91 1.45H16v3H0v-2.96c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2V9h1.05l-.28.8 4.28 1.52C4.4 12.03 4 12.97 4 14c0 2.21 1.79 4 4 4s4-1.79 4-4c0-.07-.02-.13-.02-.2zm-6.53-2.33l1.48.53c-.14.04-.15.27.03.28 0 0 .18.02.37.03l.56 1.54-.78 2.36-1.31-3.9c.21-.01.41-.03.41-.03.19-.02.17-.31-.02-.3 0 0-.59.05-.96.05-.07 0-.15 0-.23-.01.13-.2.28-.38.45-.55zM4.4 14c0-.52.12-1.02.32-1.46l1.71 4.7C5.23 16.65 4.4 15.42 4.4 14zm4.19-1.41l1.72.62c.07.17.12.37.12.61 0 .31-.12.66-.28 1.16l-.35 1.2zM11.6 14c0 1.33-.72 2.49-1.79 3.11l1.1-3.18c.06-.17.1-.31.14-.46l.52.19c.02.11.03.22.03.34zm-4.62 3.45l1.08-3.14 1.11 3.03c.01.02.01.04.02.05-.37.13-.77.21-1.19.21-.35 0-.69-.06-1.02-.15z";break;case"tide":e="M17 7.2V3H3v7.1c2.6-.5 4.5-1.5 6.4-2.6.2-.2.4-.3.6-.5v3c-1.9 1.1-4 2.2-7 2.8V17h14V9.9c-2.6.5-4.4 1.5-6.2 2.6-.3.1-.5.3-.8.4V10c2-1.1 4-2.2 7-2.8z";break;case"translation":e="M11 7H9.49c-.63 0-1.25.3-1.59.7L7 5H4.13l-2.39 7h1.69l.74-2H7v4H2c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h7c1.1 0 2 .9 2 2v2zM6.51 9H4.49l1-2.93zM10 8h7c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-7c-1.1 0-2-.9-2-2v-7c0-1.1.9-2 2-2zm7.25 5v-1.08h-3.17V9.75h-1.16v2.17H9.75V13h1.28c.11.85.56 1.85 1.28 2.62-.87.36-1.89.62-2.31.62-.01.02.22.97.2 1.46.84 0 2.21-.5 3.28-1.15 1.09.65 2.48 1.15 3.34 1.15-.02-.49.2-1.44.2-1.46-.43 0-1.49-.27-2.38-.63.7-.77 1.14-1.77 1.25-2.61h1.36zm-3.81 1.93c-.5-.46-.85-1.13-1.01-1.93h2.09c-.17.8-.51 1.47-1 1.93l-.04.03s-.03-.02-.04-.03z";break;case"trash":e="M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z";break;case"twitter":e="M18.94 4.46c-.49.73-1.11 1.38-1.83 1.9.01.15.01.31.01.47 0 4.85-3.69 10.44-10.43 10.44-2.07 0-4-.61-5.63-1.65.29.03.58.05.88.05 1.72 0 3.3-.59 4.55-1.57-1.6-.03-2.95-1.09-3.42-2.55.22.04.45.07.69.07.33 0 .66-.05.96-.13-1.67-.34-2.94-1.82-2.94-3.6v-.04c.5.27 1.06.44 1.66.46-.98-.66-1.63-1.78-1.63-3.06 0-.67.18-1.3.5-1.84 1.81 2.22 4.51 3.68 7.56 3.83-.06-.27-.1-.55-.1-.84 0-2.02 1.65-3.66 3.67-3.66 1.06 0 2.01.44 2.68 1.16.83-.17 1.62-.47 2.33-.89-.28.85-.86 1.57-1.62 2.02.75-.08 1.45-.28 2.11-.57z";break;case"undo":e="M12 5H7V2L1 6l6 4V7h5c2.2 0 4 1.8 4 4s-1.8 4-4 4H7v2h5c3.3 0 6-2.7 6-6s-2.7-6-6-6z";break;case"universal-access-alt":e="M19 10c0-4.97-4.03-9-9-9s-9 4.03-9 9 4.03 9 9 9 9-4.03 9-9zm-9-7.4c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z";break;case"universal-access":e="M10 2.6c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z";break;case"unlock":e="M12 9V6c0-1.1-.9-2-2-2s-2 .9-2 2H6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h7zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z";break;case"update":e="M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z";break;case"upload":e="M8 14V8H5l5-6 5 6h-3v6H8zm-2 2v-6H4v8h12.01v-8H14v6H6z";break;case"vault":e="M18 17V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-1 0H3V3h14v14zM4.75 4h10.5c.41 0 .75.34.75.75V6h-1v3h1v2h-1v3h1v1.25c0 .41-.34.75-.75.75H4.75c-.41 0-.75-.34-.75-.75V4.75c0-.41.34-.75.75-.75zM13 10c0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4 4-1.79 4-4zM9 7l.77 1.15C10.49 8.46 11 9.17 11 10c0 1.1-.9 2-2 2s-2-.9-2-2c0-.83.51-1.54 1.23-1.85z";break;case"video-alt":e="M8 5c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1 0 .57.49 1 1 1h5c.55 0 1-.45 1-1zm6 5l4-4v10l-4-4v-2zm-1 4V8c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h8c.55 0 1-.45 1-1z";break;case"video-alt2":e="M12 13V7c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2zm1-2.5l6 4.5V5l-6 4.5v1z";break;case"video-alt3":e="M19 15V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2zM8 14V6l6 4z";break;case"visibility":e="M19.7 9.4C17.7 6 14 3.9 10 3.9S2.3 6 .3 9.4L0 10l.3.6c2 3.4 5.7 5.5 9.7 5.5s7.7-2.1 9.7-5.5l.3-.6-.3-.6zM10 14.1c-3.1 0-6-1.6-7.7-4.1C3.6 8 5.7 6.6 8 6.1c-.9.6-1.5 1.7-1.5 2.9 0 1.9 1.6 3.5 3.5 3.5s3.5-1.6 3.5-3.5c0-1.2-.6-2.3-1.5-2.9 2.3.5 4.4 1.9 5.7 3.9-1.7 2.5-4.6 4.1-7.7 4.1z";break;case"warning":e="M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1.13 9.38l.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z";break;case"welcome-add-page":e="M17 7V4h-2V2h-3v1H3v15h11V9h1V7h2zm-1-2v1h-2v2h-1V6h-2V5h2V3h1v2h2z";break;case"welcome-comments":e="M5 2h10c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2zm8.5 8.5L11 8l2.5-2.5-1-1L10 7 7.5 4.5l-1 1L9 8l-2.5 2.5 1 1L10 9l2.5 2.5z";break;case"welcome-learn-more":e="M10 10L2.54 7.02 3 18H1l.48-11.41L0 6l10-4 10 4zm0-5c-.55 0-1 .22-1 .5s.45.5 1 .5 1-.22 1-.5-.45-.5-1-.5zm0 6l5.57-2.23c.71.94 1.2 2.07 1.36 3.3-.3-.04-.61-.07-.93-.07-2.55 0-4.78 1.37-6 3.41C8.78 13.37 6.55 12 4 12c-.32 0-.63.03-.93.07.16-1.23.65-2.36 1.36-3.3z";break;case"welcome-view-site":e="M18 14V4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-8-8c2.3 0 4.4 1.14 6 3-1.6 1.86-3.7 3-6 3s-4.4-1.14-6-3c1.6-1.86 3.7-3 6-3zm2 3c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm2 8h3v1H3v-1h3v-1h8v1z";break;case"welcome-widgets-menus":e="M19 16V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v13c0 .55.45 1 1 1h15c.55 0 1-.45 1-1zM4 4h13v4H4V4zm1 1v2h3V5H5zm4 0v2h3V5H9zm4 0v2h3V5h-3zm-8.5 5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 10h4v1H6v-1zm6 0h5v5h-5v-5zm-7.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 12h4v1H6v-1zm7 0v2h3v-2h-3zm-8.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 14h4v1H6v-1z";break;case"welcome-write-blog":e="M16.89 1.2l1.41 1.41c.39.39.39 1.02 0 1.41L14 8.33V18H3V3h10.67l1.8-1.8c.4-.39 1.03-.4 1.42 0zm-5.66 8.48l5.37-5.36-1.42-1.42-5.36 5.37-.71 2.12z";break;case"wordpress-alt":e="M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z";break;case"wordpress":e="M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z";break;case"yes-alt":e="M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm-.615 12.66h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4 5.14-5.93 1.34.94-5.81 8.38z";break;case"yes":e="M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z"}if(!e)return null;var u=["dashicon","dashicons-"+r,i].filter(Boolean).join(" ");return Object(l.createElement)(h.c,Object(n.a)({"aria-hidden":!0,role:"img",focusable:"false",className:u,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 20 20"},s),Object(l.createElement)(h.b,{d:e}))}}]),t}(l.Component)},function(e,t,r){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(t,"__esModule",{value:!0});var c=n(r(13)),a=n(r(85)),o=r(2),i=n(o),s=n(r(90)),u=n(r(23)),l={arr:Array.isArray,obj:function(e){return"[object Object]"===Object.prototype.toString.call(e)},fun:function(e){return"function"==typeof e},str:function(e){return"string"==typeof e},num:function(e){return"number"==typeof e},und:function(e){return void 0===e},nul:function(e){return null===e},set:function(e){return e instanceof Set},map:function(e){return e instanceof Map},equ:function(e,t){if(typeof e!=typeof t)return!1;if(l.str(e)||l.num(e))return e===t;if(l.obj(e)&&l.obj(t)&&Object.keys(e).length+Object.keys(t).length===0)return!0;var r;for(r in e)if(!(r in t))return!1;for(r in t)if(e[r]!==t[r])return!1;return!l.und(r)||e===t}};function h(){var e=o.useState(!1)[1];return o.useCallback((function(){return e((function(e){return!e}))}),[])}function v(e,t){return l.und(e)||l.nul(e)?t:e}function f(e){return l.und(e)?[]:l.arr(e)?e:[e]}function m(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return l.fun(e)?e.apply(void 0,r):e}function d(e){var t=function(e){return e.to,e.from,e.config,e.onStart,e.onRest,e.onFrame,e.children,e.reset,e.reverse,e.force,e.immediate,e.delay,e.attach,e.destroyed,e.interpolateTo,e.ref,e.lazy,a(e,["to","from","config","onStart","onRest","onFrame","children","reset","reverse","force","immediate","delay","attach","destroyed","interpolateTo","ref","lazy"])}(e);if(l.und(t))return c({to:t},e);var r=Object.keys(e).reduce((function(r,n){var a;return l.und(t[n])?c({},r,((a={})[n]=e[n],a)):r}),{});return c({to:t},r)}var p,b,g=function(){function e(){this.payload=void 0,this.children=[]}var t=e.prototype;return t.getAnimatedValue=function(){return this.getValue()},t.getPayload=function(){return this.payload||this},t.attach=function(){},t.detach=function(){},t.getChildren=function(){return this.children},t.addChild=function(e){0===this.children.length&&this.attach(),this.children.push(e)},t.removeChild=function(e){var t=this.children.indexOf(e);this.children.splice(t,1),0===this.children.length&&this.detach()},e}(),z=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),c=0;c<r;c++)n[c]=arguments[c];return(t=e.call.apply(e,[this].concat(n))||this).payload=[],t.attach=function(){return t.payload.forEach((function(e){return e instanceof g&&e.addChild(u(t))}))},t.detach=function(){return t.payload.forEach((function(e){return e instanceof g&&e.removeChild(u(t))}))},t}return s(t,e),t}(g),y=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),c=0;c<r;c++)n[c]=arguments[c];return(t=e.call.apply(e,[this].concat(n))||this).payload={},t.attach=function(){return Object.values(t.payload).forEach((function(e){return e instanceof g&&e.addChild(u(t))}))},t.detach=function(){return Object.values(t.payload).forEach((function(e){return e instanceof g&&e.removeChild(u(t))}))},t}s(t,e);var r=t.prototype;return r.getValue=function(e){void 0===e&&(e=!1);var t={};for(var r in this.payload){var n=this.payload[r];(!e||n instanceof g)&&(t[r]=n instanceof g?n[e?"getAnimatedValue":"getValue"]():n)}return t},r.getAnimatedValue=function(){return this.getValue(!0)},t}(g);function O(e,t){p={fn:e,transform:t}}function k(e){b=e}var V,M=function(e){return"undefined"!=typeof window?window.requestAnimationFrame(e):-1},H=function(e){"undefined"!=typeof window&&window.cancelAnimationFrame(e)};function j(e){V=e}var w,E=function(){return Date.now()};function S(e){w=e}var C,L,_=function(e){return e.current};function x(e){C=e}var R=Object.freeze({get applyAnimatedValues(){return p},injectApplyAnimatedValues:O,get colorNames(){return b},injectColorNames:k,get requestFrame(){return M},get cancelFrame(){return H},injectFrame:function(e,t){M=e,H=t},get interpolation(){return V},injectStringInterpolator:j,get now(){return E},injectNow:function(e){E=e},get defaultElement(){return w},injectDefaultElement:S,get animatedApi(){return _},injectAnimatedApi:function(e){_=e},get createAnimatedStyle(){return C},injectCreateAnimatedStyle:x,get manualFrameloop(){return L},injectManualFrameloop:function(e){L=e}}),P=function(e){function t(t,r){var n;return(n=e.call(this)||this).update=void 0,n.payload=t.style?c({},t,{style:C(t.style)}):t,n.update=r,n.attach(),n}return s(t,e),t}(y),N=!1,T=new Set,A=function e(){if(!N)return!1;var t=E(),r=T,n=Array.isArray(r),c=0;for(r=n?r:r[Symbol.iterator]();;){var a;if(n){if(c>=r.length)break;a=r[c++]}else{if((c=r.next()).done)break;a=c.value}for(var o=a,i=!1,s=0;s<o.configs.length;s++){for(var u=o.configs[s],l=void 0,h=void 0,v=0;v<u.animatedValues.length;v++){var f=u.animatedValues[v];if(!f.done){var m=u.fromValues[v],d=u.toValues[v],p=f.lastPosition,b=d instanceof g,z=Array.isArray(u.initialVelocity)?u.initialVelocity[v]:u.initialVelocity;if(b&&(d=d.getValue()),u.immediate)f.setValue(d),f.done=!0;else if("string"!=typeof m&&"string"!=typeof d){if(void 0!==u.duration)p=m+u.easing((t-f.startTime)/u.duration)*(d-m),l=t>=f.startTime+u.duration;else if(u.decay)p=m+z/(1-.998)*(1-Math.exp(-(1-.998)*(t-f.startTime))),(l=Math.abs(f.lastPosition-p)<.1)&&(d=p);else{h=void 0!==f.lastTime?f.lastTime:t,z=void 0!==f.lastVelocity?f.lastVelocity:u.initialVelocity,t>h+64&&(h=t);for(var y=Math.floor(t-h),O=0;O<y;++O){p+=1*(z+=1*((-u.tension*(p-d)+-u.friction*z)/u.mass)/1e3)/1e3}var k=!(!u.clamp||0===u.tension)&&(m<d?p>d:p<d),V=Math.abs(z)<=u.precision,H=0===u.tension||Math.abs(d-p)<=u.precision;l=k||V&&H,f.lastVelocity=z,f.lastTime=t}b&&!u.toValues[v].done&&(l=!1),l?(f.value!==d&&(p=d),f.done=!0):i=!0,f.setValue(p),f.lastPosition=p}else f.setValue(d),f.done=!0}}o.props.onFrame&&(o.values[u.name]=u.interpolation.getValue())}o.props.onFrame&&o.props.onFrame(o.values),i||(T.delete(o),o.stop(!0))}return T.size?L?L():M(e):N=!1,N};function F(e,t,r){if("function"==typeof e)return e;if(Array.isArray(e))return F({range:e,output:t,extrapolate:r});if(V&&"string"==typeof e.output[0])return V(e);var n=e,c=n.output,a=n.range||[0,1],o=n.extrapolateLeft||n.extrapolate||"extend",i=n.extrapolateRight||n.extrapolate||"extend",s=n.easing||function(e){return e};return function(e){var t=function(e,t){for(var r=1;r<t.length-1&&!(t[r]>=e);++r);return r-1}(e,a);return function(e,t,r,n,c,a,o,i,s){var u=s?s(e):e;if(u<t){if("identity"===o)return u;"clamp"===o&&(u=t)}if(u>r){if("identity"===i)return u;"clamp"===i&&(u=r)}if(n===c)return n;if(t===r)return e<=t?n:c;t===-1/0?u=-u:r===1/0?u-=t:u=(u-t)/(r-t);u=a(u),n===-1/0?u=-u:c===1/0?u+=n:u=u*(c-n)+n;return u}(e,a[t],a[t+1],c[t],c[t+1],s,o,i,n.map)}}var D=function(e){function t(r,n,c,a){var o;return(o=e.call(this)||this).calc=void 0,o.payload=r instanceof z&&!(r instanceof t)?r.getPayload():Array.isArray(r)?r:[r],o.calc=F(n,c,a),o}s(t,e);var r=t.prototype;return r.getValue=function(){return this.calc.apply(this,this.payload.map((function(e){return e.getValue()})))},r.updateConfig=function(e,t,r){this.calc=F(e,t,r)},r.interpolate=function(e,r,n){return new t(this,e,r,n)},t}(z);var I=function(e){function t(t){var r;return(r=e.call(this)||this).animatedStyles=new Set,r.value=void 0,r.startPosition=void 0,r.lastPosition=void 0,r.lastVelocity=void 0,r.startTime=void 0,r.lastTime=void 0,r.done=!1,r.setValue=function(e,t){void 0===t&&(t=!0),r.value=e,t&&r.flush()},r.value=t,r.startPosition=t,r.lastPosition=t,r}s(t,e);var r=t.prototype;return r.flush=function(){0===this.animatedStyles.size&&function e(t,r){"update"in t?r.add(t):t.getChildren().forEach((function(t){return e(t,r)}))}(this,this.animatedStyles),this.animatedStyles.forEach((function(e){return e.update()}))},r.clearStyles=function(){this.animatedStyles.clear()},r.getValue=function(){return this.value},r.interpolate=function(e,t,r){return new D(this,e,t,r)},t}(g),B=function(e){function t(t){var r;return(r=e.call(this)||this).payload=t.map((function(e){return new I(e)})),r}s(t,e);var r=t.prototype;return r.setValue=function(e,t){var r=this;void 0===t&&(t=!0),Array.isArray(e)?e.length===this.payload.length&&e.forEach((function(e,n){return r.payload[n].setValue(e,t)})):this.payload.forEach((function(r){return r.setValue(e,t)}))},r.getValue=function(){return this.payload.map((function(e){return e.getValue()}))},r.interpolate=function(e,t){return new D(this,e,t)},t}(z),q=0,U=function(){function e(){var e=this;this.id=void 0,this.idle=!0,this.hasChanged=!1,this.guid=0,this.local=0,this.props={},this.merged={},this.animations={},this.interpolations={},this.values={},this.configs=[],this.listeners=[],this.queue=[],this.localQueue=void 0,this.getValues=function(){return e.interpolations},this.id=q++}var t=e.prototype;return t.update=function(e){if(!e)return this;var t=d(e),r=t.delay,n=void 0===r?0:r,o=t.to,i=a(t,["delay","to"]);if(l.arr(o)||l.fun(o))this.queue.push(c({},i,{delay:n,to:o}));else if(o){var s={};Object.entries(o).forEach((function(e){var t,r=e[0],a=e[1],o=c({to:(t={},t[r]=a,t),delay:m(n,r)},i),u=s[o.delay]&&s[o.delay].to;s[o.delay]=c({},s[o.delay],o,{to:c({},u,o.to)})})),this.queue=Object.values(s)}return this.queue=this.queue.sort((function(e,t){return e.delay-t.delay})),this.diff(i),this},t.start=function(e){var t,r=this;if(this.queue.length){this.idle=!1,this.localQueue&&this.localQueue.forEach((function(e){var t=e.from,n=void 0===t?{}:t,a=e.to,o=void 0===a?{}:a;l.obj(n)&&(r.merged=c({},n,r.merged)),l.obj(o)&&(r.merged=c({},r.merged,o))}));var n=this.local=++this.guid,o=this.localQueue=this.queue;this.queue=[],o.forEach((function(t,c){var i=t.delay,s=a(t,["delay"]),u=function(t){c===o.length-1&&n===r.guid&&t&&(r.idle=!0,r.props.onRest&&r.props.onRest(r.merged)),e&&e()},h=l.arr(s.to)||l.fun(s.to);i?setTimeout((function(){n===r.guid&&(h?r.runAsync(s,u):r.diff(s).start(u))}),i):h?r.runAsync(s,u):r.diff(s).start(u)}))}else l.fun(e)&&this.listeners.push(e),this.props.onStart&&this.props.onStart(),t=this,T.has(t)||T.add(t),N||(N=!0,M(L||A));return this},t.stop=function(e){return this.listeners.forEach((function(t){return t(e)})),this.listeners=[],this},t.pause=function(e){var t;return this.stop(!0),e&&(t=this,T.has(t)&&T.delete(t)),this},t.runAsync=function(e,t){var r=this,n=(e.delay,a(e,["delay"])),o=this.local,i=Promise.resolve(void 0);if(l.arr(n.to))for(var s=function(e){var t=e,a=c({},n,d(n.to[t]));l.arr(a.config)&&(a.config=a.config[t]),i=i.then((function(){if(o===r.guid)return new Promise((function(e){return r.diff(a).start(e)}))}))},u=0;u<n.to.length;u++)s(u);else if(l.fun(n.to)){var h,v=0;i=i.then((function(){return n.to((function(e){var t=c({},n,d(e));if(l.arr(t.config)&&(t.config=t.config[v]),v++,o===r.guid)return h=new Promise((function(e){return r.diff(t).start(e)}))}),(function(e){return void 0===e&&(e=!0),r.stop(e)})).then((function(){return h}))}))}i.then(t)},t.diff=function(e){var t=this;this.props=c({},this.props,e);var r=this.props,n=r.from,a=void 0===n?{}:n,o=r.to,i=void 0===o?{}:o,s=r.config,u=void 0===s?{}:s,h=r.reverse,d=r.attach,p=r.reset,g=r.immediate;if(h){var z=[i,a];a=z[0],i=z[1]}this.merged=c({},a,this.merged,i),this.hasChanged=!1;var y=d&&d(this);if(this.animations=Object.entries(this.merged).reduce((function(e,r){var n=r[0],o=r[1],i=e[n]||{},s=l.num(o),h=l.str(o)&&!o.startsWith("#")&&!/\d/.test(o)&&!b[o],d=l.arr(o),z=!s&&!d&&!h,O=l.und(a[n])?o:a[n],k=s||d||h?o:1,M=m(u,n);y&&(k=y.animations[n].parent);var H,j=i.parent,w=i.interpolation,S=f(y?k.getPayload():k),C=o;z&&(C=V({range:[0,1],output:[o,o]})(1));var L,_=w&&w.getValue(),x=!l.und(j)&&i.animatedValues.some((function(e){return!e.done})),R=!l.equ(C,_),P=!l.equ(C,i.previous),N=!l.equ(M,i.config);if(p||P&&R||N){var T;if(s||h)j=w=i.parent||new I(O);else if(d)j=w=i.parent||new B(O);else if(z){var A=i.interpolation&&i.interpolation.calc(i.parent.value);A=void 0===A||p?O:A,i.parent?(j=i.parent).setValue(0,!1):j=new I(0);var F={output:[A,o]};i.interpolation?(w=i.interpolation,i.interpolation.updateConfig(F)):w=j.interpolate(F)}return S=f(y?k.getPayload():k),H=f(j.getPayload()),p&&!z&&j.setValue(O,!1),t.hasChanged=!0,H.forEach((function(e){e.startPosition=e.value,e.lastPosition=e.value,e.lastVelocity=x?e.lastVelocity:void 0,e.lastTime=x?e.lastTime:void 0,e.startTime=E(),e.done=!1,e.animatedStyles.clear()})),m(g,n)&&j.setValue(z?k:o,!1),c({},e,((T={})[n]=c({},i,{name:n,parent:j,interpolation:w,animatedValues:H,toValues:S,previous:C,config:M,fromValues:f(j.getValue()),immediate:m(g,n),initialVelocity:v(M.velocity,0),clamp:v(M.clamp,!1),precision:v(M.precision,.01),tension:v(M.tension,170),friction:v(M.friction,26),mass:v(M.mass,1),duration:M.duration,easing:v(M.easing,(function(e){return e})),decay:M.decay}),T))}return R?e:(z&&(j.setValue(1,!1),w.updateConfig({output:[C,C]})),j.done=!0,t.hasChanged=!0,c({},e,((L={})[n]=c({},e[n],{previous:C}),L)))}),this.animations),this.hasChanged)for(var O in this.configs=Object.values(this.animations),this.values={},this.interpolations={},this.animations)this.interpolations[O]=this.animations[O].interpolation,this.values[O]=this.animations[O].interpolation.getValue();return this},t.destroy=function(){this.stop(),this.props={},this.merged={},this.animations={},this.interpolations={},this.values={},this.configs=[],this.local=0},e}(),W=function(e,t){var r=o.useRef(!1),n=o.useRef(),c=l.fun(t),a=o.useMemo((function(){var r;return n.current&&(n.current.map((function(e){return e.destroy()})),n.current=void 0),[new Array(e).fill().map((function(e,n){var a=new U,o=c?m(t,n,a):t[n];return 0===n&&(r=o.ref),a.update(o),r||a.start(),a})),r]}),[e]),i=a[0],s=a[1];n.current=i;o.useImperativeHandle(s,(function(){return{start:function(){return Promise.all(n.current.map((function(e){return new Promise((function(t){return e.start(t)}))})))},stop:function(e){return n.current.forEach((function(t){return t.stop(e)}))},get controllers(){return n.current}}}));var u=o.useMemo((function(){return function(e){return n.current.map((function(t,r){t.update(c?m(e,r,t):e[r]),s||t.start()}))}}),[e]);o.useEffect((function(){r.current?c||u(t):s||n.current.forEach((function(e){return e.start()}))})),o.useEffect((function(){return r.current=!0,function(){return n.current.forEach((function(e){return e.destroy()}))}}),[]);var h=n.current.map((function(e){return e.getValues()}));return c?[h,u,function(e){return n.current.forEach((function(t){return t.pause(e)}))}]:h},K=0,Y=function(e,t){return("function"==typeof t?e.map(t):f(t)).map(String)},Q=function(e){var t=e.items,r=e.keys,n=void 0===r?function(e){return e}:r,o=a(e,["items","keys"]);return t=f(void 0!==t?t:null),c({items:t,keys:Y(t,n)},o)};function Z(e,t){var r=function(){if(c){if(a>=n.length)return"break";o=n[a++]}else{if((a=n.next()).done)return"break";o=a.value}var r=o.key,i=function(e){return e.key!==r};(l.und(t)||t===r)&&(e.current.instances.delete(r),e.current.transitions=e.current.transitions.filter(i),e.current.deleted=e.current.deleted.filter(i))},n=e.current.deleted,c=Array.isArray(n),a=0;for(n=c?n:n[Symbol.iterator]();;){var o;if("break"===r())break}e.current.forceUpdate()}var G=function(e){function t(t){var r;return void 0===t&&(t={}),r=e.call(this)||this,!t.transform||t.transform instanceof g||(t=p.transform(t)),r.payload=t,r}return s(t,e),t}(y),$={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},J="[-+]?\\d*\\.?\\d+";function X(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return"\\(\\s*("+t.join(")\\s*,\\s*(")+")\\s*\\)"}var ee=new RegExp("rgb"+X(J,J,J)),te=new RegExp("rgba"+X(J,J,J,J)),re=new RegExp("hsl"+X(J,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%")),ne=new RegExp("hsla"+X(J,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%",J)),ce=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,ae=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,oe=/^#([0-9a-fA-F]{6})$/,ie=/^#([0-9a-fA-F]{8})$/;function se(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function ue(e,t,r){var n=r<.5?r*(1+t):r+t-r*t,c=2*r-n,a=se(c,n,e+1/3),o=se(c,n,e),i=se(c,n,e-1/3);return Math.round(255*a)<<24|Math.round(255*o)<<16|Math.round(255*i)<<8}function le(e){var t=parseInt(e,10);return t<0?0:t>255?255:t}function he(e){return(parseFloat(e)%360+360)%360/360}function ve(e){var t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function fe(e){var t=parseFloat(e);return t<0?0:t>100?1:t/100}function me(e){var t,r,n="number"==typeof(t=e)?t>>>0===t&&t>=0&&t<=4294967295?t:null:(r=oe.exec(t))?parseInt(r[1]+"ff",16)>>>0:$.hasOwnProperty(t)?$[t]:(r=ee.exec(t))?(le(r[1])<<24|le(r[2])<<16|le(r[3])<<8|255)>>>0:(r=te.exec(t))?(le(r[1])<<24|le(r[2])<<16|le(r[3])<<8|ve(r[4]))>>>0:(r=ce.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+"ff",16)>>>0:(r=ie.exec(t))?parseInt(r[1],16)>>>0:(r=ae.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+r[4]+r[4],16)>>>0:(r=re.exec(t))?(255|ue(he(r[1]),fe(r[2]),fe(r[3])))>>>0:(r=ne.exec(t))?(ue(he(r[1]),fe(r[2]),fe(r[3]))|ve(r[4]))>>>0:null;return null===n?e:"rgba("+((4278190080&(n=n||0))>>>24)+", "+((16711680&n)>>>16)+", "+((65280&n)>>>8)+", "+(255&n)/255+")"}var de=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,pe=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,be=new RegExp("("+Object.keys($).join("|")+")","g"),ge={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ze=["Webkit","Ms","Moz","O"];function ye(e,t,r){return null==t||"boolean"==typeof t||""===t?"":r||"number"!=typeof t||0===t||ge.hasOwnProperty(e)&&ge[e]?(""+t).trim():t+"px"}ge=Object.keys(ge).reduce((function(e,t){return ze.forEach((function(r){return e[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(r,t)]=e[t]})),e}),ge);var Oe={};x((function(e){return new G(e)})),S("div"),j((function(e){var t=e.output.map((function(e){return e.replace(pe,me)})).map((function(e){return e.replace(be,me)})),r=t[0].match(de).map((function(){return[]}));t.forEach((function(e){e.match(de).forEach((function(e,t){return r[t].push(+e)}))}));var n=t[0].match(de).map((function(t,n){return F(c({},e,{output:r[n]}))}));return function(e){var r=0;return t[0].replace(de,(function(){return n[r++](e)})).replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,(function(e,t,r,n,c){return"rgba("+Math.round(t)+", "+Math.round(r)+", "+Math.round(n)+", "+c+")"}))}})),k($),O((function(e,t){if(!e.nodeType||void 0===e.setAttribute)return!1;var r=t.style,n=t.children,c=t.scrollTop,o=t.scrollLeft,i=a(t,["style","children","scrollTop","scrollLeft"]),s="filter"===e.nodeName||e.parentNode&&"filter"===e.parentNode.nodeName;for(var u in void 0!==c&&(e.scrollTop=c),void 0!==o&&(e.scrollLeft=o),void 0!==n&&(e.textContent=n),r)if(r.hasOwnProperty(u)){var l=0===u.indexOf("--"),h=ye(u,r[u],l);"float"===u&&(u="cssFloat"),l?e.style.setProperty(u,h):e.style[u]=h}for(var v in i){var f=s?v:Oe[v]||(Oe[v]=v.replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()})));void 0!==e.getAttribute(f)&&e.setAttribute(f,i[v])}}),(function(e){return e}));var ke,Ve,Me=(ke=function(e){return o.forwardRef((function(t,r){var n=h(),s=o.useRef(!0),u=o.useRef(null),v=o.useRef(null),f=o.useCallback((function(e){var t=u.current;u.current=new P(e,(function(){var e=!1;v.current&&(e=p.fn(v.current,u.current.getAnimatedValue())),v.current&&!1!==e||n()})),t&&t.detach()}),[]);o.useEffect((function(){return function(){s.current=!1,u.current&&u.current.detach()}}),[]),o.useImperativeHandle(r,(function(){return _(v,s,n)})),f(t);var m,d=u.current.getValue(),b=(d.scrollTop,d.scrollLeft,a(d,["scrollTop","scrollLeft"])),g=(m=e,!l.fun(m)||m.prototype instanceof i.Component?function(e){return v.current=function(e,t){return t&&(l.fun(t)?t(e):l.obj(t)&&(t.current=e)),e}(e,r)}:void 0);return i.createElement(e,c({},b,{ref:g}))}))},void 0===(Ve=!1)&&(Ve=!0),function(e){return(l.arr(e)?e:Object.keys(e)).reduce((function(e,t){var r=Ve?t[0].toLowerCase()+t.substring(1):t;return e[r]=ke(r),e}),ke)}),He=Me(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]);t.apply=Me,t.config={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},t.update=A,t.animated=He,t.a=He,t.interpolate=function(e,t,r){return e&&new D(e,t,r)},t.Globals=R,t.useSpring=function(e){var t=l.fun(e),r=W(1,t?e:[e]),n=r[0],c=r[1],a=r[2];return t?[n[0],c,a]:n},t.useTrail=function(e,t){var r=o.useRef(!1),n=l.fun(t),a=m(t),i=o.useRef(),s=W(e,(function(e,t){return 0===e&&(i.current=[]),i.current.push(t),c({},a,{config:m(a.config,e),attach:e>0&&function(){return i.current[e-1]}})})),u=s[0],h=s[1],v=s[2],f=o.useMemo((function(){return function(e){return h((function(t,r){e.reverse;var n=e.reverse?t+1:t-1,o=i.current[n];return c({},e,{config:m(e.config||a.config,t),attach:o&&function(){return o}})}))}}),[e,a.reverse]);return o.useEffect((function(){r.current&&!n&&f(t)})),o.useEffect((function(){r.current=!0}),[]),n?[u,f,v]:u},t.useTransition=function(e,t,r){var n=c({items:e,keys:t||function(e){return e}},r),i=Q(n),s=i.lazy,u=void 0!==s&&s,l=(i.unique,i.reset),v=void 0!==l&&l,f=(i.enter,i.leave,i.update,i.onDestroyed),d=(i.keys,i.items,i.onFrame),p=i.onRest,b=i.onStart,g=i.ref,z=a(i,["lazy","unique","reset","enter","leave","update","onDestroyed","keys","items","onFrame","onRest","onStart","ref"]),y=h(),O=o.useRef(!1),k=o.useRef({mounted:!1,first:!0,deleted:[],current:{},transitions:[],prevProps:{},paused:!!n.ref,instances:!O.current&&new Map,forceUpdate:y});return o.useImperativeHandle(n.ref,(function(){return{start:function(){return Promise.all(Array.from(k.current.instances).map((function(e){var t=e[1];return new Promise((function(e){return t.start(e)}))})))},stop:function(e){return Array.from(k.current.instances).forEach((function(t){return t[1].stop(e)}))},get controllers(){return Array.from(k.current.instances).map((function(e){return e[1]}))}}})),k.current=function(e,t){var r=e.first,n=e.prevProps,o=a(e,["first","prevProps"]),i=Q(t),s=i.items,u=i.keys,l=i.initial,h=i.from,v=i.enter,f=i.leave,d=i.update,p=i.trail,b=void 0===p?0:p,g=i.unique,z=i.config,y=i.order,O=void 0===y?["enter","leave","update"]:y,k=Q(n),V=k.keys,M=k.items,H=c({},o.current),j=[].concat(o.deleted),w=Object.keys(H),E=new Set(w),S=new Set(u),C=u.filter((function(e){return!E.has(e)})),L=o.transitions.filter((function(e){return!e.destroyed&&!S.has(e.originalKey)})).map((function(e){return e.originalKey})),_=u.filter((function(e){return E.has(e)})),x=-b;for(;O.length;){switch(O.shift()){case"enter":C.forEach((function(e,t){g&&j.find((function(t){return t.originalKey===e}))&&(j=j.filter((function(t){return t.originalKey!==e})));var n=u.indexOf(e),c=s[n],a=r&&void 0!==l?"initial":"enter";H[e]={slot:a,originalKey:e,key:g?String(e):K++,item:c,trail:x+=b,config:m(z,c,a),from:m(r&&void 0!==l?l||{}:h,c),to:m(v,c)}}));break;case"leave":L.forEach((function(e){var t=V.indexOf(e),r=M[t];j.unshift(c({},H[e],{slot:"leave",destroyed:!0,left:V[Math.max(0,t-1)],right:V[Math.min(V.length,t+1)],trail:x+=b,config:m(z,r,"leave"),to:m(f,r)})),delete H[e]}));break;case"update":_.forEach((function(e){var t=u.indexOf(e),r=s[t];H[e]=c({},H[e],{item:r,slot:"update",trail:x+=b,config:m(z,r,"update"),to:m(d,r)})}))}}var R=u.map((function(e){return H[e]}));return j.forEach((function(e){var t,r=e.left,n=(e.right,a(e,["left","right"]));-1!==(t=R.findIndex((function(e){return e.originalKey===r})))&&(t+=1),t=Math.max(0,t),R=[].concat(R.slice(0,t),[n],R.slice(t))})),c({},o,{changed:C.length||L.length||_.length,first:r&&0===C.length,transitions:R,current:H,deleted:j,prevProps:t})}(k.current,n),k.current.changed&&k.current.transitions.forEach((function(e){var t=e.slot,r=e.from,n=e.to,a=e.config,o=e.trail,i=e.key,s=e.item;k.current.instances.has(i)||k.current.instances.set(i,new U);var l=k.current.instances.get(i),h=c({},z,{to:n,from:r,config:a,ref:g,onRest:function(r){k.current.mounted&&(e.destroyed&&(g||u||Z(k,i),f&&f(s)),!Array.from(k.current.instances).some((function(e){return!e[1].idle}))&&(g||u)&&k.current.deleted.length>0&&Z(k),p&&p(s,t,r))},onStart:b&&function(){return b(s,t)},onFrame:d&&function(e){return d(s,t,e)},delay:o,reset:v&&"enter"===t});l.update(h),k.current.paused||l.start()})),o.useEffect((function(){return k.current.mounted=O.current=!0,function(){k.current.mounted=O.current=!1,Array.from(k.current.instances).map((function(e){return e[1].destroy()})),k.current.instances.clear()}}),[]),k.current.transitions.map((function(e){var t=e.item,r=e.slot,n=e.key;return{item:t,key:n,state:r,props:k.current.instances.get(n).getValues()}}))},t.useChain=function(e,t,r){void 0===r&&(r=1e3);var n=o.useRef();o.useEffect((function(){l.equ(e,n.current)?e.forEach((function(e){var t=e.current;return t&&t.start()})):t?e.forEach((function(e,n){var a=e.current;if(a){var o=a.controllers;if(o.length){var i=r*t[n];o.forEach((function(e){e.queue=e.queue.map((function(e){return c({},e,{delay:e.delay+i})})),e.start()}))}}})):e.reduce((function(e,t,r){var n=t.current;return e.then((function(){return n.start()}))}),Promise.resolve()),n.current=e}))},t.useSprings=W},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(10),c=r.n(n),a=r(0),o=function(){var e=Object(a.useState)(),t=c()(e,2)[1];return function(e){return t((function(){throw e}))}}},function(e,t){!function(){e.exports=this.wp.wordcount}()},,,,function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,c={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(c[r]=e[r]);return c}},,function(e,t){!function(){e.exports=this.wc.wcBlocksRegistry}()},,,function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return h})),r.d(t,"b",(function(){return v})),r.d(t,"c",(function(){return f}));var n=r(10),c=r.n(n),a=r(12),o=r(11),i=r(0),s=r(55),u=r(7),l=r(40),h=function(e){var t=Object(s.a)();e=e||t;var r=Object(o.useSelect)((function(t){return t(a.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(o.useDispatch)(a.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(i.useCallback)((function(t){n(e,t)}),[e])]},v=function(e,t,r){var n=Object(s.a)();r=r||n;var c=Object(o.useSelect)((function(n){return n(a.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),u=Object(o.useDispatch)(a.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(i.useCallback)((function(t){u(r,e,t)}),[r,e])]},f=function(e,t){var r=Object(s.a)(),n=h(t=t||r),a=c()(n,2),o=a[0],v=a[1],f=Object(l.a)(e),m=Object(i.useRef)(!1);return Object(i.useEffect)((function(){v(Object(u.assign)({},o,f)),m.current=!0}),[f]),m.current?[o,v]:[e,v]}},function(e,t,r){"use strict";var n=r(8),c=r(0),a=r(7);var o=function(e,t){return function(r){var n=e(r),c=r.displayName,o=void 0===c?r.name||"Component":c;return n.displayName="".concat(Object(a.upperFirst)(Object(a.camelCase)(t)),"(").concat(o,")"),n}},i=new WeakMap;function s(e){return Object(c.useMemo)((function(){return function(e){var t=i.get(e)||0;return i.set(e,t+1),t}(e)}),[e])}t.a=o((function(e){return function(t){var r=s(e);return Object(c.createElement)(e,Object(n.a)({},t,{instanceId:r}))}}),"withInstanceId")},function(e,t){!function(){e.exports=this.wp.deprecated}()},,,function(e,t,r){"use strict";var n=r(0),c=r(81),a=r(53),o=function(e){var t=e.indexOf("</p>");return-1===t?e:e.substr(0,t+4)},i=function(e){return e.replace(/<\/?[a-z][^>]*?>/gi,"")},s=function(e,t){return e.replace(/[\s|\.\,]+$/i,"")+t},u=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"&hellip;",n=i(e),c=n.split(" ").splice(0,t).join(" ");return Object(a.autop)(s(c,r))},l=function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"&hellip;",c=i(e),o=c.slice(0,t);if(r)return Object(a.autop)(s(o,n));var u=o.match(/([\s]+)/g),l=u?u.length:0,h=c.slice(0,t+l);return Object(a.autop)(s(h,n))};t.a=function(e){var t=e.source,r=e.maxLength,i=void 0===r?15:r,s=e.countType,h=void 0===s?"words":s,v=e.className,f=void 0===v?"":v,m=Object(n.useMemo)((function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"words",n=Object(a.autop)(e),i=Object(c.count)(n,r);if(i<=t)return n;var s=o(n),h=Object(c.count)(s,r);return h<=t?s:"words"===r?u(s,t):l(s,t,"characters_including_spaces"===r)}(t,i,h)}),[t,i,h]);return React.createElement(n.RawHTML,{className:f},m)}},,function(e,t){},,,function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n=r(12),c=r(11),a=r(0),o=r(80),i=r(40),s=function(e){var t=e.namespace,r=e.resourceName,s=e.resourceValues,u=void 0===s?[]:s,l=e.query,h=void 0===l?{}:l,v=e.shouldSelect,f=void 0===v||v;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var m=Object(a.useRef)({results:[],isLoading:!0}),d=Object(i.a)(h),p=Object(i.a)(u),b=Object(o.a)(),g=Object(c.useSelect)((function(e){if(!f)return null;var c=e(n.COLLECTIONS_STORE_KEY),a=[t,r,d,p],o=c.getCollectionError.apply(c,a);return o&&b(o),{results:c.getCollection.apply(c,a),isLoading:!c.hasFinishedResolution("getCollection",a)}}),[t,r,p,d,f]);return null!==g&&(m.current=g),m.current}},,,,,,,,,,function(e,t){},function(e,t,r){"use strict";var n=r(0),c=r(3),a=r(12),o=r(11);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(Object(c.getSetting)("restApiRoutes")),Object(o.useSelect)((function(e,t){if(r.current){var n=e(a.SCHEMA_STORE_KEY),c=n.isResolving,o=n.hasFinishedResolution,i=t.dispatch(a.SCHEMA_STORE_KEY),s=i.receiveRoutes,u=i.startResolution,l=i.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];c("getRoutes",[e])||o("getRoutes",[e])||(u("getRoutes",[e]),s(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},,,,,,,,function(e,t,r){"use strict";r(4);var n=r(5),c=r.n(n),a=r(28),o=r(96);r(137);t.a=Object(o.a)((function(e){var t=e.className,r=e.instanceId,n=e.defaultValue,o=e.label,i=e.onChange,s=e.options,u=e.screenReaderLabel,l=e.readOnly,h=e.value,v="wc-block-sort-select__select-".concat(r);return React.createElement("div",{className:c()("wc-block-sort-select",t)},React.createElement(a.a,{label:o,screenReaderLabel:u,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:v}}),React.createElement("select",{id:v,className:"wc-block-sort-select__select",defaultValue:n,onChange:i,readOnly:l,value:h},s.map((function(e){return React.createElement("option",{key:e.key,value:e.key},e.label)}))))}))},function(e,t,r){"use strict";var n=r(13),c=r.n(n),a=r(36),o=r.n(a),i=r(37),s=r.n(i),u=r(23),l=r.n(u),h=r(38),v=r.n(h),f=r(39),m=r.n(f),d=r(26),p=r.n(d),b=r(6),g=r.n(b),z=r(2);r(138);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=p()(e);if(t){var c=p()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return m()(this,r)}}t.a=function(e){var t=function(t){v()(n,t);var r=y(n);function n(){var e;return o()(this,n),e=r.call(this),g()(l()(e),"scrollToTopIfNeeded",(function(){var t=e.scrollPointRef.current.getBoundingClientRect().bottom;t>=0&&t<=window.innerHeight||e.scrollPointRef.current.scrollIntoView()})),g()(l()(e),"moveFocusToTop",(function(t){var r=e.scrollPointRef.current.parentElement.querySelectorAll(t);r.length&&r[0].focus()})),g()(l()(e),"scrollToTop",(function(t){window&&Number.isFinite(window.innerHeight)&&(e.scrollToTopIfNeeded(),t&&t.focusableSelector&&e.moveFocusToTop(t.focusableSelector))})),e.scrollPointRef=Object(z.createRef)(),e}return s()(n,[{key:"render",value:function(){return React.createElement(z.Fragment,null,React.createElement("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),React.createElement(e,c()({},this.props,{scrollToTop:this.scrollToTop})))}}]),n}(z.Component);return t.displayName="withScrollToTop",t}},,,,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),c=(r(11),Object(n.createContext)({isEditor:!1,currentPostId:0,previewData:{}})),a=function(){return Object(n.useContext)(c)}},,function(e,t,r){"use strict";r.d(t,"b",(function(){return P})),r.d(t,"a",(function(){return N}));var n=r(6),c=r.n(n),a=r(10),o=r.n(a),i=(r(4),r(0)),s=r(11),u=r(13),l=r.n(u),h=r(5),v=r.n(h),f=r(166),m=(r(115),function(e){var t=e.status;switch(void 0===t?"default":t){case"error":return"woocommerce-error";case"success":return"woocommerce-success";case"info":case"warning":return"woocommerce-info"}return""}),d=function(e){var t=e.className,r=e.notices,n=P().removeNotice,c=v()(t,"wc-block-components-notices"),a=r.filter((function(e){return"snackbar"!==e.type}));return a.length?React.createElement("div",{className:c},a.map((function(e){return React.createElement(f.a,l()({key:"store-notice-"+e.id},e,{className:v()("wc-block-components-notices__notice","woocommerce-message",m(e)),onRemove:function(){e.isDismissible&&n(e.id)}}),e.content)}))):null},p=r(8),b=r(30),g=r.n(b);function z(e,t,r,n,c,a,o){try{var i=e[a](o),s=i.value}catch(e){return void r(e)}i.done?t(s):Promise.resolve(s).then(n,c)}function y(e){return function(){var t=this,r=arguments;return new Promise((function(n,c){var a=e.apply(t,r);function o(e){z(a,n,c,o,i,"next",e)}function i(e){z(a,n,c,o,i,"throw",e)}o(void 0)}))}}var O=r(33),k=r(7),V=r(79),M=r(42),H=r(1),j=r(65);var w=Object(i.forwardRef)((function(e,t){var r=e.className,n=e.children,c=e.actions,a=void 0===c?[]:c,o=e.onRemove,s=void 0===o?k.noop:o;Object(i.useEffect)((function(){var e=setTimeout((function(){s()}),1e4);return function(){return clearTimeout(e)}}),[]);var u=v()(r,"components-snackbar");return a&&a.length>1&&(console.warn("Snackbar can only have 1 action, use Notice if your message require many messages"),a=[a[0]]),Object(i.createElement)("div",{ref:t,className:u,onClick:s,tabIndex:"0",role:"button",onKeyPress:s,label:Object(H.__)("Dismiss this notice")},Object(i.createElement)("div",{className:"components-snackbar__content"},n,a.map((function(e,t){var r=e.label,n=e.onClick,c=e.url;return Object(i.createElement)(j.a,{key:t,href:c,isTertiary:!0,onClick:function(e){e.stopPropagation(),n&&n(e)},className:"components-snackbar__action"},r)}))))}));var E=function(e){var t=e.notices,r=e.className,n=e.children,c=e.onRemove,a=void 0===c?k.noop:c,o=Object(M.useReducedMotion)(),s=Object(i.useState)((function(){return new WeakMap})),u=Object(O.a)(s,1)[0],l=Object(V.useTransition)(t,(function(e){return e.id}),{from:{opacity:0,height:0},enter:function(e){return function(){var t=y(g.a.mark((function t(r){return g.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r({opacity:1,height:u.get(e).offsetHeight});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},leave:function(){return function(){var e=y(g.a.mark((function e(t){return g.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({opacity:0});case 2:return e.next=4,t({height:0});case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},immediate:o});r=v()("components-snackbar-list",r);var h=function(e){return function(){return a(e.id)}};return Object(i.createElement)("div",{className:r},n,l.map((function(e){var t=e.item,r=e.key,n=e.props;return Object(i.createElement)(V.animated.div,{key:r,style:n},Object(i.createElement)("div",{className:"components-snackbar-list__notice-container",ref:function(e){return e&&u.set(t,e)}},Object(i.createElement)(w,Object(p.a)({},Object(k.omit)(t,["content"]),{onRemove:h(t)}),t.content)))})))},S=r(72),C=r(132),L=function(){var e=Object(C.a)().isEditor,t=Object(S.a)(),r=t.notices,n=t.removeNotice,c=r.filter((function(e){return"snackbar"===e.type}));return e?null:React.createElement(E,{notices:c,className:"wc-block-notices__snackbar",onRemove:n})};function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var R=Object(i.createContext)({notices:[],createNotice:function(e,t,r){},createSnackbarNotice:function(e,t){},removeNotice:function(e,t){},setIsSuppressed:function(e){},context:"wc/core"}),P=function(){return Object(i.useContext)(R)},N=function(e){var t=e.children,r=e.className,n=void 0===r?"":r,c=e.createNoticeContainer,a=void 0===c||c,u=e.context,l=void 0===u?"wc/core":u,h=Object(s.useDispatch)("core/notices"),v=h.createNotice,f=h.removeNotice,m=Object(i.useState)(!1),p=o()(m,2),b=p[0],g=p[1],z=Object(i.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};v(e,t,x(x({},r),{},{context:r.context||l}))}),[v,l]),y=Object(i.useCallback)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l;f(e,t)}),[f,l]),O=Object(i.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};z("default",e,x(x({},t),{},{type:"snackbar"}))}),[z]),k={notices:Object(s.useSelect)((function(e){return{notices:e("core/notices").getNotices(l)}}),[l]).notices,createNotice:z,createSnackbarNotice:O,removeNotice:y,context:l,setIsSuppressed:g},V=b?null:React.createElement(d,{className:n,notices:k.notices}),M=b?null:React.createElement(L,null);return React.createElement(R.Provider,{value:k},a&&V,t,M)}},,function(e,t,r){"use strict";r.d(t,"c",(function(){return f})),r.d(t,"b",(function(){return m})),r.d(t,"a",(function(){return d}));var n=r(6),c=r.n(n),a=r(22),o=r.n(a),i=r(3);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l,h,v={code:i.CURRENCY.code,symbol:i.CURRENCY.symbol,thousandSeparator:i.CURRENCY.thousandSeparator,decimalSeparator:i.CURRENCY.decimalSeparator,minorUnit:i.CURRENCY.precision,prefix:(l=i.CURRENCY.symbol,h=i.CURRENCY.symbolPosition,{left:l,left_space:" "+l,right:"",right_space:""}[h]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(i.CURRENCY.symbol,i.CURRENCY.symbolPosition)},f=function(e){if(!e||"object"!==o()(e))return v;var t=e.currency_code,r=e.currency_symbol,n=e.currency_thousand_separator,c=e.currency_decimal_separator,a=e.currency_minor_unit,i=e.currency_prefix,s=e.currency_suffix;return{code:t||"USD",symbol:r||"$",thousandSeparator:"string"==typeof n?n:",",decimalSeparator:"string"==typeof c?c:".",minorUnit:Number.isFinite(a)?a:2,prefix:"string"==typeof i?i:"$",suffix:"string"==typeof s?s:""}},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return u(u({},v),e)},d=function(e,t){if(""===e||void 0===e)return"";var r=parseInt(e,10);if(!Number.isFinite(r))return"";var n=m(t),c=r/Math.pow(10,n.minorUnit),a=n.prefix+c+n.suffix,o=document.createElement("textarea");return o.innerHTML=a,o.value}},function(e,t){},function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(2),c=function(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,r.current]),r.current}},function(e,t,r){"use strict";var n=r(6),c=r.n(n),a=r(32),o=r.n(a),i=r(2);r(4);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,a=o()(e,["srcElement","size"]);return Object(i.isValidElement)(t)&&Object(i.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:n,height:n},a))}},function(e,t,r){"use strict";var n=r(0),c=r(7),a=r(5),o=r.n(a),i=r(1),s=r(65),u=r(8),l=r(25),h=r(17),v=r(18),f=r(19),m=r(20),d=r(21),p=r(33),b=r(52),g=r(49),z=r(97),y=r.n(z),O=r(42),k=r(27),V=function(){return"rtl"===document.documentElement.dir};function M(e,t,r,n){var c=t.width;"left"===r&&V()?r="right":"right"===r&&V()&&(r="left");var a,o=Math.round(e.left+e.width/2),i={popoverLeft:o,contentWidth:(o-c/2>0?c/2:o)+(o+c/2>window.innerWidth?window.innerWidth-o:c/2)},s="middle"===n?e.left:o,u={popoverLeft:s,contentWidth:s-c>0?c:s},l="middle"===n?e.right:o,h={popoverLeft:l,contentWidth:l+c>window.innerWidth?window.innerWidth-l:c},v=null;if("center"===r&&i.contentWidth===c)a="center";else if("left"===r&&u.contentWidth===c)a="left";else if("right"===r&&h.contentWidth===c)a="right";else{var f="left"===(a=u.contentWidth>h.contentWidth?"left":"right")?u.contentWidth:h.contentWidth;v=f!==c?f:null}return{xAxis:a,popoverLeft:"center"===a?i.popoverLeft:"left"===a?u.popoverLeft:h.popoverLeft,contentWidth:v}}function H(e,t,r){var n,c=t.height,a=e.top+e.height/2,o={popoverTop:a,contentHeight:(a-c/2>0?c/2:a)+(a+c/2>window.innerHeight?window.innerHeight-a:c/2)},i={popoverTop:e.top,contentHeight:e.top-10-c>0?c:e.top-10},s={popoverTop:e.bottom,contentHeight:e.bottom+10+c>window.innerHeight?window.innerHeight-10-e.bottom:c},u=null;if("middle"===r&&o.contentHeight===c)n="middle";else if("top"===r&&i.contentHeight===c)n="top";else if("bottom"===r&&s.contentHeight===c)n="bottom";else{var l="top"===(n=i.contentHeight>s.contentHeight?"top":"bottom")?i.contentHeight:s.contentHeight;u=l!==c?l:null}return{yAxis:n,popoverTop:"middle"===n?o.popoverTop:"top"===n?i.popoverTop:s.popoverTop,contentHeight:u}}var j=r(43),w=r(15),E=Object(n.createContext)({focusHistory:[]}),S=E.Provider,C=E.Consumer;S.displayName="FocusReturnProvider",C.displayName="FocusReturnConsumer";n.Component;var L=Object(O.createHigherOrderComponent)((function e(t){if((a=t)instanceof n.Component||"function"==typeof a){var r=t;return e({})(r)}var a,o=t.onFocusReturn,i=void 0===o?c.stubTrue:o;return function(e){var t=function(t){function r(){var e;return Object(h.a)(this,r),(e=Object(f.a)(this,Object(m.a)(r).apply(this,arguments))).ownFocusedElements=new Set,e.activeElementOnMount=document.activeElement,e.setIsFocusedFalse=function(){return e.isFocused=!1},e.setIsFocusedTrue=function(t){e.ownFocusedElements.add(t.target),e.isFocused=!0},e}return Object(d.a)(r,t),Object(v.a)(r,[{key:"componentWillUnmount",value:function(){var e=this.activeElementOnMount,t=this.isFocused,r=this.ownFocusedElements;if(t&&!1!==i())for(var n,a=[].concat(Object(j.a)(c.without.apply(void 0,[this.props.focus.focusHistory].concat(Object(j.a)(r)))),[e]);n=a.pop();)if(document.body.contains(n))return void n.focus()}},{key:"render",value:function(){return Object(n.createElement)("div",{onFocus:this.setIsFocusedTrue,onBlur:this.setIsFocusedFalse},Object(n.createElement)(e,this.props.childProps))}}]),r}(n.Component);return function(e){return Object(n.createElement)(C,null,(function(r){return Object(n.createElement)(t,{childProps:e,focus:r})}))}}}),"withFocusReturn"),_=Object(O.createHigherOrderComponent)((function(e){return function(t){function r(){var e;return Object(h.a)(this,r),(e=Object(f.a)(this,Object(m.a)(r).apply(this,arguments))).focusContainRef=Object(n.createRef)(),e.handleTabBehaviour=e.handleTabBehaviour.bind(Object(w.a)(e)),e}return Object(d.a)(r,t),Object(v.a)(r,[{key:"handleTabBehaviour",value:function(e){if(e.keyCode===g.TAB){var t=b.focus.tabbable.find(this.focusContainRef.current);if(t.length){var r=t[0],n=t[t.length-1];e.shiftKey&&e.target===r?(e.preventDefault(),n.focus()):(e.shiftKey||e.target!==n)&&t.includes(e.target)||(e.preventDefault(),r.focus())}}}},{key:"render",value:function(){return Object(n.createElement)("div",{onKeyDown:this.handleTabBehaviour,ref:this.focusContainRef,tabIndex:"-1"},Object(n.createElement)(e,this.props))}}]),r}(n.Component)}),"withConstrainedTabbing"),x=["button","submit"];var R=Object(O.createHigherOrderComponent)((function(e){return function(t){function r(){var e;return Object(h.a)(this,r),(e=Object(f.a)(this,Object(m.a)(r).apply(this,arguments))).bindNode=e.bindNode.bind(Object(w.a)(e)),e.cancelBlurCheck=e.cancelBlurCheck.bind(Object(w.a)(e)),e.queueBlurCheck=e.queueBlurCheck.bind(Object(w.a)(e)),e.normalizeButtonFocus=e.normalizeButtonFocus.bind(Object(w.a)(e)),e}return Object(d.a)(r,t),Object(v.a)(r,[{key:"componentWillUnmount",value:function(){this.cancelBlurCheck()}},{key:"bindNode",value:function(e){e?this.node=e:(delete this.node,this.cancelBlurCheck())}},{key:"queueBlurCheck",value:function(e){var t=this;e.persist(),this.preventBlurCheck||(this.blurCheckTimeout=setTimeout((function(){document.hasFocus()?"function"==typeof t.node.handleFocusOutside&&t.node.handleFocusOutside(e):e.preventDefault()}),0))}},{key:"cancelBlurCheck",value:function(){clearTimeout(this.blurCheckTimeout)}},{key:"normalizeButtonFocus",value:function(e){var t=e.type,r=e.target;Object(c.includes)(["mouseup","touchend"],t)?this.preventBlurCheck=!1:function(e){switch(e.nodeName){case"A":case"BUTTON":return!0;case"INPUT":return Object(c.includes)(x,e.type)}return!1}(r)&&(this.preventBlurCheck=!0)}},{key:"render",value:function(){return Object(n.createElement)("div",{onFocus:this.cancelBlurCheck,onMouseDown:this.normalizeButtonFocus,onMouseUp:this.normalizeButtonFocus,onTouchStart:this.normalizeButtonFocus,onTouchEnd:this.normalizeButtonFocus,onBlur:this.queueBlurCheck},Object(n.createElement)(e,Object(u.a)({ref:this.bindNode},this.props)))}}]),r}(n.Component)}),"withFocusOutside")(function(e){function t(){return Object(h.a)(this,t),Object(f.a)(this,Object(m.a)(t).apply(this,arguments))}return Object(d.a)(t,e),Object(v.a)(t,[{key:"handleFocusOutside",value:function(e){this.props.onFocusOutside(e)}},{key:"render",value:function(){return this.props.children}}]),t}(n.Component));var P=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.htmlDocument,r=void 0===t?document:t,c=e.className,a=void 0===c?"lockscroll":c,o=0,i=0;function s(e){var t=r.scrollingElement||r.body;e&&(i=t.scrollTop);var n=e?"add":"remove";t.classList[n](a),r.documentElement.classList[n](a),e||(t.scrollTop=i)}function u(){0===o&&s(!0),++o}function l(){1===o&&s(!1),--o}return function(e){function t(){return Object(h.a)(this,t),Object(f.a)(this,Object(m.a)(t).apply(this,arguments))}return Object(d.a)(t,e),Object(v.a)(t,[{key:"componentDidMount",value:function(){u()}},{key:"componentWillUnmount",value:function(){l()}},{key:"render",value:function(){return null}}]),t}(n.Component)}();function N(e){e.stopPropagation()}var T=Object(n.forwardRef)((function(e,t){var r=e.children,c=Object(l.a)(e,["children"]);return Object(n.createElement)("div",Object(u.a)({},c,{ref:t,onMouseDown:N}),r)})),A=Object(n.createContext)({registerSlot:function(){},unregisterSlot:function(){},registerFill:function(){},unregisterFill:function(){},getSlot:function(){},getFills:function(){},subscribe:function(){}}),F=A.Provider,D=A.Consumer,I=(n.Component,0);function B(e){var t=e.name,r=e.children,a=e.registerFill,o=e.unregisterFill,i=function(e){var t=Object(n.useContext)(A),r=t.getSlot,c=t.subscribe,a=Object(n.useState)(r(e)),o=Object(p.a)(a,2),i=o[0],s=o[1];return Object(n.useEffect)((function(){return s(r(e)),c((function(){s(r(e))}))}),[e]),i}(t),s=Object(n.useRef)({name:t,children:r});return s.current.occurrence||(s.current.occurrence=++I),Object(n.useLayoutEffect)((function(){return a(t,s.current),function(){return o(t,s.current)}}),[]),Object(n.useLayoutEffect)((function(){s.current.children=r,i&&!i.props.bubblesVirtually&&i.forceUpdate()}),[r]),Object(n.useLayoutEffect)((function(){t!==s.current.name&&(o(s.current.name,s.current),s.current.name=t,a(t,s.current))}),[t]),i&&i.node&&i.props.bubblesVirtually?(Object(c.isFunction)(r)&&(r=r(i.props.fillProps)),Object(n.createPortal)(r,i.node)):null}var q=function(e){return Object(n.createElement)(D,null,(function(t){var r=t.registerFill,c=t.unregisterFill;return Object(n.createElement)(B,Object(u.a)({},e,{registerFill:r,unregisterFill:c}))}))},U=function(e){function t(){var e;return Object(h.a)(this,t),(e=Object(f.a)(this,Object(m.a)(t).apply(this,arguments))).bindNode=e.bindNode.bind(Object(w.a)(e)),e}return Object(d.a)(t,e),Object(v.a)(t,[{key:"componentDidMount",value:function(){(0,this.props.registerSlot)(this.props.name,this)}},{key:"componentWillUnmount",value:function(){(0,this.props.unregisterSlot)(this.props.name,this)}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.name,n=t.unregisterSlot,c=t.registerSlot;e.name!==r&&(n(e.name),c(r,this))}},{key:"bindNode",value:function(e){this.node=e}},{key:"render",value:function(){var e=this.props,t=e.children,r=e.name,a=e.bubblesVirtually,o=void 0!==a&&a,i=e.fillProps,s=void 0===i?{}:i,u=e.getFills,l=e.className;if(o)return Object(n.createElement)("div",{ref:this.bindNode,className:l});var h=Object(c.map)(u(r,this),(function(e){var t=e.occurrence,r=Object(c.isFunction)(e.children)?e.children(s):e.children;return n.Children.map(r,(function(e,r){if(!e||Object(c.isString)(e))return e;var a="".concat(t,"---").concat(e.key||r);return Object(n.cloneElement)(e,{key:a})}))})).filter(Object(c.negate)(n.isEmptyElement));return Object(n.createElement)(n.Fragment,null,Object(c.isFunction)(t)?t(h):h)}}]),t}(n.Component),W=function(e){return Object(n.createElement)(D,null,(function(t){var r=t.registerSlot,c=t.unregisterSlot,a=t.getFills;return Object(n.createElement)(U,Object(u.a)({},e,{registerSlot:r,unregisterSlot:c,getFills:a}))}))},K=r(50);var Y=function(e){var t=e.type,r=e.options,n=void 0===r?{}:r,c=e.children;if("appear"===t){var a,i=n.origin,s=(void 0===i?"top":i).split(" "),u=Object(p.a)(s,2),l=u[0],h=u[1],v=void 0===h?"center":h;return c({className:o()("components-animate__appear",(a={},Object(K.a)(a,"is-from-"+v,"center"!==v),Object(K.a)(a,"is-from-"+l,"middle"!==l),a))})}if("slide-in"===t){var f=n.origin,m=void 0===f?"left":f;return c({className:o()("components-animate__slide-in","is-from-"+m)})}return c("loading"===t?{className:o()("components-animate__loading")}:{})},Q=_(L((function(e){return e.children})));function Z(e,t){var r=window.getComputedStyle(t),n=r.paddingTop,c=r.paddingBottom,a=r.paddingLeft,o=r.paddingRight,i=n?parseInt(n,10):0,s=c?parseInt(c,10):0,u=a?parseInt(a,10):0,l=o?parseInt(o,10):0;return{x:e.left+u,y:e.top+i,width:e.width-u-l,height:e.height-i-s,left:e.left+u,right:e.right-l,top:e.top+i,bottom:e.bottom-s}}function G(e,t,r){r?e.getAttribute(t)!==r&&e.setAttribute(t,r):e.hasAttribute(t)&&e.removeAttribute(t)}function $(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";e.style[t]!==r&&(e.style[t]=r)}function J(e,t,r){r?e.classList.contains(t)||e.classList.add(t):e.classList.contains(t)&&e.classList.remove(t)}var X=function(e){var t=e.headerTitle,r=e.onClose,c=e.onKeyDown,a=e.children,i=e.className,s=e.noArrow,h=void 0!==s&&s,v=e.position,f=void 0===v?"top":v,m=(e.range,e.focusOnMount),d=void 0===m?"firstElement":m,z=e.anchorRef,V=e.shouldAnchorIncludePadding,j=e.anchorVerticalBuffer,w=e.anchorHorizontalBuffer,E=e.anchorRect,S=e.getAnchorRect,C=e.expandOnMobile,L=e.animate,_=void 0===L||L,x=e.onClickOutside,N=e.onFocusOutside,A=Object(l.a)(e,["headerTitle","onClose","onKeyDown","children","className","noArrow","position","range","focusOnMount","anchorRef","shouldAnchorIncludePadding","anchorVerticalBuffer","anchorHorizontalBuffer","anchorRect","getAnchorRect","expandOnMobile","animate","onClickOutside","onFocusOutside"]),F=Object(n.useRef)(null),I=Object(n.useRef)(null),B=Object(n.useRef)(),U=Object(n.useRef)(),W=Object(O.useViewportMatch)("medium","<"),K=Object(n.useState)(),X=Object(p.a)(K,2),ee=X[0],te=X[1],re=C&&W;h=re||h,Object(n.useEffect)((function(){var e=B.current,t=I.current;if(re)return J(e,"is-without-arrow",h),G(e,"data-x-axis"),G(e,"data-y-axis"),$(e,"top"),$(e,"left"),$(t,"maxHeight"),void $(t,"maxWidth");var r=function(){var r=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],c=arguments.length>4?arguments[4]:void 0;if(t)return t;if(r){if(!e.current)return;return r(e.current)}if(!1!==n){if(!n)return;if(n instanceof window.Range)return Object(b.getRectangleFromRange)(n);var a=n.getBoundingClientRect();return c?a:Z(a,n)}if(e.current){var o=e.current.parentNode,i=o.getBoundingClientRect();return c?i:Z(i,o)}}(F,E,S,z,V);if(r){r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return{x:e.left-r,y:e.top-t,width:e.width+2*r,height:e.height+2*t,left:e.left-r,right:e.right+r,top:e.top-t,bottom:e.bottom+t}}(r,j,w),U.current||(U.current=t.getBoundingClientRect());var n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"top",n=r.split(" "),c=Object(p.a)(n,2),a=c[0],o=c[1],i=void 0===o?"center":o,s=H(e,t,a),u=M(e,t,i,s.yAxis);return Object(k.a)({},u,s)}(r,U.current,f),c=n.popoverTop,a=n.popoverLeft,o=n.xAxis,i=n.yAxis,s=n.contentHeight,u=n.contentWidth;J(e,"is-without-arrow",h||"center"===o&&"middle"===i),G(e,"data-x-axis",o),G(e,"data-y-axis",i),$(e,"top","number"==typeof c?c+"px":""),$(e,"left","number"==typeof a?a+"px":""),$(t,"maxHeight","number"==typeof s?s+"px":""),$(t,"maxWidth","number"==typeof u?u+"px":"");te(({left:"right",right:"left"}[o]||"center")+" "+({top:"bottom",bottom:"top"}[i]||"middle"))}},n=window.setTimeout(r),c=window.setInterval(r,500);return window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),function(){window.clearTimeout(n),window.clearInterval(c),window.removeEventListener("resize",r),window.removeEventListener("scroll",r,!0)}}),[re,E,S,z,V,j,w,f]),function(e,t){Object(n.useEffect)((function(){var r=setTimeout((function(){if(e&&t.current)if("firstElement"!==e)"container"===e&&t.current.focus();else{var r=b.focus.tabbable.find(t.current)[0];r?r.focus():t.current.focus()}}),0);return function(){return clearTimeout(r)}}),[])}(d,I);var ne=function(e){e.keyCode===g.ESCAPE&&r&&(e.stopPropagation(),r()),c&&c(e)};var ae=Object(n.createElement)(R,{onFocusOutside:function(e){if(N)N(e);else if(x){var t;try{t=new window.MouseEvent("click")}catch(e){(t=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null)}Object.defineProperty(t,"target",{get:function(){return e.relatedTarget}}),y()("Popover onClickOutside prop",{alternative:"onFocusOutside"}),x(t)}else r&&r()}},Object(n.createElement)(Y,{type:_&&ee?"appear":null,options:{origin:ee}},(function(e){var c=e.className;return Object(n.createElement)(T,Object(u.a)({className:o()("components-popover",i,c,{"is-expanded":re,"is-without-arrow":h})},A,{onKeyDown:ne,ref:B}),re&&Object(n.createElement)("div",{className:"components-popover__header"},Object(n.createElement)("span",{className:"components-popover__header-title"},t),Object(n.createElement)(ce,{className:"components-popover__close",icon:"no-alt",onClick:r})),Object(n.createElement)("div",{ref:I,className:"components-popover__content",tabIndex:"-1"},a))})));return d&&(ae=Object(n.createElement)(Q,null,ae)),Object(n.createElement)(D,null,(function(e){var t=e.getSlot;return t&&t("Popover")&&(ae=Object(n.createElement)(q,{name:"Popover"},ae)),Object(n.createElement)("span",{ref:F},ae,W&&C&&Object(n.createElement)(P,null))}))};X.Slot=function(){return Object(n.createElement)(W,{bubblesVirtually:!0,name:"Popover"})};var ee=X;var te=function(e){var t,r,a=e.shortcut,o=e.className;return a?(Object(c.isString)(a)&&(t=a),Object(c.isObject)(a)&&(t=a.display,r=a.ariaLabel),Object(n.createElement)("span",{className:o,"aria-label":r},t)):null},re=function(e){function t(){var e;return Object(h.a)(this,t),(e=Object(f.a)(this,Object(m.a)(t).apply(this,arguments))).delayedSetIsOver=Object(c.debounce)((function(t){return e.setState({isOver:t})}),700),e.cancelIsMouseDown=e.createSetIsMouseDown(!1),e.isInMouseDown=!1,e.state={isOver:!1},e}return Object(d.a)(t,e),Object(v.a)(t,[{key:"componentWillUnmount",value:function(){this.delayedSetIsOver.cancel(),document.removeEventListener("mouseup",this.cancelIsMouseDown)}},{key:"emitToChild",value:function(e,t){var r=this.props.children;if(1===n.Children.count(r)){var c=n.Children.only(r);"function"==typeof c.props[e]&&c.props[e](t)}}},{key:"createToggleIsOver",value:function(e,t){var r=this;return function(n){if(r.emitToChild(e,n),!(n.currentTarget.disabled||"focus"===n.type&&r.isInMouseDown)){r.delayedSetIsOver.cancel();var a=Object(c.includes)(["focus","mouseenter"],n.type);a!==r.state.isOver&&(t?r.delayedSetIsOver(a):r.setState({isOver:a}))}}}},{key:"createSetIsMouseDown",value:function(e){var t=this;return function(r){t.emitToChild(e?"onMouseDown":"onMouseUp",r),document[e?"addEventListener":"removeEventListener"]("mouseup",t.cancelIsMouseDown),t.isInMouseDown=e}}},{key:"render",value:function(){var e=this.props,t=e.children,r=e.position,c=e.text,a=e.shortcut;if(1!==n.Children.count(t))return t;var o=n.Children.only(t),i=this.state.isOver;return Object(n.cloneElement)(o,{onMouseEnter:this.createToggleIsOver("onMouseEnter",!0),onMouseLeave:this.createToggleIsOver("onMouseLeave"),onClick:this.createToggleIsOver("onClick"),onFocus:this.createToggleIsOver("onFocus"),onBlur:this.createToggleIsOver("onBlur"),onMouseDown:this.createSetIsMouseDown(!0),children:Object(n.concatChildren)(o.props.children,i&&Object(n.createElement)(ee,{focusOnMount:!1,position:r,className:"components-tooltip","aria-hidden":"true",animate:!1},c,Object(n.createElement)(te,{className:"components-tooltip__shortcut",shortcut:a})))})}}]),t}(n.Component),ne=r(63);var ce=Object(n.forwardRef)((function(e,t){var r=e.icon,a=e.children,i=e.label,h=e.className,v=e.tooltip,f=e.shortcut,m=e.labelPosition,d=e.size,p=Object(l.a)(e,["icon","children","label","className","tooltip","shortcut","labelPosition","size"]),b=o()("components-icon-button",h,{"has-text":a}),g=v||i,z=!p.disabled&&(v||f||!!i&&(!a||Object(c.isArray)(a)&&!a.length)&&!1!==v),y=Object(n.createElement)(s.a,Object(u.a)({"aria-label":i},p,{className:b,ref:t}),Object(n.createElement)(ne.a,{icon:r,size:d}),a);return z&&(y=Object(n.createElement)(re,{text:g,shortcut:f,position:m},y)),y}));t.a=function(e){var t=e.className,r=e.status,a=e.children,u=e.onRemove,l=void 0===u?c.noop:u,h=e.isDismissible,v=void 0===h||h,f=e.actions,m=void 0===f?[]:f,d=e.__unstableHTML,p=o()(t,"components-notice","is-"+r,{"is-dismissible":v});return d&&(a=Object(n.createElement)(n.RawHTML,null,a)),Object(n.createElement)("div",{className:p},Object(n.createElement)("div",{className:"components-notice__content"},a,m.map((function(e,t){var r=e.className,c=e.label,a=e.noDefaultClasses,i=void 0!==a&&a,u=e.onClick,l=e.url;return Object(n.createElement)(s.a,{key:t,href:l,isDefault:!i&&!l,isLink:!i&&!!l,onClick:l?void 0:u,className:o()("components-notice__action",r)},c)}))),v&&Object(n.createElement)(ce,{className:"components-notice__dismiss",icon:"no-alt",label:Object(i.__)("Dismiss this notice"),onClick:l,tooltip:!1}))}},,,,,,,,,,,,function(e,t){},function(e,t){},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=window.Event||null,c=function(){if("function"==typeof n){var e=new n("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(e)}else{var t=document.createEvent("Event");t.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(t)}}},function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r.r(t);var n=r(116),c=r(134),a=r(36),o=r.n(a),i=r(37),s=r.n(i),u=r(38),l=r.n(u),h=r(39),v=r.n(h),f=r(26),m=r.n(f),d=r(2),p=(r(4),r(10)),b=r.n(p),g=r(0),z=r(22),y=r.n(z),O=r(32),k=r.n(O),V=r(6),M=r.n(V),H=r(1),j=r(7),w=r(5),E=r.n(w),S=r(28),C=(r(181),function(e){var t=e.currentPage,r=e.displayFirstAndLastPages,n=e.displayNextAndPreviousArrows,c=e.pagesToDisplay,a=e.onPageChange,o=e.totalPages,i=function(e,t,r){if(r<=2)return{minIndex:null,maxIndex:null};var n=e-1,c=Math.max(Math.floor(t-n/2),2),a=Math.min(Math.ceil(t+(n-(t-c))),r-1);return{minIndex:Math.max(Math.floor(t-(n-(a-t))),2),maxIndex:a}}(c,t,o),s=i.minIndex,u=i.maxIndex,l=r&&Boolean(1!==s),h=r&&Boolean(u!==o),v=r&&Boolean(s>3),f=r&&Boolean(u<o-2);l&&3===s&&(s-=1),h&&u===o-2&&(u+=1);var m=[];if(s&&u)for(var d=s;d<=u;d++)m.push(d);return React.createElement("div",{className:"wc-block-pagination"},React.createElement(S.a,{screenReaderLabel:Object(H.__)("Navigate to another page","woo-gutenberg-products-block")}),n&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t-1)},title:Object(H.__)("Previous page","woo-gutenberg-products-block"),disabled:t<=1},React.createElement(S.a,{label:"<",screenReaderLabel:Object(H.__)("Previous page","woo-gutenberg-products-block")})),l&&React.createElement("button",{className:E()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===t}),onClick:function(){return a(1)},disabled:1===t},React.createElement(S.a,{label:1,screenReaderLabel:Object(H.sprintf)(Object(H.__)("Page %d","woo-gutenberg-products-block"),1)})),v&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(H.__)("…","woo-gutenberg-products-block")),m.map((function(e){return React.createElement("button",{key:e,className:E()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===e}),onClick:t===e?null:function(){return a(e)},disabled:t===e},React.createElement(S.a,{label:e,screenReaderLabel:Object(H.sprintf)(Object(H.__)("Page %d","woo-gutenberg-products-block"),e)}))})),f&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(H.__)("…","woo-gutenberg-products-block")),h&&React.createElement("button",{className:E()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===o}),onClick:function(){return a(o)},disabled:t===o},React.createElement(S.a,{label:o,screenReaderLabel:Object(H.sprintf)(Object(H.__)("Page %d","woo-gutenberg-products-block"),o)})),n&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t+1)},title:Object(H.__)("Next page","woo-gutenberg-products-block"),disabled:t>=o},React.createElement(S.a,{label:">",screenReaderLabel:Object(H.__)("Next page","woo-gutenberg-products-block")})))});C.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var L=C,_=r(124),x=(r(179),function(e){var t=e.defaultValue,r=e.onChange,n=e.readOnly,c=e.value;return React.createElement(_.a,{className:"wc-block-product-sort-select",defaultValue:t,name:"orderby",onChange:r,options:[{key:"menu_order",label:Object(H.__)("Default sorting","woo-gutenberg-products-block")},{key:"popularity",label:Object(H.__)("Popularity","woo-gutenberg-products-block")},{key:"rating",label:Object(H.__)("Average rating","woo-gutenberg-products-block")},{key:"date",label:Object(H.__)("Latest","woo-gutenberg-products-block")},{key:"price",label:Object(H.__)("Price: low to high","woo-gutenberg-products-block")},{key:"price-desc",label:Object(H.__)("Price: high to low","woo-gutenberg-products-block")}],readOnly:n,screenReaderLabel:Object(H.__)("Order products by","woo-gutenberg-products-block"),value:c})}),R=function(e,t,r){if("object"!==y()(r))throw new Error("".concat(e," expects an object for its context value"));var n=[];for(var c in t)t[c].required&&void 0===r[c]?n.push("The ".concat(c," is required and is not present.")):void 0!==r[c]&&y()(r[c])!==t[c].type&&n.push("The ".concat(c," must be of ").concat(t[c].type," and instead was ").concat(y()(r[c])));if(n.length>0)throw new Error("There was a problem with the value passed in on ".concat(e,":\n ").concat(n.join("\n")))},P={parentName:{required:!0,type:"string"}},N=Object(g.createContext)({parentName:null}),T=function(e){var t=e.value,r=e.children;return Object(g.useEffect)((function(){R("InnerBlockConfigurationProvider",P,t)}),[t]),React.createElement(N.Provider,{value:t},r)},A={layoutStyleClassPrefix:{required:!0,type:"string"}},F=Object(g.createContext)({layoutStyleClassPrefix:""}),D=function(){return Object(g.useContext)(F)},I=function(e){var t=e.value,r=e.children;return Object(g.useEffect)((function(){R("ProductLayoutContextProvider",A,t)}),[t]),React.createElement(F.Provider,{value:t},r)},B=r(96),q=r(13),U=r.n(q),W=r(87),K=r(35),Y=r(136),Q=function(e){var t=e.className,r=e.product,n=D().layoutStyleClassPrefix,c=r.prices||{},a=Object(Y.c)(c);return c.price_range&&c.price_range.min_amount&&c.price_range.max_amount?React.createElement("div",{className:E()(t,"".concat(n,"__product-price"))},React.createElement("span",{className:"".concat(n,"__product-price__value")},React.createElement(K.a,{currency:a,value:c.price_range.min_amount})," — ",React.createElement(K.a,{currency:a,value:c.price_range.max_amount}))):React.createElement("div",{className:E()(t,"".concat(n,"__product-price"))},c.regular_price!==c.price&&React.createElement("del",{className:"".concat(n,"__product-price__regular")},React.createElement(K.a,{currency:a,value:c.regular_price})),React.createElement("span",{className:"".concat(n,"__product-price__value")},React.createElement(K.a,{currency:a,value:c.price})))},Z=r(9),G=function(e){var t=e.className,r=e.product,n=e.align,c=D().layoutStyleClassPrefix,a="string"==typeof n?"".concat(c,"__product-onsale--align").concat(n):"";return r&&r.on_sale?React.createElement("div",{className:E()(t,a,"".concat(c,"__product-onsale"))},React.createElement(S.a,{label:Object(H.__)("Sale","woo-gutenberg-products-block"),screenReaderLabel:Object(H.__)("Product on sale","woo-gutenberg-products-block")})):null},$=function(e){var t=e.product,r=e.saleBadgeAlign;return e.shouldRender?React.createElement(G,{product:t,align:r}):null},J=function(e){var t=e.layoutPrefix,r=e.loaded,n=e.image,c=e.onLoad,a=E()("".concat(t,"__product-image__image"),M()({},"".concat(t,"__product-image__image_placeholder"),!r&&!n)),o=n||{},i=o.thumbnail,s=o.srcset,u=o.sizes,l=o.alt;return React.createElement(g.Fragment,null,n&&React.createElement("img",{className:a,src:i,srcSet:s,sizes:u,alt:l,onLoad:c,hidden:!r}),!r&&React.createElement("img",{className:a,src:Z.n,alt:""}))},X=function(e){var t=e.className,r=e.product,n=e.productLink,c=void 0===n||n,a=e.showSaleBadge,o=void 0===a||a,i=e.saleBadgeAlign,s=void 0===i?"right":i,u=Object(g.useState)(!1),l=b()(u,2),h=l[0],v=l[1],f=D().layoutStyleClassPrefix,m=r.images&&r.images.length?r.images[0]:null,d=React.createElement(g.Fragment,null,React.createElement($,{product:r,saleBadgeAlign:s,shouldRender:o}),React.createElement(J,{layoutPrefix:f,loaded:h,image:m,onLoad:function(){return v(!0)}}));return React.createElement("div",{className:E()(t,"".concat(f,"__product-image"))},c?React.createElement("a",{href:r.permalink,rel:"nofollow"},d):d)},ee=r(14),te=function(e){var t=e.className,r=e.product,n=e.headingLevel,c=void 0===n?2:n,a=e.productLink,o=void 0===a||a,i=D().layoutStyleClassPrefix;if(!r.name)return null;var s=Object(ee.decodeEntities)(r.name),u="h".concat(c);return React.createElement(u,{className:E()(t,"".concat(i,"__product-title"))},o?React.createElement("a",{href:r.permalink,rel:"nofollow"},s):s)},re=function(e){var t=e.className,r=e.product,n=parseFloat(r.average_rating),c=D().layoutStyleClassPrefix;if(!Number.isFinite(n)||0===n)return null;var a={width:n/5*100+"%"},o=Object(H.sprintf)(Object(H.__)("Rated %f out of 5","woo-gutenberg-products-block"),n);return React.createElement("div",{className:E()(t,"".concat(c,"__product-rating"))},React.createElement("div",{className:"".concat(c,"__product-rating__stars"),role:"img","aria-label":o},React.createElement("span",{style:a},o)))},ne=r(11),ce=r(73),ae=r(12),oe=r(72),ie=function(e,t){var r=e.find((function(e){return e.id===t}));return r?r.quantity:0},se=r(180),ue=function(e){var t=e.product,r=e.className,n=t.id,c=t.permalink,a=t.add_to_cart,o=t.has_options,i=t.is_purchasable,s=t.is_in_stock,u=function(e){var t=Object(ne.useDispatch)(ae.CART_STORE_KEY).addItemToCart,r=Object(ce.a)(),n=r.cartItems,c=r.cartIsLoading,a=Object(oe.a)(),o=a.addErrorNotice,i=a.removeNotice,s=Object(g.useState)(!1),u=b()(s,2),l=u[0],h=u[1],v=Object(g.useRef)(ie(n,e));return Object(g.useEffect)((function(){var t=ie(n,e);t!==v.current&&(v.current=t)}),[n,e]),{cartQuantity:v.current,addingToCart:l,cartIsLoading:c,addToCart:function(){h(!0),t(e).then((function(e){!0===e&&i("add-to-cart")})).catch((function(e){o(Object(ee.decodeEntities)(e.message),{context:"wc/all-products",id:"add-to-cart",isDismissible:!0})})).finally((function(){h(!1)}))}}}(n),l=u.cartQuantity,h=u.addingToCart,v=u.cartIsLoading,f=u.addToCart,m=D().layoutStyleClassPrefix,d=Number.isFinite(l)&&l>0,p=function(){return d?Object(H.sprintf)(Object(H._n)("%d in cart","%d in cart",l,"woo-gutenberg-products-block"),l):Object(ee.decodeEntities)(a.text)},z=Object(g.useRef)(!0);Object(g.useEffect)((function(){z.current?z.current=!1:Object(se.a)()}),[l]);var y=E()(r,"".concat(m,"__product-add-to-cart"),"wp-block-button"),O=E()("wp-block-button__link","add_to_cart_button",{loading:h,added:d});if(0===Object.keys(t).length||v)return React.createElement("div",{className:y},React.createElement("button",{className:O,disabled:!0}));var k=!o&&i&&s;return React.createElement("div",{className:y},k?React.createElement("button",{onClick:f,"aria-label":Object(ee.decodeEntities)(a.description),className:O,disabled:h},p()):React.createElement("a",{href:c,"aria-label":Object(ee.decodeEntities)(a.description),className:O,rel:"nofollow"},p()))},le=r(100),he=r(3),ve=function(e){var t=e.className,r=e.product,n=D().layoutStyleClassPrefix,c=r.short_description?r.short_description:r.description;if(!c)return null;var a=Object(he.getSetting)("wordCountType","words");return React.createElement(le.a,{className:E()(t,"".concat(n,"__product-summary")),source:c,maxLength:150,countType:a})};function fe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function me(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?fe(Object(r),!0).forEach((function(t){M()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var de=function e(t,r,n,c){if(n){var a=function(e){return me({"woocommerce/product-price":Q,"woocommerce/product-image":X,"woocommerce/product-title":te,"woocommerce/product-rating":re,"woocommerce/product-button":ue,"woocommerce/product-summary":ve,"woocommerce/product-sale-badge":G},Object(W.getRegisteredInnerBlocks)(e))}(t);return n.map((function(n,o){var i=b()(n,2),s=i[0],u=i[1],l=void 0===u?{}:u,h=[];l.children&&l.children.length>0&&(h=e(t,r,l.children,c));var v=a[s];if(!v)return null;var f=r.id||0,m=["layout",s,o,c,f];return React.createElement(v,U()({key:m.join("_")},l,{children:h,product:r}))}))}},pe=Object(B.a)((function(e){var t=e.product,r=e.attributes,n=e.instanceId,c=r.layoutConfig,a=Object(g.useContext)(N).parentName,o=D().layoutStyleClassPrefix,i=0===Object.keys(t).length,s=E()("".concat(o,"__product"),{"is-loading":i});return React.createElement("li",{className:s,"aria-hidden":i},de(a,t,c,n))})),be=r(95),ge=r(105),ze=r(40);function ye(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Oe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(r),!0).forEach((function(t){M()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ye(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ke=function(e){var t={namespace:"/wc/store",resourceName:"products"},r=Object(ge.a)(Oe(Oe({},t),{},{query:e})),n=r.results,c=r.isLoading,a=function(e,t){var r=t.namespace,n=t.resourceName,c=t.resourceValues,a=void 0===c?[]:c,o=t.query,i=void 0===o?{}:o;if(!r||!n)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var s=Object(ze.a)(i),u=Object(ze.a)(a),l=Object(ne.useSelect)((function(t){var c=t(ae.COLLECTIONS_STORE_KEY),a=[e,r,n,s,u];return{value:c.getCollectionHeader.apply(c,a),isLoading:c.hasFinishedResolution("getCollectionHeader",a)}}),[e,r,n,u,s]),h=l.value,v=l.isLoading;return{value:h,isLoading:void 0===v||v}}("x-wp-total",Oe(Oe({},t),{},{query:e})).value;return{products:n,totalProducts:parseInt(a,10),productsLoading:c}},Ve=r(164),Me=r(125),He=r(45),je=(r(178),r(165)),we=r(41),Ee=React.createElement(we.c,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},React.createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})),Se=function(){var e=D().layoutStyleClassPrefix;return React.createElement("div",{className:"".concat(e,"__no-products")},React.createElement(je.a,{className:"".concat(e,"__no-products-image"),alt:"",srcElement:Ee,size:100}),React.createElement("strong",{className:"".concat(e,"__no-products-title")},Object(H.__)("No products","woo-gutenberg-products-block")),React.createElement("p",{className:"".concat(e,"__no-products-description")},Object(H.__)("There are currently no products available to display.","woo-gutenberg-products-block")))},Ce=React.createElement(we.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},React.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),React.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})),Le=function(e){var t=e.resetCallback,r=void 0===t?function(){}:t,n=D().layoutStyleClassPrefix;return React.createElement("div",{className:"".concat(n,"__no-products")},React.createElement(je.a,{className:"".concat(n,"__no-products-image"),alt:"",srcElement:Ce,size:100}),React.createElement("strong",{className:"".concat(n,"__no-products-title")},Object(H.__)("No products found","woo-gutenberg-products-block")),React.createElement("p",{className:"".concat(n,"__no-products-description")},Object(H.__)("We were unable to find any results based on your search.","woo-gutenberg-products-block")),React.createElement("button",{onClick:r},Object(H.__)("Reset Search","woo-gutenberg-products-block")))};function _e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function xe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_e(Object(r),!0).forEach((function(t){M()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_e(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Re=Object(Me.a)((function(e){var t=e.attributes,r=e.currentPage,n=e.onPageChange,c=e.onSortChange,a=e.sortValue,o=e.scrollToTop,i=Object(be.c)(function(e){var t=e.sortValue,r=e.currentPage,n=e.attributes,c=n.columns,a=n.rows;return xe(xe({},function(e){switch(e){case"menu_order":case"popularity":case"rating":case"price":return{orderby:e,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"};case"date":return{orderby:"date",order:"desc"}}}(t)),{},{catalog_visibility:"catalog",per_page:c*a,page:r})}({attributes:t,sortValue:a,currentPage:r})),s=b()(i,1)[0],u=ke(s),l=u.products,h=u.totalProducts,v=u.productsLoading,f=D().layoutStyleClassPrefix,m=function(e){e.order,e.orderby,e.page,e.per_page;return k()(e,["order","orderby","page","per_page"])}(s),d=Object(be.b)("attributes",[]),p=b()(d,2),z=p[0],O=p[1],V=Object(be.b)("min_price"),M=b()(V,2),w=M[0],S=M[1],C=Object(be.b)("max_price"),_=b()(C,2),R=_[0],P=_[1],N=Object(Ve.a)({totalQuery:m,totalProducts:h},(function(e){var t=e.totalQuery,r=e.totalProducts,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=n.totalQuery;return!Object(j.isEqual)(t,c)&&Number.isFinite(r)})),T="object"===y()(N)&&Object(j.isEqual)(m,N.totalQuery);Object(g.useEffect)((function(){T||(n(1),N&&function(e){Number.isFinite(e)&&(0===e?Object(He.speak)(Object(H.__)("No products found","woo-gutenberg-products-block")):Object(He.speak)(Object(H.sprintf)(Object(H._n)("%d product found","%d products found",e,"woo-gutenberg-products-block"),e)))}(h))}),[s]);var A,F,I,B,q,U=t.contentVisibility,W=t.columns*t.rows,K=!Number.isFinite(h)&&T?Math.ceil(N.totalProducts/W):Math.ceil(h/W),Y=l.length?l:Array.from({length:W}),Q=0!==l.length||v,Z=z.length>0||Number.isFinite(w)||Number.isFinite(R);return React.createElement("div",{className:(A=t.columns,F=t.rows,I=t.alignButtons,B=t.align,q=void 0!==B?"align"+B:"",E()(f,q,"has-"+A+"-columns",{"has-multiple-rows":F>1,"has-aligned-buttons":I}))},U.orderBy&&Q&&React.createElement(x,{onChange:c,value:a}),!Q&&Z&&React.createElement(Le,{resetCallback:function(){O([]),S(null),P(null)}}),!Q&&!Z&&React.createElement(Se,null),Q&&React.createElement("ul",{className:"".concat(f,"__products")},Y.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return React.createElement(pe,{key:e.id||r,attributes:t,product:e})}))),K>1&&React.createElement(L,{currentPage:r,onPageChange:function(e){o({focusableSelector:"a, button"}),n(e)},totalPages:K}))})),Pe=function(e){var t=e.attributes,r=Object(g.useState)(1),n=b()(r,2),c=n[0],a=n[1],o=Object(g.useState)(t.orderby),i=b()(o,2),s=i[0],u=i[1];Object(g.useEffect)((function(){u(t.orderby)}),[t.orderby]);return React.createElement(Re,{attributes:t,currentPage:c,onPageChange:function(e){a(e)},onSortChange:function(e){var t=e.target.value;u(t),a(1)},sortValue:s})},Ne=React.createElement("img",{src:Z.y+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}});function Te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=m()(e);if(t){var c=m()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return v()(this,r)}}var Ae={layoutStyleClassPrefix:"wc-block-grid"},Fe={parentName:"woocommerce/all-products"},De=function(e){l()(r,e);var t=Te(r);function r(){return o()(this,r),t.apply(this,arguments)}return s()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.urlParameterSuffix;return t.isPreview?Ne:React.createElement(T,{value:Fe},React.createElement(I,{value:Ae},React.createElement(Pe,{attributes:t,urlParameterSuffix:r})))}}]),r}(d.Component),Ie=r(47);Object(Ie.a)(".wp-block-woocommerce-all-products",Object(n.a)((function(e){return React.createElement(c.a,{context:"wc/all-products"},React.createElement(De,e))})),(function(e){return{attributes:JSON.parse(e.dataset.attributes)}}))}]);
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=247)}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t){!function(){e.exports=this.wc.wcSettings}()},function(e,t){!function(){e.exports=this.React}()},function(e,t,n){var r;
2
  /*!
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
5
  http://jedwatson.github.io/classnames
6
+ */!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var a=typeof r;if("string"===a||"number"===a)e.push(r);else if(Array.isArray(r)&&r.length){var i=o.apply(null,r);i&&e.push(i)}else if("object"===a)for(var c in r)n.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){e.exports=n(59)()},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){!function(){e.exports=this.lodash}()},function(e,t,n){"use strict";n.d(t,"i",(function(){return o})),n.d(t,"s",(function(){return a})),n.d(t,"w",(function(){return i})),n.d(t,"p",(function(){return c})),n.d(t,"l",(function(){return u})),n.d(t,"o",(function(){return s})),n.d(t,"h",(function(){return l})),n.d(t,"x",(function(){return f})),n.d(t,"k",(function(){return p})),n.d(t,"j",(function(){return d})),n.d(t,"c",(function(){return m})),n.d(t,"m",(function(){return h})),n.d(t,"n",(function(){return g})),n.d(t,"A",(function(){return b})),n.d(t,"t",(function(){return v})),n.d(t,"a",(function(){return y})),n.d(t,"u",(function(){return O})),n.d(t,"b",(function(){return j})),n.d(t,"f",(function(){return w})),n.d(t,"v",(function(){return S})),n.d(t,"g",(function(){return _})),n.d(t,"r",(function(){return x})),n.d(t,"q",(function(){return R})),n.d(t,"z",(function(){return P})),n.d(t,"y",(function(){return C})),n.d(t,"d",(function(){return N})),n.d(t,"e",(function(){return T}));var r=n(2),o=Object(r.getSetting)("currentUserIsAdmin",!1),a=Object(r.getSetting)("reviewRatingsEnabled",!0),i=Object(r.getSetting)("showAvatars",!0),c=(Object(r.getSetting)("max_columns",6),Object(r.getSetting)("min_columns",1),Object(r.getSetting)("default_columns",3),Object(r.getSetting)("max_rows",6),Object(r.getSetting)("min_rows",1),Object(r.getSetting)("default_rows",3),Object(r.getSetting)("min_height",500),Object(r.getSetting)("default_height",500),Object(r.getSetting)("placeholderImgSrc","")),u=(Object(r.getSetting)("thumbnail_size",300),Object(r.getSetting)("isLargeCatalog")),s=Object(r.getSetting)("limitTags"),l=(Object(r.getSetting)("hasProducts",!0),Object(r.getSetting)("hasTags",!0),Object(r.getSetting)("homeUrl",""),Object(r.getSetting)("couponsEnabled",!0)),f=(Object(r.getSetting)("shippingEnabled",!0),Object(r.getSetting)("taxesEnabled",!0)),p=Object(r.getSetting)("displayItemizedTaxes",!1),d=(Object(r.getSetting)("displayShopPricesIncludingTax",!1),Object(r.getSetting)("displayCartPricesIncludingTax",!1)),m=(Object(r.getSetting)("productCount",0),Object(r.getSetting)("attributes",[])),h=Object(r.getSetting)("isShippingCalculatorEnabled",!0),g=Object(r.getSetting)("isShippingCostHidden",!1),b=(Object(r.getSetting)("woocommerceBlocksPhase",1),Object(r.getSetting)("wcBlocksAssetUrl","")),v=Object(r.getSetting)("shippingCountries",{}),y=Object(r.getSetting)("allowedCountries",{}),O=Object(r.getSetting)("shippingStates",{}),j=Object(r.getSetting)("allowedStates",{}),w=(Object(r.getSetting)("shippingMethodsExist",!1),Object(r.getSetting)("checkoutShowLoginReminder",!0)),E={id:0,title:"",permalink:""},k=Object(r.getSetting)("storePages",{shop:E,cart:E,checkout:E,privacy:E,terms:E}),S=k.shop.permalink,_=(k.checkout.id,k.checkout.permalink),x=k.privacy.permalink,R=k.privacy.title,P=k.terms.permalink,C=k.terms.title,N=(k.cart.id,k.cart.permalink),T=Object(r.getSetting)("checkoutAllowsGuest",!1);Object(r.getSetting)("checkoutAllowsSignup",!1),n(39)},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){var r=n(70),o=n(71),a=n(52),i=n(72);e.exports=function(e,t){return r(e)||o(e,t)||a(e,t)||i()}},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},n.apply(this,arguments)}e.exports=n},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t,n){"use strict";function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,"a",(function(){return r}))},function(e,t,n){var r=n(73);e.exports=function(e,t){if(null==e)return{};var n,o,a=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},function(e,t){!function(){e.exports=this.wp.htmlEntities}()},,function(e,t){!function(){e.exports=this.wc.wcSharedContext}()},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t){!function(){e.exports=this.regeneratorRuntime}()},,,function(e,t){!function(){e.exports=this.wp.compose}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(45);function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),o.forEach((function(t){Object(r.a)(e,t,n[t])}))}return e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(51);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(r=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}return n}}(e,t)||Object(r.a)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){"use strict";var r=n(6),o=n.n(r),a=(n(5),n(3)),i=n(4),c=n.n(i);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var l=function(e){var t,n=e.label,r=e.screenReaderLabel,o=e.wrapperElement,i=e.wrapperProps,u=null!=n,l=null!=r;return!u&&l?(t=o||"span",i=s(s({},i),{},{className:c()(i.className,"screen-reader-text")}),React.createElement(t,i,r)):(t=o||a.Fragment,u&&l&&n!==r?React.createElement(t,i,React.createElement("span",{"aria-hidden":"true"},n),React.createElement("span",{className:"screen-reader-text"},r)):React.createElement(t,i,n))};l.defaultProps={wrapperProps:{}},t.a=l},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(30);function o(e,t){if(null==e)return{};var n,o,a=Object(r.a)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(11),o=n.n(r),a=n(6),i=n.n(a),c=n(14),u=n.n(c),s=n(3),l=n.n(s);function f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(){}function b(){}b.resetWarningCache=g;var v=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){e.exports=function(){function e(e,t,n,r,o,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:b,resetWarningCache:g};return n.PropTypes=n,n}()}));function y(){}function O(e){return!!(e||"").match(/\d/)}function j(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}function w(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n="-"===e[0],r=n&&t,o=(e=e.replace("-","")).split("."),a=o[0],i=o[1]||"";return{beforeDecimal:a,afterDecimal:i,hasNagation:n,addNegation:r}}function E(e,t,n){for(var r="",o=n?"0":"",a=0;a<=t-1;a++)r+=e[a]||o;return r}function k(e,t){if(e.value=e.value,null!==e){if(e.createTextRange){var n=e.createTextRange();return n.move("character",t),n.select(),!0}return e.selectionStart||0===e.selectionStart?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}function S(e,t,n){return Math.min(Math.max(e,t),n)}function _(e){return Math.max(e.selectionStart,e.selectionEnd)}var x={thousandSeparator:v.oneOfType([v.string,v.oneOf([!0])]),decimalSeparator:v.string,allowedDecimalSeparators:v.arrayOf(v.string),thousandsGroupStyle:v.oneOf(["thousand","lakh","wan"]),decimalScale:v.number,fixedDecimalScale:v.bool,displayType:v.oneOf(["input","text"]),prefix:v.string,suffix:v.string,format:v.oneOfType([v.string,v.func]),removeFormatting:v.func,mask:v.oneOfType([v.string,v.arrayOf(v.string)]),value:v.oneOfType([v.number,v.string]),defaultValue:v.oneOfType([v.number,v.string]),isNumericString:v.bool,customInput:v.elementType,allowNegative:v.bool,allowEmptyFormatting:v.bool,allowLeadingZeros:v.bool,onValueChange:v.func,onKeyDown:v.func,onMouseUp:v.func,onChange:v.func,onFocus:v.func,onBlur:v.func,type:v.oneOf(["text","tel","password"]),isAllowed:v.func,renderText:v.func,getInputRef:v.oneOfType([v.func,v.shape({current:v.any})])},R={displayType:"input",decimalSeparator:".",thousandsGroupStyle:"thousand",fixedDecimalScale:!1,prefix:"",suffix:"",allowNegative:!0,allowEmptyFormatting:!1,allowLeadingZeros:!1,isNumericString:!1,type:"text",onValueChange:y,onChange:y,onKeyDown:y,onMouseUp:y,onFocus:y,onBlur:y,isAllowed:function(){return!0}},P=function(e){function t(e){var n,r,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,n=!(o=d(t).call(this,e))||"object"!=typeof o&&"function"!=typeof o?h(r):o;var a=e.defaultValue;n.validateProps();var i=n.formatValueProp(a);return n.state={value:i,numAsString:n.removeFormatting(i)},n.selectionBeforeInput={selectionStart:0,selectionEnd:0},n.onChange=n.onChange.bind(h(n)),n.onKeyDown=n.onKeyDown.bind(h(n)),n.onMouseUp=n.onMouseUp.bind(h(n)),n.onFocus=n.onFocus.bind(h(n)),n.onBlur=n.onBlur.bind(h(n)),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&m(e,t)}(t,e),n=t,(r=[{key:"componentDidUpdate",value:function(e){this.updateValueIfRequired(e)}},{key:"updateValueIfRequired",value:function(e){var t=this.props,n=this.state,r=this.focusedElm,o=n.value,a=n.numAsString,i=void 0===a?"":a;if(e!==t){this.validateProps();var c=this.formatNumString(i),u=void 0===t.value?c:this.formatValueProp(),s=this.removeFormatting(u),l=parseFloat(s),f=parseFloat(i);(isNaN(l)&&isNaN(f)||l===f)&&c===o&&(null!==r||u===o)||this.updateValue({formattedValue:u,numAsString:s,input:r})}}},{key:"getFloatString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.decimalScale,n=this.getSeparators(),r=n.decimalSeparator,o=this.getNumberRegex(!0),a="-"===e[0];a&&(e=e.replace("-","")),r&&0===t&&(e=e.split(r)[0]);var i=(e=(e.match(o)||[]).join("").replace(r,".")).indexOf(".");return-1!==i&&(e="".concat(e.substring(0,i),".").concat(e.substring(i+1,e.length).replace(new RegExp(j(r),"g"),""))),a&&(e="-"+e),e}},{key:"getNumberRegex",value:function(e,t){var n=this.props,r=n.format,o=n.decimalScale,a=this.getSeparators().decimalSeparator;return new RegExp("\\d"+(!a||0===o||t||r?"":"|"+j(a)),e?"g":void 0)}},{key:"getSeparators",value:function(){var e=this.props.decimalSeparator,t=this.props,n=t.thousandSeparator,r=t.allowedDecimalSeparators;return!0===n&&(n=","),r||(r=[e,"."]),{decimalSeparator:e,thousandSeparator:n,allowedDecimalSeparators:r}}},{key:"getMaskAtIndex",value:function(e){var t=this.props.mask,n=void 0===t?" ":t;return"string"==typeof n?n:n[e]||" "}},{key:"getValueObject",value:function(e,t){var n=parseFloat(t);return{formattedValue:e,value:t,floatValue:isNaN(n)?void 0:n}}},{key:"validateProps",value:function(){var e=this.props.mask,t=this.getSeparators(),n=t.decimalSeparator,r=t.thousandSeparator;if(n===r)throw new Error("\n Decimal separator can't be same as thousand separator.\n thousandSeparator: ".concat(r,' (thousandSeparator = {true} is same as thousandSeparator = ",")\n decimalSeparator: ').concat(n," (default value for decimalSeparator is .)\n "));if(e&&("string"===e?e:e.toString()).match(/\d/g))throw new Error("\n Mask ".concat(e," should not contain numeric character;\n "))}},{key:"setPatchedCaretPosition",value:function(e,t,n){k(e,t),setTimeout((function(){e.value===n&&k(e,t)}),0)}},{key:"correctCaretPosition",value:function(e,t,n){var r=this.props,o=r.prefix,a=r.suffix,i=r.format;if(""===e)return 0;if(t=S(t,0,e.length),!i){var c="-"===e[0];return S(t,o.length+(c?1:0),e.length-a.length)}if("function"==typeof i)return t;if("#"===i[t]&&O(e[t]))return t;if("#"===i[t-1]&&O(e[t-1]))return t;var u=i.indexOf("#");t=S(t,u,i.lastIndexOf("#")+1);for(var s=i.substring(t,i.length).indexOf("#"),l=t,f=t+(-1===s?0:s);l>u&&("#"!==i[l]||!O(e[l]));)l-=1;return!O(e[f])||"left"===n&&t!==u||t-l<f-t?O(e[l])?l+1:l:f}},{key:"getCaretPosition",value:function(e,t,n){var r,o,a=this.props.format,i=this.state.value,c=this.getNumberRegex(!0),u=(e.match(c)||[]).join(""),s=(t.match(c)||[]).join("");for(r=0,o=0;o<n;o++){var l=e[o]||"",f=t[r]||"";if((l.match(c)||l===f)&&("0"!==l||!f.match(c)||"0"===f||u.length===s.length)){for(;l!==t[r]&&r<t.length;)r++;r++}}return"string"!=typeof a||i||(r=t.length),r=this.correctCaretPosition(t,r)}},{key:"removePrefixAndSuffix",value:function(e){var t=this.props,n=t.format,r=t.prefix,o=t.suffix;if(!n&&e){var a="-"===e[0];a&&(e=e.substring(1,e.length));var i=(e=r&&0===e.indexOf(r)?e.substring(r.length,e.length):e).lastIndexOf(o);e=o&&-1!==i&&i===e.length-o.length?e.substring(0,i):e,a&&(e="-"+e)}return e}},{key:"removePatternFormatting",value:function(e){for(var t=this.props.format.split("#").filter((function(e){return""!==e})),n=0,r="",o=0,a=t.length;o<=a;o++){var i=t[o]||"",c=o===a?e.length:e.indexOf(i,n);if(-1===c){r=e;break}r+=e.substring(n,c),n=c+i.length}return(r.match(/\d/g)||[]).join("")}},{key:"removeFormatting",value:function(e){var t=this.props,n=t.format,r=t.removeFormatting;return e?(n?e="string"==typeof n?this.removePatternFormatting(e):"function"==typeof r?r(e):(e.match(/\d/g)||[]).join(""):(e=this.removePrefixAndSuffix(e),e=this.getFloatString(e)),e):e}},{key:"formatWithPattern",value:function(e){for(var t=this.props.format,n=0,r=t.split(""),o=0,a=t.length;o<a;o++)"#"===t[o]&&(r[o]=e[n]||this.getMaskAtIndex(n),n+=1);return r.join("")}},{key:"formatAsNumber",value:function(e){var t=this.props,n=t.decimalScale,r=t.fixedDecimalScale,o=t.prefix,a=t.suffix,i=t.allowNegative,c=t.thousandsGroupStyle,u=this.getSeparators(),s=u.thousandSeparator,l=u.decimalSeparator,f=-1!==e.indexOf(".")||n&&r,p=w(e,i),d=p.beforeDecimal,m=p.afterDecimal,h=p.addNegation;return void 0!==n&&(m=E(m,n,r)),s&&(d=function(e,t,n){var r=function(e){switch(e){case"lakh":return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case"wan":return/(\d)(?=(\d{4})+(?!\d))/g;case"thousand":default:return/(\d)(?=(\d{3})+(?!\d))/g}}(n),o=e.search(/[1-9]/);return o=-1===o?e.length:o,e.substring(0,o)+e.substring(o,e.length).replace(r,"$1"+t)}(d,s,c)),o&&(d=o+d),a&&(m+=a),h&&(d="-"+d),e=d+(f&&l||"")+m}},{key:"formatNumString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props,n=t.format,r=t.allowEmptyFormatting,o=e;return o=""!==e||r?"-"!==e||n?"string"==typeof n?this.formatWithPattern(o):"function"==typeof n?n(o):this.formatAsNumber(o):"-":""}},{key:"formatValueProp",value:function(e){var t=this.props,n=t.format,r=t.decimalScale,o=t.fixedDecimalScale,a=t.allowEmptyFormatting,i=this.props,c=i.value,u=void 0===c?e:c,s=i.isNumericString,l=!u&&0!==u;return l&&a&&(u=""),l&&!a?"":("number"==typeof u&&(u=u.toString(),s=!0),"Infinity"===u&&s&&(u=""),s&&!n&&"number"==typeof r&&(u=function(e,t,n){if(-1!==["","-"].indexOf(e))return e;var r=-1!==e.indexOf(".")&&t,o=w(e),a=o.beforeDecimal,i=o.afterDecimal,c=o.hasNagation,u=parseFloat("0.".concat(i||"0")).toFixed(t).split("."),s=a.split("").reverse().reduce((function(e,t,n){return e.length>n?(Number(e[0])+Number(t)).toString()+e.substring(1,e.length):t+e}),u[0]),l=E(u[1]||"",Math.min(t,i.length),n),f=r?".":"";return"".concat(c?"-":"").concat(s).concat(f).concat(l)}(u,r,o)),s?this.formatNumString(u):this.formatInput(u))}},{key:"formatNegation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.allowNegative,n=new RegExp("(-)"),r=new RegExp("(-)(.)*(-)"),o=n.test(e),a=r.test(e);return e=e.replace(/-/g,""),o&&!a&&t&&(e="-"+e),e}},{key:"formatInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.format;return t||(e=this.removePrefixAndSuffix(e),e=this.formatNegation(e)),e=this.removeFormatting(e),this.formatNumString(e)}},{key:"isCharacterAFormat",value:function(e,t){var n=this.props,r=n.format,o=n.prefix,a=n.suffix,i=n.decimalScale,c=n.fixedDecimalScale,u=this.getSeparators().decimalSeparator;return"string"==typeof r&&"#"!==r[e]||!(r||!(e<o.length||e>=t.length-a.length||i&&c&&t[e]===u))}},{key:"checkIfFormatGotDeleted",value:function(e,t,n){for(var r=e;r<t;r++)if(this.isCharacterAFormat(r,n))return!0;return!1}},{key:"correctInputValue",value:function(e,t,n){var r=this.props,o=r.format,a=r.allowNegative,i=r.prefix,c=r.suffix,u=r.decimalScale,s=this.getSeparators(),l=s.allowedDecimalSeparators,f=s.decimalSeparator,p=this.state.numAsString||"",d=this.selectionBeforeInput,m=d.selectionStart,h=d.selectionEnd,g=function(e,t){for(var n=0,r=0,o=e.length,a=t.length;e[n]===t[n]&&n<o;)n++;for(;e[o-1-r]===t[a-1-r]&&a-r>n&&o-r>n;)r++;return{start:n,end:o-r}}(t,n),b=g.start,v=g.end;if(!o&&b===v&&-1!==l.indexOf(n[m])){var y=0===u?"":f;return n.substr(0,m)+y+n.substr(m+1,n.length)}var O=o?0:i.length,j=t.length-(o?0:c.length);if(n.length>t.length||!n.length||b===v||0===m&&h===t.length||m===O&&h===j)return n;if(this.checkIfFormatGotDeleted(b,v,t)&&(n=t),!o){var E=this.removeFormatting(n),k=w(E,a),S=k.beforeDecimal,_=k.afterDecimal,x=k.addNegation,R=e<n.indexOf(f)+1;if(E.length<p.length&&R&&""===S&&!parseFloat(_))return x?"-":""}return n}},{key:"updateValue",value:function(e){var t=e.formattedValue,n=e.input,r=e.setCaretPosition,o=void 0===r||r,a=e.numAsString,i=e.caretPos,c=this.props.onValueChange,u=this.state.value;if(n)if(o){if(!i){var s=e.inputValue||n.value,l=_(n);n.value=t,i=this.getCaretPosition(s,t,l)}this.setPatchedCaretPosition(n,i,t)}else n.value=t;void 0===a&&(a=this.removeFormatting(t)),t!==u&&(this.setState({value:t,numAsString:a}),c(this.getValueObject(t,a)))}},{key:"onChange",value:function(e){var t=e.target,n=t.value,r=this.state,o=this.props,a=o.isAllowed,i=r.value||"",c=_(t);n=this.correctInputValue(c,i,n);var u=this.formatInput(n)||"",s=this.removeFormatting(u);a(this.getValueObject(u,s))||(u=i),this.updateValue({formattedValue:u,numAsString:s,inputValue:n,input:t}),o.onChange(e)}},{key:"onBlur",value:function(e){var t=this.props,n=this.state,r=t.format,o=t.onBlur,a=t.allowLeadingZeros,i=n.numAsString,c=n.value;if(this.focusedElm=null,this.focusTimeout&&clearTimeout(this.focusTimeout),!r){isNaN(parseFloat(i))&&(i=""),a||(i=function(e){if(!e)return e;var t="-"===e[0];t&&(e=e.substring(1,e.length));var n=e.split("."),r=n[0].replace(/^0+/,"")||"0",o=n[1]||"";return"".concat(t?"-":"").concat(r).concat(o?".".concat(o):"")}(i));var u=this.formatNumString(i);if(u!==c)return this.updateValue({formattedValue:u,numAsString:i,input:e.target,setCaretPosition:!1}),void o(e)}o(e)}},{key:"onKeyDown",value:function(e){var t,n=e.target,r=e.key,o=n.selectionStart,a=n.selectionEnd,i=n.value,c=void 0===i?"":i,u=this.props,s=u.decimalScale,l=u.fixedDecimalScale,f=u.prefix,p=u.suffix,d=u.format,m=u.onKeyDown,h=void 0!==s&&l,g=this.getNumberRegex(!1,h),b=new RegExp("-"),v="string"==typeof d;if(this.selectionBeforeInput={selectionStart:o,selectionEnd:a},"ArrowLeft"===r||"Backspace"===r?t=o-1:"ArrowRight"===r?t=o+1:"Delete"===r&&(t=o),void 0!==t&&o===a){var y=t,O=v?d.indexOf("#"):f.length,j=v?d.lastIndexOf("#")+1:c.length-p.length;if("ArrowLeft"===r||"ArrowRight"===r){var w="ArrowLeft"===r?"left":"right";y=this.correctCaretPosition(c,t,w)}else if("Delete"!==r||g.test(c[t])||b.test(c[t])){if("Backspace"===r&&!g.test(c[t]))if(o<=O+1&&"-"===c[0]&&void 0===d){var E=c.substring(1);this.updateValue({formattedValue:E,caretPos:y,input:n})}else if(!b.test(c[t])){for(;!g.test(c[y-1])&&y>O;)y--;y=this.correctCaretPosition(c,y,"left")}}else for(;!g.test(c[y])&&y<j;)y++;(y!==t||t<O||t>j)&&(e.preventDefault(),this.setPatchedCaretPosition(n,y,c)),e.isUnitTestRun&&this.setPatchedCaretPosition(n,y,c),m(e)}else m(e)}},{key:"onMouseUp",value:function(e){var t=e.target,n=t.selectionStart,r=t.selectionEnd,o=t.value,a=void 0===o?"":o;if(n===r){var i=this.correctCaretPosition(a,n);i!==n&&this.setPatchedCaretPosition(t,i,a)}this.props.onMouseUp(e)}},{key:"onFocus",value:function(e){var t=this;e.persist(),this.focusedElm=e.target,this.focusTimeout=setTimeout((function(){var n=e.target,r=n.selectionStart,o=n.selectionEnd,a=n.value,i=void 0===a?"":a,c=t.correctCaretPosition(i,r);c===r||0===r&&o===i.length||t.setPatchedCaretPosition(n,c,i),t.props.onFocus(e)}),0)}},{key:"render",value:function(){var e,t,n,r=this.props,o=r.type,a=r.displayType,i=r.customInput,c=r.renderText,u=r.getInputRef,s=this.state.value,f=(e=this.props,t=x,n={},Object.keys(e).forEach((function(r){t[r]||(n[r]=e[r])})),n),d=p({inputMode:"numeric"},f,{type:o,value:s,onChange:this.onChange,onKeyDown:this.onKeyDown,onMouseUp:this.onMouseUp,onFocus:this.onFocus,onBlur:this.onBlur});if("text"===a)return c?c(s)||null:l.a.createElement("span",p({},f,{ref:u}),s);if(i){var m=i;return l.a.createElement(m,p({},d,{ref:u}))}return l.a.createElement("input",p({},d,{ref:u}))}}])&&f(n.prototype,r),o&&f(n,o),t}(l.a.Component);P.propTypes=x,P.defaultProps=R;var C=P,N=n(4),T=n.n(N);n(90);function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?A(Object(n),!0).forEach((function(t){i()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.a=function(e){var t=e.className,n=e.value,r=e.currency,a=e.onValueChange,i=u()(e,["className","value","currency","onValueChange"]);if("-"===n)return null;var c=n/Math.pow(10,r.minorUnit);if(!Number.isFinite(c))return null;var s=T()("wc-block-formatted-money-amount",t),l=I(I(I({displayType:"text"},i),function(e){return{thousandSeparator:e.thousandSeparator,decimalSeparator:e.decimalSeparator,decimalScale:e.minorUnit,fixedDecimalScale:!0,prefix:e.prefix,suffix:e.suffix,isNumericString:!0}}(r)),{},{value:void 0,currency:void 0,onValueChange:void 0}),f=a?function(e){var t=e.value*Math.pow(10,r.minorUnit);a(t)}:function(){};return React.createElement(C,o()({className:s},l,{value:c,onValueChange:f}))}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},function(e,t,n){var r=n(58);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t,n){var r=n(20),o=n(19);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?o(e):t}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(46);var o=n(51);function a(e){return function(e){if(Array.isArray(e))return Object(r.a)(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(o.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),o=n(37),a=n.n(o),i=function(e){var t=Object(r.useRef)();return a()(e,t.current)||(t.current=e),t.current}},function(e,t){!function(){e.exports=this.wp.blocks}()},,,function(e,t){!function(){e.exports=this.wp.a11y}()},function(e,t,n){"use strict";var r=n(32),o=n.n(r),a=n(33),i=n.n(a),c=n(19),u=n.n(c),s=n(34),l=n.n(s),f=n(35),p=n.n(f),d=n(21),m=n.n(d),h=n(6),g=n.n(h),b=(n(5),n(3)),v=n(1),y=n(8),O=function(e){var t=e.imageUrl,n=void 0===t?"".concat(y.A,"img/block-error.svg"):t,r=e.header,o=void 0===r?Object(v.__)("Oops!","woo-gutenberg-products-block"):r,a=e.text,i=void 0===a?Object(v.__)("There was an error loading the content.","woo-gutenberg-products-block"):a,c=e.errorMessage,u=e.errorMessagePrefix,s=void 0===u?Object(v.__)("Error:","woo-gutenberg-products-block"):u;return React.createElement("div",{className:"wc-block-error"},n&&React.createElement("img",{className:"wc-block-error__image",src:n,alt:""}),React.createElement("div",{className:"wc-block-error__content"},o&&React.createElement("p",{className:"wc-block-error__header"},o),i&&React.createElement("p",{className:"wc-block-error__text"},i),c&&React.createElement("p",{className:"wc-block-error__message"},s?s+" ":"",c)))};n(61);function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=m()(e);if(t){var o=m()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return p()(this,n)}}var w=function(e){l()(n,e);var t=j(n);function n(){var e;o()(this,n);for(var r=arguments.length,a=new Array(r),i=0;i<r;i++)a[i]=arguments[i];return e=t.call.apply(t,[this].concat(a)),g()(u()(e),"state",{errorMessage:"",hasError:!1}),e}return i()(n,[{key:"render",value:function(){var e=this.props,t=e.header,n=e.imageUrl,r=e.showErrorMessage,o=e.text,a=e.errorMessagePrefix,i=this.state,c=i.errorMessage;return i.hasError?React.createElement(O,{errorMessage:r?c:null,header:t,imageUrl:n,text:o,errorMessagePrefix:a}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return void 0!==e.statusText&&void 0!==e.status?{errorMessage:React.createElement(b.Fragment,null,React.createElement("strong",null,e.status),": ",e.statusText),hasError:!0}:{errorMessage:e.message,hasError:!0}}}]),n}(b.Component);w.defaultProps={showErrorMessage:!0};t.a=w},function(e,t){!function(){e.exports=this.ReactDOM}()},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,"a",(function(){return r}))},function(e,t){!function(){e.exports=this.wp.dom}()},function(e,t){!function(){e.exports=this.wp.autop}()},function(e,t){!function(){e.exports=this.wp.keycodes}()},,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(46);function o(e,t){if(e){if("string"==typeof e)return Object(r.a)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r.a)(e,t):void 0}}},function(e,t,n){var r=n(53);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(0),o=Object(r.createContext)("page"),a=function(){return Object(r.useContext)(o)};o.Provider},,,function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t,n){"use strict";var r=n(60);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(6),o=n.n(r),a=n(111),i=n(0);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var s=function(){var e=Object(a.b)(),t=e.notices,n=e.createNotice,r=e.removeNotice,o=e.createSnackbarNotice,c=e.setIsSuppressed,s=Object(i.useRef)(t);Object(i.useEffect)((function(){s.current=t}),[t]);var l=Object(i.useMemo)((function(){return{hasNoticesOfType:function(e){return s.current.some((function(t){return t.type===e}))},removeNotices:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;s.current.map((function(t){return null!==e&&t.status!==e||r(t.id),!0}))},removeNotice:r}}),[r]),f=Object(i.useMemo)((function(){return{addDefaultNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n("default",e,u({},t))},addErrorNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n("error",e,u({},t))},addWarningNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n("warning",e,u({},t))},addInfoNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n("info",e,u({},t))},addSuccessNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n("success",e,u({},t))},addSnackbarNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(e,t)}}}),[n,o]);return u(u(u({notices:t},l),f),{},{setIsSuppressed:c})}},,function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(11)),a=r(n(73)),i=n(3),c=r(i),u=r(n(100)),s=r(n(19)),l={arr:Array.isArray,obj:function(e){return"[object Object]"===Object.prototype.toString.call(e)},fun:function(e){return"function"==typeof e},str:function(e){return"string"==typeof e},num:function(e){return"number"==typeof e},und:function(e){return void 0===e},nul:function(e){return null===e},set:function(e){return e instanceof Set},map:function(e){return e instanceof Map},equ:function(e,t){if(typeof e!=typeof t)return!1;if(l.str(e)||l.num(e))return e===t;if(l.obj(e)&&l.obj(t)&&Object.keys(e).length+Object.keys(t).length===0)return!0;var n;for(n in e)if(!(n in t))return!1;for(n in t)if(e[n]!==t[n])return!1;return!l.und(n)||e===t}};function f(){var e=i.useState(!1)[1];return i.useCallback((function(){return e((function(e){return!e}))}),[])}function p(e,t){return l.und(e)||l.nul(e)?t:e}function d(e){return l.und(e)?[]:l.arr(e)?e:[e]}function m(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return l.fun(e)?e.apply(void 0,n):e}function h(e){var t=function(e){return e.to,e.from,e.config,e.onStart,e.onRest,e.onFrame,e.children,e.reset,e.reverse,e.force,e.immediate,e.delay,e.attach,e.destroyed,e.interpolateTo,e.ref,e.lazy,a(e,["to","from","config","onStart","onRest","onFrame","children","reset","reverse","force","immediate","delay","attach","destroyed","interpolateTo","ref","lazy"])}(e);if(l.und(t))return o({to:t},e);var n=Object.keys(e).reduce((function(n,r){var a;return l.und(t[r])?o({},n,((a={})[r]=e[r],a)):n}),{});return o({to:t},n)}var g,b,v=function(){function e(){this.payload=void 0,this.children=[]}var t=e.prototype;return t.getAnimatedValue=function(){return this.getValue()},t.getPayload=function(){return this.payload||this},t.attach=function(){},t.detach=function(){},t.getChildren=function(){return this.children},t.addChild=function(e){0===this.children.length&&this.attach(),this.children.push(e)},t.removeChild=function(e){var t=this.children.indexOf(e);this.children.splice(t,1),0===this.children.length&&this.detach()},e}(),y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).payload=[],t.attach=function(){return t.payload.forEach((function(e){return e instanceof v&&e.addChild(s(t))}))},t.detach=function(){return t.payload.forEach((function(e){return e instanceof v&&e.removeChild(s(t))}))},t}return u(t,e),t}(v),O=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).payload={},t.attach=function(){return Object.values(t.payload).forEach((function(e){return e instanceof v&&e.addChild(s(t))}))},t.detach=function(){return Object.values(t.payload).forEach((function(e){return e instanceof v&&e.removeChild(s(t))}))},t}u(t,e);var n=t.prototype;return n.getValue=function(e){void 0===e&&(e=!1);var t={};for(var n in this.payload){var r=this.payload[n];(!e||r instanceof v)&&(t[n]=r instanceof v?r[e?"getAnimatedValue":"getValue"]():r)}return t},n.getAnimatedValue=function(){return this.getValue(!0)},t}(v);function j(e,t){g={fn:e,transform:t}}function w(e){b=e}var E,k=function(e){return"undefined"!=typeof window?window.requestAnimationFrame(e):-1},S=function(e){"undefined"!=typeof window&&window.cancelAnimationFrame(e)};function _(e){E=e}var x,R=function(){return Date.now()};function P(e){x=e}var C,N,T=function(e){return e.current};function A(e){C=e}var I=Object.freeze({get applyAnimatedValues(){return g},injectApplyAnimatedValues:j,get colorNames(){return b},injectColorNames:w,get requestFrame(){return k},get cancelFrame(){return S},injectFrame:function(e,t){k=e,S=t},get interpolation(){return E},injectStringInterpolator:_,get now(){return R},injectNow:function(e){R=e},get defaultElement(){return x},injectDefaultElement:P,get animatedApi(){return T},injectAnimatedApi:function(e){T=e},get createAnimatedStyle(){return C},injectCreateAnimatedStyle:A,get manualFrameloop(){return N},injectManualFrameloop:function(e){N=e}}),F=function(e){function t(t,n){var r;return(r=e.call(this)||this).update=void 0,r.payload=t.style?o({},t,{style:C(t.style)}):t,r.update=n,r.attach(),r}return u(t,e),t}(O),D=!1,L=new Set,M=function e(){if(!D)return!1;var t=R(),n=L,r=Array.isArray(n),o=0;for(n=r?n:n[Symbol.iterator]();;){var a;if(r){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}for(var i=a,c=!1,u=0;u<i.configs.length;u++){for(var s=i.configs[u],l=void 0,f=void 0,p=0;p<s.animatedValues.length;p++){var d=s.animatedValues[p];if(!d.done){var m=s.fromValues[p],h=s.toValues[p],g=d.lastPosition,b=h instanceof v,y=Array.isArray(s.initialVelocity)?s.initialVelocity[p]:s.initialVelocity;if(b&&(h=h.getValue()),s.immediate)d.setValue(h),d.done=!0;else if("string"!=typeof m&&"string"!=typeof h){if(void 0!==s.duration)g=m+s.easing((t-d.startTime)/s.duration)*(h-m),l=t>=d.startTime+s.duration;else if(s.decay)g=m+y/(1-.998)*(1-Math.exp(-(1-.998)*(t-d.startTime))),(l=Math.abs(d.lastPosition-g)<.1)&&(h=g);else{f=void 0!==d.lastTime?d.lastTime:t,y=void 0!==d.lastVelocity?d.lastVelocity:s.initialVelocity,t>f+64&&(f=t);for(var O=Math.floor(t-f),j=0;j<O;++j){g+=1*(y+=1*((-s.tension*(g-h)+-s.friction*y)/s.mass)/1e3)/1e3}var w=!(!s.clamp||0===s.tension)&&(m<h?g>h:g<h),E=Math.abs(y)<=s.precision,S=0===s.tension||Math.abs(h-g)<=s.precision;l=w||E&&S,d.lastVelocity=y,d.lastTime=t}b&&!s.toValues[p].done&&(l=!1),l?(d.value!==h&&(g=h),d.done=!0):c=!0,d.setValue(g),d.lastPosition=g}else d.setValue(h),d.done=!0}}i.props.onFrame&&(i.values[s.name]=s.interpolation.getValue())}i.props.onFrame&&i.props.onFrame(i.values),c||(L.delete(i),i.stop(!0))}return L.size?N?N():k(e):D=!1,D};function V(e,t,n){if("function"==typeof e)return e;if(Array.isArray(e))return V({range:e,output:t,extrapolate:n});if(E&&"string"==typeof e.output[0])return E(e);var r=e,o=r.output,a=r.range||[0,1],i=r.extrapolateLeft||r.extrapolate||"extend",c=r.extrapolateRight||r.extrapolate||"extend",u=r.easing||function(e){return e};return function(e){var t=function(e,t){for(var n=1;n<t.length-1&&!(t[n]>=e);++n);return n-1}(e,a);return function(e,t,n,r,o,a,i,c,u){var s=u?u(e):e;if(s<t){if("identity"===i)return s;"clamp"===i&&(s=t)}if(s>n){if("identity"===c)return s;"clamp"===c&&(s=n)}if(r===o)return r;if(t===n)return e<=t?r:o;t===-1/0?s=-s:n===1/0?s-=t:s=(s-t)/(n-t);s=a(s),r===-1/0?s=-s:o===1/0?s+=r:s=s*(o-r)+r;return s}(e,a[t],a[t+1],o[t],o[t+1],u,i,c,r.map)}}var B=function(e){function t(n,r,o,a){var i;return(i=e.call(this)||this).calc=void 0,i.payload=n instanceof y&&!(n instanceof t)?n.getPayload():Array.isArray(n)?n:[n],i.calc=V(r,o,a),i}u(t,e);var n=t.prototype;return n.getValue=function(){return this.calc.apply(this,this.payload.map((function(e){return e.getValue()})))},n.updateConfig=function(e,t,n){this.calc=V(e,t,n)},n.interpolate=function(e,n,r){return new t(this,e,n,r)},t}(y);var z=function(e){function t(t){var n;return(n=e.call(this)||this).animatedStyles=new Set,n.value=void 0,n.startPosition=void 0,n.lastPosition=void 0,n.lastVelocity=void 0,n.startTime=void 0,n.lastTime=void 0,n.done=!1,n.setValue=function(e,t){void 0===t&&(t=!0),n.value=e,t&&n.flush()},n.value=t,n.startPosition=t,n.lastPosition=t,n}u(t,e);var n=t.prototype;return n.flush=function(){0===this.animatedStyles.size&&function e(t,n){"update"in t?n.add(t):t.getChildren().forEach((function(t){return e(t,n)}))}(this,this.animatedStyles),this.animatedStyles.forEach((function(e){return e.update()}))},n.clearStyles=function(){this.animatedStyles.clear()},n.getValue=function(){return this.value},n.interpolate=function(e,t,n){return new B(this,e,t,n)},t}(v),U=function(e){function t(t){var n;return(n=e.call(this)||this).payload=t.map((function(e){return new z(e)})),n}u(t,e);var n=t.prototype;return n.setValue=function(e,t){var n=this;void 0===t&&(t=!0),Array.isArray(e)?e.length===this.payload.length&&e.forEach((function(e,r){return n.payload[r].setValue(e,t)})):this.payload.forEach((function(n){return n.setValue(e,t)}))},n.getValue=function(){return this.payload.map((function(e){return e.getValue()}))},n.interpolate=function(e,t){return new B(this,e,t)},t}(y),q=0,H=function(){function e(){var e=this;this.id=void 0,this.idle=!0,this.hasChanged=!1,this.guid=0,this.local=0,this.props={},this.merged={},this.animations={},this.interpolations={},this.values={},this.configs=[],this.listeners=[],this.queue=[],this.localQueue=void 0,this.getValues=function(){return e.interpolations},this.id=q++}var t=e.prototype;return t.update=function(e){if(!e)return this;var t=h(e),n=t.delay,r=void 0===n?0:n,i=t.to,c=a(t,["delay","to"]);if(l.arr(i)||l.fun(i))this.queue.push(o({},c,{delay:r,to:i}));else if(i){var u={};Object.entries(i).forEach((function(e){var t,n=e[0],a=e[1],i=o({to:(t={},t[n]=a,t),delay:m(r,n)},c),s=u[i.delay]&&u[i.delay].to;u[i.delay]=o({},u[i.delay],i,{to:o({},s,i.to)})})),this.queue=Object.values(u)}return this.queue=this.queue.sort((function(e,t){return e.delay-t.delay})),this.diff(c),this},t.start=function(e){var t,n=this;if(this.queue.length){this.idle=!1,this.localQueue&&this.localQueue.forEach((function(e){var t=e.from,r=void 0===t?{}:t,a=e.to,i=void 0===a?{}:a;l.obj(r)&&(n.merged=o({},r,n.merged)),l.obj(i)&&(n.merged=o({},n.merged,i))}));var r=this.local=++this.guid,i=this.localQueue=this.queue;this.queue=[],i.forEach((function(t,o){var c=t.delay,u=a(t,["delay"]),s=function(t){o===i.length-1&&r===n.guid&&t&&(n.idle=!0,n.props.onRest&&n.props.onRest(n.merged)),e&&e()},f=l.arr(u.to)||l.fun(u.to);c?setTimeout((function(){r===n.guid&&(f?n.runAsync(u,s):n.diff(u).start(s))}),c):f?n.runAsync(u,s):n.diff(u).start(s)}))}else l.fun(e)&&this.listeners.push(e),this.props.onStart&&this.props.onStart(),t=this,L.has(t)||L.add(t),D||(D=!0,k(N||M));return this},t.stop=function(e){return this.listeners.forEach((function(t){return t(e)})),this.listeners=[],this},t.pause=function(e){var t;return this.stop(!0),e&&(t=this,L.has(t)&&L.delete(t)),this},t.runAsync=function(e,t){var n=this,r=(e.delay,a(e,["delay"])),i=this.local,c=Promise.resolve(void 0);if(l.arr(r.to))for(var u=function(e){var t=e,a=o({},r,h(r.to[t]));l.arr(a.config)&&(a.config=a.config[t]),c=c.then((function(){if(i===n.guid)return new Promise((function(e){return n.diff(a).start(e)}))}))},s=0;s<r.to.length;s++)u(s);else if(l.fun(r.to)){var f,p=0;c=c.then((function(){return r.to((function(e){var t=o({},r,h(e));if(l.arr(t.config)&&(t.config=t.config[p]),p++,i===n.guid)return f=new Promise((function(e){return n.diff(t).start(e)}))}),(function(e){return void 0===e&&(e=!0),n.stop(e)})).then((function(){return f}))}))}c.then(t)},t.diff=function(e){var t=this;this.props=o({},this.props,e);var n=this.props,r=n.from,a=void 0===r?{}:r,i=n.to,c=void 0===i?{}:i,u=n.config,s=void 0===u?{}:u,f=n.reverse,h=n.attach,g=n.reset,v=n.immediate;if(f){var y=[c,a];a=y[0],c=y[1]}this.merged=o({},a,this.merged,c),this.hasChanged=!1;var O=h&&h(this);if(this.animations=Object.entries(this.merged).reduce((function(e,n){var r=n[0],i=n[1],c=e[r]||{},u=l.num(i),f=l.str(i)&&!i.startsWith("#")&&!/\d/.test(i)&&!b[i],h=l.arr(i),y=!u&&!h&&!f,j=l.und(a[r])?i:a[r],w=u||h||f?i:1,k=m(s,r);O&&(w=O.animations[r].parent);var S,_=c.parent,x=c.interpolation,P=d(O?w.getPayload():w),C=i;y&&(C=E({range:[0,1],output:[i,i]})(1));var N,T=x&&x.getValue(),A=!l.und(_)&&c.animatedValues.some((function(e){return!e.done})),I=!l.equ(C,T),F=!l.equ(C,c.previous),D=!l.equ(k,c.config);if(g||F&&I||D){var L;if(u||f)_=x=c.parent||new z(j);else if(h)_=x=c.parent||new U(j);else if(y){var M=c.interpolation&&c.interpolation.calc(c.parent.value);M=void 0===M||g?j:M,c.parent?(_=c.parent).setValue(0,!1):_=new z(0);var V={output:[M,i]};c.interpolation?(x=c.interpolation,c.interpolation.updateConfig(V)):x=_.interpolate(V)}return P=d(O?w.getPayload():w),S=d(_.getPayload()),g&&!y&&_.setValue(j,!1),t.hasChanged=!0,S.forEach((function(e){e.startPosition=e.value,e.lastPosition=e.value,e.lastVelocity=A?e.lastVelocity:void 0,e.lastTime=A?e.lastTime:void 0,e.startTime=R(),e.done=!1,e.animatedStyles.clear()})),m(v,r)&&_.setValue(y?w:i,!1),o({},e,((L={})[r]=o({},c,{name:r,parent:_,interpolation:x,animatedValues:S,toValues:P,previous:C,config:k,fromValues:d(_.getValue()),immediate:m(v,r),initialVelocity:p(k.velocity,0),clamp:p(k.clamp,!1),precision:p(k.precision,.01),tension:p(k.tension,170),friction:p(k.friction,26),mass:p(k.mass,1),duration:k.duration,easing:p(k.easing,(function(e){return e})),decay:k.decay}),L))}return I?e:(y&&(_.setValue(1,!1),x.updateConfig({output:[C,C]})),_.done=!0,t.hasChanged=!0,o({},e,((N={})[r]=o({},e[r],{previous:C}),N)))}),this.animations),this.hasChanged)for(var j in this.configs=Object.values(this.animations),this.values={},this.interpolations={},this.animations)this.interpolations[j]=this.animations[j].interpolation,this.values[j]=this.animations[j].interpolation.getValue();return this},t.destroy=function(){this.stop(),this.props={},this.merged={},this.animations={},this.interpolations={},this.values={},this.configs=[],this.local=0},e}(),W=function(e,t){var n=i.useRef(!1),r=i.useRef(),o=l.fun(t),a=i.useMemo((function(){var n;return r.current&&(r.current.map((function(e){return e.destroy()})),r.current=void 0),[new Array(e).fill().map((function(e,r){var a=new H,i=o?m(t,r,a):t[r];return 0===r&&(n=i.ref),a.update(i),n||a.start(),a})),n]}),[e]),c=a[0],u=a[1];r.current=c;i.useImperativeHandle(u,(function(){return{start:function(){return Promise.all(r.current.map((function(e){return new Promise((function(t){return e.start(t)}))})))},stop:function(e){return r.current.forEach((function(t){return t.stop(e)}))},get controllers(){return r.current}}}));var s=i.useMemo((function(){return function(e){return r.current.map((function(t,n){t.update(o?m(e,n,t):e[n]),u||t.start()}))}}),[e]);i.useEffect((function(){n.current?o||s(t):u||r.current.forEach((function(e){return e.start()}))})),i.useEffect((function(){return n.current=!0,function(){return r.current.forEach((function(e){return e.destroy()}))}}),[]);var f=r.current.map((function(e){return e.getValues()}));return o?[f,s,function(e){return r.current.forEach((function(t){return t.pause(e)}))}]:f},K=0,Y=function(e,t){return("function"==typeof t?e.map(t):d(t)).map(String)},Q=function(e){var t=e.items,n=e.keys,r=void 0===n?function(e){return e}:n,i=a(e,["items","keys"]);return t=d(void 0!==t?t:null),o({items:t,keys:Y(t,r)},i)};function G(e,t){var n=function(){if(o){if(a>=r.length)return"break";i=r[a++]}else{if((a=r.next()).done)return"break";i=a.value}var n=i.key,c=function(e){return e.key!==n};(l.und(t)||t===n)&&(e.current.instances.delete(n),e.current.transitions=e.current.transitions.filter(c),e.current.deleted=e.current.deleted.filter(c))},r=e.current.deleted,o=Array.isArray(r),a=0;for(r=o?r:r[Symbol.iterator]();;){var i;if("break"===n())break}e.current.forceUpdate()}var $=function(e){function t(t){var n;return void 0===t&&(t={}),n=e.call(this)||this,!t.transform||t.transform instanceof v||(t=g.transform(t)),n.payload=t,n}return u(t,e),t}(O),Z={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},J="[-+]?\\d*\\.?\\d+";function X(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return"\\(\\s*("+t.join(")\\s*,\\s*(")+")\\s*\\)"}var ee=new RegExp("rgb"+X(J,J,J)),te=new RegExp("rgba"+X(J,J,J,J)),ne=new RegExp("hsl"+X(J,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%")),re=new RegExp("hsla"+X(J,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%",J)),oe=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,ae=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,ie=/^#([0-9a-fA-F]{6})$/,ce=/^#([0-9a-fA-F]{8})$/;function ue(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function se(e,t,n){var r=n<.5?n*(1+t):n+t-n*t,o=2*n-r,a=ue(o,r,e+1/3),i=ue(o,r,e),c=ue(o,r,e-1/3);return Math.round(255*a)<<24|Math.round(255*i)<<16|Math.round(255*c)<<8}function le(e){var t=parseInt(e,10);return t<0?0:t>255?255:t}function fe(e){return(parseFloat(e)%360+360)%360/360}function pe(e){var t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function de(e){var t=parseFloat(e);return t<0?0:t>100?1:t/100}function me(e){var t,n,r="number"==typeof(t=e)?t>>>0===t&&t>=0&&t<=4294967295?t:null:(n=ie.exec(t))?parseInt(n[1]+"ff",16)>>>0:Z.hasOwnProperty(t)?Z[t]:(n=ee.exec(t))?(le(n[1])<<24|le(n[2])<<16|le(n[3])<<8|255)>>>0:(n=te.exec(t))?(le(n[1])<<24|le(n[2])<<16|le(n[3])<<8|pe(n[4]))>>>0:(n=oe.exec(t))?parseInt(n[1]+n[1]+n[2]+n[2]+n[3]+n[3]+"ff",16)>>>0:(n=ce.exec(t))?parseInt(n[1],16)>>>0:(n=ae.exec(t))?parseInt(n[1]+n[1]+n[2]+n[2]+n[3]+n[3]+n[4]+n[4],16)>>>0:(n=ne.exec(t))?(255|se(fe(n[1]),de(n[2]),de(n[3])))>>>0:(n=re.exec(t))?(se(fe(n[1]),de(n[2]),de(n[3]))|pe(n[4]))>>>0:null;return null===r?e:"rgba("+((4278190080&(r=r||0))>>>24)+", "+((16711680&r)>>>16)+", "+((65280&r)>>>8)+", "+(255&r)/255+")"}var he=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,ge=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,be=new RegExp("("+Object.keys(Z).join("|")+")","g"),ve={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ye=["Webkit","Ms","Moz","O"];function Oe(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ve.hasOwnProperty(e)&&ve[e]?(""+t).trim():t+"px"}ve=Object.keys(ve).reduce((function(e,t){return ye.forEach((function(n){return e[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(n,t)]=e[t]})),e}),ve);var je={};A((function(e){return new $(e)})),P("div"),_((function(e){var t=e.output.map((function(e){return e.replace(ge,me)})).map((function(e){return e.replace(be,me)})),n=t[0].match(he).map((function(){return[]}));t.forEach((function(e){e.match(he).forEach((function(e,t){return n[t].push(+e)}))}));var r=t[0].match(he).map((function(t,r){return V(o({},e,{output:n[r]}))}));return function(e){var n=0;return t[0].replace(he,(function(){return r[n++](e)})).replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,(function(e,t,n,r,o){return"rgba("+Math.round(t)+", "+Math.round(n)+", "+Math.round(r)+", "+o+")"}))}})),w(Z),j((function(e,t){if(!e.nodeType||void 0===e.setAttribute)return!1;var n=t.style,r=t.children,o=t.scrollTop,i=t.scrollLeft,c=a(t,["style","children","scrollTop","scrollLeft"]),u="filter"===e.nodeName||e.parentNode&&"filter"===e.parentNode.nodeName;for(var s in void 0!==o&&(e.scrollTop=o),void 0!==i&&(e.scrollLeft=i),void 0!==r&&(e.textContent=r),n)if(n.hasOwnProperty(s)){var l=0===s.indexOf("--"),f=Oe(s,n[s],l);"float"===s&&(s="cssFloat"),l?e.style.setProperty(s,f):e.style[s]=f}for(var p in c){var d=u?p:je[p]||(je[p]=p.replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()})));void 0!==e.getAttribute(d)&&e.setAttribute(d,c[p])}}),(function(e){return e}));var we,Ee,ke=(we=function(e){return i.forwardRef((function(t,n){var r=f(),u=i.useRef(!0),s=i.useRef(null),p=i.useRef(null),d=i.useCallback((function(e){var t=s.current;s.current=new F(e,(function(){var e=!1;p.current&&(e=g.fn(p.current,s.current.getAnimatedValue())),p.current&&!1!==e||r()})),t&&t.detach()}),[]);i.useEffect((function(){return function(){u.current=!1,s.current&&s.current.detach()}}),[]),i.useImperativeHandle(n,(function(){return T(p,u,r)})),d(t);var m,h=s.current.getValue(),b=(h.scrollTop,h.scrollLeft,a(h,["scrollTop","scrollLeft"])),v=(m=e,!l.fun(m)||m.prototype instanceof c.Component?function(e){return p.current=function(e,t){return t&&(l.fun(t)?t(e):l.obj(t)&&(t.current=e)),e}(e,n)}:void 0);return c.createElement(e,o({},b,{ref:v}))}))},void 0===(Ee=!1)&&(Ee=!0),function(e){return(l.arr(e)?e:Object.keys(e)).reduce((function(e,t){var n=Ee?t[0].toLowerCase()+t.substring(1):t;return e[n]=we(n),e}),we)}),Se=ke(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]);t.apply=ke,t.config={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},t.update=M,t.animated=Se,t.a=Se,t.interpolate=function(e,t,n){return e&&new B(e,t,n)},t.Globals=I,t.useSpring=function(e){var t=l.fun(e),n=W(1,t?e:[e]),r=n[0],o=n[1],a=n[2];return t?[r[0],o,a]:r},t.useTrail=function(e,t){var n=i.useRef(!1),r=l.fun(t),a=m(t),c=i.useRef(),u=W(e,(function(e,t){return 0===e&&(c.current=[]),c.current.push(t),o({},a,{config:m(a.config,e),attach:e>0&&function(){return c.current[e-1]}})})),s=u[0],f=u[1],p=u[2],d=i.useMemo((function(){return function(e){return f((function(t,n){e.reverse;var r=e.reverse?t+1:t-1,i=c.current[r];return o({},e,{config:m(e.config||a.config,t),attach:i&&function(){return i}})}))}}),[e,a.reverse]);return i.useEffect((function(){n.current&&!r&&d(t)})),i.useEffect((function(){n.current=!0}),[]),r?[s,d,p]:s},t.useTransition=function(e,t,n){var r=o({items:e,keys:t||function(e){return e}},n),c=Q(r),u=c.lazy,s=void 0!==u&&u,l=(c.unique,c.reset),p=void 0!==l&&l,d=(c.enter,c.leave,c.update,c.onDestroyed),h=(c.keys,c.items,c.onFrame),g=c.onRest,b=c.onStart,v=c.ref,y=a(c,["lazy","unique","reset","enter","leave","update","onDestroyed","keys","items","onFrame","onRest","onStart","ref"]),O=f(),j=i.useRef(!1),w=i.useRef({mounted:!1,first:!0,deleted:[],current:{},transitions:[],prevProps:{},paused:!!r.ref,instances:!j.current&&new Map,forceUpdate:O});return i.useImperativeHandle(r.ref,(function(){return{start:function(){return Promise.all(Array.from(w.current.instances).map((function(e){var t=e[1];return new Promise((function(e){return t.start(e)}))})))},stop:function(e){return Array.from(w.current.instances).forEach((function(t){return t[1].stop(e)}))},get controllers(){return Array.from(w.current.instances).map((function(e){return e[1]}))}}})),w.current=function(e,t){var n=e.first,r=e.prevProps,i=a(e,["first","prevProps"]),c=Q(t),u=c.items,s=c.keys,l=c.initial,f=c.from,p=c.enter,d=c.leave,h=c.update,g=c.trail,b=void 0===g?0:g,v=c.unique,y=c.config,O=c.order,j=void 0===O?["enter","leave","update"]:O,w=Q(r),E=w.keys,k=w.items,S=o({},i.current),_=[].concat(i.deleted),x=Object.keys(S),R=new Set(x),P=new Set(s),C=s.filter((function(e){return!R.has(e)})),N=i.transitions.filter((function(e){return!e.destroyed&&!P.has(e.originalKey)})).map((function(e){return e.originalKey})),T=s.filter((function(e){return R.has(e)})),A=-b;for(;j.length;){switch(j.shift()){case"enter":C.forEach((function(e,t){v&&_.find((function(t){return t.originalKey===e}))&&(_=_.filter((function(t){return t.originalKey!==e})));var r=s.indexOf(e),o=u[r],a=n&&void 0!==l?"initial":"enter";S[e]={slot:a,originalKey:e,key:v?String(e):K++,item:o,trail:A+=b,config:m(y,o,a),from:m(n&&void 0!==l?l||{}:f,o),to:m(p,o)}}));break;case"leave":N.forEach((function(e){var t=E.indexOf(e),n=k[t];_.unshift(o({},S[e],{slot:"leave",destroyed:!0,left:E[Math.max(0,t-1)],right:E[Math.min(E.length,t+1)],trail:A+=b,config:m(y,n,"leave"),to:m(d,n)})),delete S[e]}));break;case"update":T.forEach((function(e){var t=s.indexOf(e),n=u[t];S[e]=o({},S[e],{item:n,slot:"update",trail:A+=b,config:m(y,n,"update"),to:m(h,n)})}))}}var I=s.map((function(e){return S[e]}));return _.forEach((function(e){var t,n=e.left,r=(e.right,a(e,["left","right"]));-1!==(t=I.findIndex((function(e){return e.originalKey===n})))&&(t+=1),t=Math.max(0,t),I=[].concat(I.slice(0,t),[r],I.slice(t))})),o({},i,{changed:C.length||N.length||T.length,first:n&&0===C.length,transitions:I,current:S,deleted:_,prevProps:t})}(w.current,r),w.current.changed&&w.current.transitions.forEach((function(e){var t=e.slot,n=e.from,r=e.to,a=e.config,i=e.trail,c=e.key,u=e.item;w.current.instances.has(c)||w.current.instances.set(c,new H);var l=w.current.instances.get(c),f=o({},y,{to:r,from:n,config:a,ref:v,onRest:function(n){w.current.mounted&&(e.destroyed&&(v||s||G(w,c),d&&d(u)),!Array.from(w.current.instances).some((function(e){return!e[1].idle}))&&(v||s)&&w.current.deleted.length>0&&G(w),g&&g(u,t,n))},onStart:b&&function(){return b(u,t)},onFrame:h&&function(e){return h(u,t,e)},delay:i,reset:p&&"enter"===t});l.update(f),w.current.paused||l.start()})),i.useEffect((function(){return w.current.mounted=j.current=!0,function(){w.current.mounted=j.current=!1,Array.from(w.current.instances).map((function(e){return e[1].destroy()})),w.current.instances.clear()}}),[]),w.current.transitions.map((function(e){var t=e.item,n=e.slot,r=e.key;return{item:t,key:r,state:n,props:w.current.instances.get(r).getValues()}}))},t.useChain=function(e,t,n){void 0===n&&(n=1e3);var r=i.useRef();i.useEffect((function(){l.equ(e,r.current)?e.forEach((function(e){var t=e.current;return t&&t.start()})):t?e.forEach((function(e,r){var a=e.current;if(a){var i=a.controllers;if(i.length){var c=n*t[r];i.forEach((function(e){e.queue=e.queue.map((function(e){return o({},e,{delay:e.delay+c})})),e.start()}))}}})):e.reduce((function(e,t,n){var r=t.current;return e.then((function(){return r.start()}))}),Promise.resolve()),r.current=e}))},t.useSprings=W},function(e,t){!function(){e.exports=this.wp.wordcount}()},function(e,t,n){"use strict";var r=n(11),o=n.n(r),a=n(14),i=n.n(a),c=n(88),u=n(4),s=n.n(u),l=function(e){var t=e.className,n=e.size,r=i()(e,["className","size"]),a=s()("dashicon","dashicons-arrow-down-alt2",t);return React.createElement(c.a,o()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:a,width:n,height:n},r),React.createElement("path",{d:"M5 6l5 5 5-5 2 1-7 7-7-7z"}))},f=function(e){var t=e.className,n=e.size,r=i()(e,["className","size"]),a=s()("dashicon","dashicons-arrow-down-alt2",t);return React.createElement(c.a,o()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:a,width:n,height:n},r),React.createElement("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"}))},p=n(0);t.a=({icon:e,size:t=20,className:n,...r})=>{let o=()=>null;switch(e){case"arrow-down-alt2":o=l;break;case"no-alt":o=f}return Object(p.createElement)(o,{size:t,className:n,...r})}},,,function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(r=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}},function(e,t,n){"use strict";var r=n(26),o=n(9),a=n(29),i=n(0),c=n(67),u=n(88);t.a=function(e){var t=e.icon,n=void 0===t?null:t,s=e.size,l=Object(a.a)(e,["icon","size"]),f=s||20;if("string"==typeof n)return Object(i.createElement)(c.a,Object(o.a)({icon:n,size:f},l));if(n&&c.a===n.type)return Object(i.cloneElement)(n,Object(r.a)({size:f},l));var p=s||24;if("function"==typeof n)return n.prototype instanceof i.Component?Object(i.createElement)(n,Object(r.a)({size:p},l)):n(Object(r.a)({size:p},l));if(n&&("svg"===n.type||n.type===u.a)){var d=Object(r.a)({width:p,height:p},n.props,l);return Object(i.createElement)(u.a,d)}return Object(i.isValidElement)(n)?Object(i.cloneElement)(n,Object(r.a)({size:p},l)):n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(15),o=n(12),a=n(109),i=n(16),c=n(7),u={cartCoupons:[],cartItems:[],cartItemsCount:0,cartItemsWeight:0,cartNeedsPayment:!0,cartNeedsShipping:!0,cartItemErrors:[],cartTotals:{},cartIsLoading:!0,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:[],shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:function(){}},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{shouldSelect:!0},t=Object(a.a)(),n=t.isEditor,s=t.previewData,l=(null==s?void 0:s.previewCart)||{},f=e.shouldSelect,p=Object(o.useSelect)((function(e,t){var o=t.dispatch;if(!f)return u;if(n)return{cartCoupons:l.coupons,cartItems:l.items,cartItemsCount:l.items_count,cartItemsWeight:l.items_weight,cartNeedsPayment:l.needs_payment,cartNeedsShipping:l.needs_shipping,cartItemErrors:[],cartTotals:l.totals,cartIsLoading:!1,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:l.shipping_rates,shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:"function"==typeof(null==l?void 0:l.receiveCart)?l.receiveCart:function(){}};var a=e(r.CART_STORE_KEY),s=a.getCartData(),p=a.getCartErrors(),d=a.getCartTotals(),m=!a.hasFinishedResolution("getCartData"),h=a.areShippingRatesLoading(),g=o(r.CART_STORE_KEY).receiveCart,b=Object(c.mapValues)(s.shippingAddress,(function(e){return Object(i.decodeEntities)(e)}));return{cartCoupons:s.coupons,cartItems:s.items,cartItemsCount:s.itemsCount,cartItemsWeight:s.itemsWeight,cartNeedsPayment:s.needsPayment,cartNeedsShipping:s.needsShipping,cartItemErrors:s.errors,cartTotals:d,cartIsLoading:m,cartErrors:p,shippingAddress:b,shippingRates:s.shippingRates,shippingRatesLoading:h,hasShippingAddress:!!b.country,receiveCart:g}}),[f]);return p}},,function(e,t,n){"use strict";var r=n(26),o=n(29),a=n(4),i=n.n(a),c=n(0);t.a=Object(c.forwardRef)((function(e,t){var n=e.href,a=e.target,u=e.isPrimary,s=e.isLarge,l=e.isSmall,f=e.isTertiary,p=e.isToggled,d=e.isBusy,m=e.isDefault,h=e.isLink,g=e.isDestructive,b=e.className,v=e.disabled,y=Object(o.a)(e,["href","target","isPrimary","isLarge","isSmall","isTertiary","isToggled","isBusy","isDefault","isLink","isDestructive","className","disabled"]),O=i()("components-button",b,{"is-button":m||u||s||l,"is-default":m||!u&&(s||l),"is-primary":u,"is-large":s,"is-small":l,"is-tertiary":f,"is-toggled":p,"is-busy":d,"is-link":h,"is-destructive":g}),j=void 0===n||v?"button":"a",w="a"===j?{href:n,target:a}:{type:"button",disabled:v};return Object(c.createElement)(j,Object(r.a)({},w,y,{className:O,ref:t}))}))},function(e,t){!function(){e.exports=this.wc.wcBlocksRegistry}()},,,function(e,t){!function(){e.exports=this.wp.deprecated}()},,function(e,t,n){"use strict";var r=n(0),o=n(66),a=n(48),i=function(e){var t=e.indexOf("</p>");return-1===t?e:e.substr(0,t+4)},c=function(e){return e.replace(/<\/?[a-z][^>]*?>/gi,"")},u=function(e,t){return e.replace(/[\s|\.\,]+$/i,"")+t},s=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"&hellip;",r=c(e),o=r.split(" ").splice(0,t).join(" ");return Object(a.autop)(u(o,n))},l=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"&hellip;",o=c(e),i=o.slice(0,t);if(n)return Object(a.autop)(u(i,r));var s=i.match(/([\s]+)/g),l=s?s.length:0,f=o.slice(0,t+l);return Object(a.autop)(u(f,r))};t.a=function(e){var t=e.source,n=e.maxLength,c=void 0===n?15:n,u=e.countType,f=void 0===u?"words":u,p=e.className,d=void 0===p?"":p,m=Object(r.useMemo)((function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"words",r=Object(a.autop)(e),c=Object(o.count)(r,n);if(c<=t)return r;var u=i(r),f=Object(o.count)(u,n);return f<=t?u:"words"===n?s(u,t):l(u,t,"characters_including_spaces"===n)}(t,c,f)}),[t,c,f]);return React.createElement(r.RawHTML,{className:d},m)}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(10),o=n.n(r),a=n(0),i=function(){var e=Object(a.useState)(),t=o()(e,2)[1];return function(e){return t((function(){throw e}))}}},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(26),o=n(7),a=n(0),i=function(e){var t=Object(r.a)({},e,{role:"img","aria-hidden":"true",focusable:"false"});return Object(a.createElement)("svg",Object(o.omit)(t,"__unstableActive"))}},,function(e,t){},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return p})),n.d(t,"c",(function(){return d}));var r=n(10),o=n.n(r),a=n(15),i=n(12),c=n(0),u=n(55),s=n(7),l=n(38),f=function(e){var t=Object(u.a)();e=e||t;var n=Object(i.useSelect)((function(t){return t(a.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),r=Object(i.useDispatch)(a.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[n,Object(c.useCallback)((function(t){r(e,t)}),[e])]},p=function(e,t,n){var r=Object(u.a)();n=n||r;var o=Object(i.useSelect)((function(r){return r(a.QUERY_STATE_STORE_KEY).getValueForQueryKey(n,e,t)}),[n,e]),s=Object(i.useDispatch)(a.QUERY_STATE_STORE_KEY).setQueryValue;return[o,Object(c.useCallback)((function(t){s(n,e,t)}),[n,e])]},d=function(e,t){var n=Object(u.a)(),r=f(t=t||n),a=o()(r,2),i=a[0],p=a[1],d=Object(l.a)(e),m=Object(c.useRef)(!1);return Object(c.useEffect)((function(){p(Object(s.assign)({},i,d)),m.current=!0}),[d]),m.current?[i,p]:[e,p]}},function(e,t,n){"use strict";var r=n(9),o=n(0),a=n(7);var i=function(e,t){return function(n){var r=e(n),o=n.displayName,i=void 0===o?n.name||"Component":o;return r.displayName="".concat(Object(a.upperFirst)(Object(a.camelCase)(t)),"(").concat(i,")"),r}},c=new WeakMap;function u(e){return Object(o.useMemo)((function(){return function(e){var t=c.get(e)||0;return c.set(e,t+1),t}(e)}),[e])}t.a=i((function(e){return function(t){var n=u(e);return Object(o.createElement)(e,Object(r.a)({},t,{instanceId:n}))}}),"withInstanceId")},,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(11),o=n.n(r),a=n(6),i=n.n(a),c=n(44),u=n(43);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){i()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=function(e){var t=e.Block,n=e.selector,r=e.getProps,a=void 0===r?function(){}:r,i=e.getErrorBoundaryProps,s=void 0===i?function(){}:i,f=document.querySelectorAll(n);f.length&&Array.prototype.forEach.call(f,(function(e,n){var r=a(e,n),i=s(e,n),f=l(l({},e.dataset),r.attributes);e.classList.remove("is-loading"),Object(c.render)(React.createElement(u.a,i,React.createElement(t,o()({},r,{attributes:f}))),e)}))}},function(e,t){},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(15),o=n(12),a=n(0),i=n(85),c=n(38),u=function(e){var t=e.namespace,n=e.resourceName,u=e.resourceValues,s=void 0===u?[]:u,l=e.query,f=void 0===l?{}:l,p=e.shouldSelect,d=void 0===p||p;if(!t||!n)throw new Error("The options object must have valid values for the namespace and the resource properties.");var m=Object(a.useRef)({results:[],isLoading:!0}),h=Object(c.a)(f),g=Object(c.a)(s),b=Object(i.a)(),v=Object(o.useSelect)((function(e){if(!d)return null;var o=e(r.COLLECTIONS_STORE_KEY),a=[t,n,h,g],i=o.getCollectionError.apply(o,a);return i&&b(i),{results:o.getCollection.apply(o,a),isLoading:!o.hasFinishedResolution("getCollection",a)}}),[t,n,g,h,d]);return null!==v&&(m.current=v),m.current}},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(0),o=(n(12),Object(r.createContext)({isEditor:!1,currentPostId:0,previewData:{}})),a=function(){return Object(r.useContext)(o)}},,function(e,t,n){"use strict";n.d(t,"b",(function(){return F})),n.d(t,"a",(function(){return D}));var r=n(6),o=n.n(r),a=n(10),i=n.n(a),c=(n(5),n(0)),u=n(12),s=n(11),l=n.n(s),f=n(4),p=n.n(f),d=n(168),m=(n(99),function(e){var t=e.status;switch(void 0===t?"default":t){case"error":return"woocommerce-error";case"success":return"woocommerce-success";case"info":case"warning":return"woocommerce-info"}return""}),h=function(e){var t=e.className,n=e.notices,r=F().removeNotice,o=p()(t,"wc-block-components-notices"),a=n.filter((function(e){return"snackbar"!==e.type}));return a.length?React.createElement("div",{className:o},a.map((function(e){return React.createElement(d.a,l()({key:"store-notice-"+e.id},e,{className:p()("wc-block-components-notices__notice","woocommerce-message",m(e)),onRemove:function(){e.isDismissible&&r(e.id)}}),e.content)}))):null},g=n(9),b=n(22),v=n.n(b);function y(e,t,n,r,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void n(e)}c.done?t(u):Promise.resolve(u).then(r,o)}function O(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function i(e){y(a,r,o,i,c,"next",e)}function c(e){y(a,r,o,i,c,"throw",e)}i(void 0)}))}}var j=n(27),w=n(7),E=n(65),k=n(25),S=n(1),_=n(77);var x=Object(c.forwardRef)((function(e,t){var n=e.className,r=e.children,o=e.actions,a=void 0===o?[]:o,i=e.onRemove,u=void 0===i?w.noop:i;Object(c.useEffect)((function(){var e=setTimeout((function(){u()}),1e4);return function(){return clearTimeout(e)}}),[]);var s=p()(n,"components-snackbar");return a&&a.length>1&&(console.warn("Snackbar can only have 1 action, use Notice if your message require many messages"),a=[a[0]]),Object(c.createElement)("div",{ref:t,className:s,onClick:u,tabIndex:"0",role:"button",onKeyPress:u,label:Object(S.__)("Dismiss this notice")},Object(c.createElement)("div",{className:"components-snackbar__content"},r,a.map((function(e,t){var n=e.label,r=e.onClick,o=e.url;return Object(c.createElement)(_.a,{key:t,href:o,isTertiary:!0,onClick:function(e){e.stopPropagation(),r&&r(e)},className:"components-snackbar__action"},n)}))))}));var R=function(e){var t=e.notices,n=e.className,r=e.children,o=e.onRemove,a=void 0===o?w.noop:o,i=Object(k.useReducedMotion)(),u=Object(c.useState)((function(){return new WeakMap})),s=Object(j.a)(u,1)[0],l=Object(E.useTransition)(t,(function(e){return e.id}),{from:{opacity:0,height:0},enter:function(e){return function(){var t=O(v.a.mark((function t(n){return v.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n({opacity:1,height:s.get(e).offsetHeight});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},leave:function(){return function(){var e=O(v.a.mark((function e(t){return v.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({opacity:0});case 2:return e.next=4,t({height:0});case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},immediate:i});n=p()("components-snackbar-list",n);var f=function(e){return function(){return a(e.id)}};return Object(c.createElement)("div",{className:n},r,l.map((function(e){var t=e.item,n=e.key,r=e.props;return Object(c.createElement)(E.animated.div,{key:n,style:r},Object(c.createElement)("div",{className:"components-snackbar-list__notice-container",ref:function(e){return e&&s.set(t,e)}},Object(c.createElement)(x,Object(g.a)({},Object(w.omit)(t,["content"]),{onRemove:f(t)}),t.content)))})))},P=n(63),C=n(109),N=function(){var e=Object(C.a)().isEditor,t=Object(P.a)(),n=t.notices,r=t.removeNotice,o=n.filter((function(e){return"snackbar"===e.type}));return e?null:React.createElement(R,{notices:o,className:"wc-block-notices__snackbar",onRemove:r})};function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var I=Object(c.createContext)({notices:[],createNotice:function(e,t,n){},createSnackbarNotice:function(e,t){},removeNotice:function(e,t){},setIsSuppressed:function(e){},context:"wc/core"}),F=function(){return Object(c.useContext)(I)},D=function(e){var t=e.children,n=e.className,r=void 0===n?"":n,o=e.createNoticeContainer,a=void 0===o||o,s=e.context,l=void 0===s?"wc/core":s,f=Object(u.useDispatch)("core/notices"),p=f.createNotice,d=f.removeNotice,m=Object(c.useState)(!1),g=i()(m,2),b=g[0],v=g[1],y=Object(c.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p(e,t,A(A({},n),{},{context:n.context||l}))}),[p,l]),O=Object(c.useCallback)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l;d(e,t)}),[d,l]),j=Object(c.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};y("default",e,A(A({},t),{},{type:"snackbar"}))}),[y]),w={notices:Object(u.useSelect)((function(e){return{notices:e("core/notices").getNotices(l)}}),[l]).notices,createNotice:y,createSnackbarNotice:j,removeNotice:O,context:l,setIsSuppressed:v},E=b?null:React.createElement(h,{className:r,notices:w.notices}),k=b?null:React.createElement(N,null);return React.createElement(I.Provider,{value:w},a&&E,t,k)}},,,,,,,function(e,t,n){"use strict";n.d(t,"c",(function(){return d})),n.d(t,"b",(function(){return m})),n.d(t,"a",(function(){return h}));var r=n(6),o=n.n(r),a=n(20),i=n.n(a),c=n(2);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var l,f,p={code:c.CURRENCY.code,symbol:c.CURRENCY.symbol,thousandSeparator:c.CURRENCY.thousandSeparator,decimalSeparator:c.CURRENCY.decimalSeparator,minorUnit:c.CURRENCY.precision,prefix:(l=c.CURRENCY.symbol,f=c.CURRENCY.symbolPosition,{left:l,left_space:" "+l,right:"",right_space:""}[f]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(c.CURRENCY.symbol,c.CURRENCY.symbolPosition)},d=function(e){if(!e||"object"!==i()(e))return p;var t=e.currency_code,n=e.currency_symbol,r=e.currency_thousand_separator,o=e.currency_decimal_separator,a=e.currency_minor_unit,c=e.currency_prefix,u=e.currency_suffix;return{code:t||"USD",symbol:n||"$",thousandSeparator:"string"==typeof r?r:",",decimalSeparator:"string"==typeof o?o:".",minorUnit:Number.isFinite(a)?a:2,prefix:"string"==typeof c?c:"$",suffix:"string"==typeof u?u:""}},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(s({},p),e)},h=function(e,t){if(""===e||void 0===e)return"";var n=parseInt(e,10);if(!Number.isFinite(n))return"";var r=m(t),o=n/Math.pow(10,r.minorUnit),a=r.prefix+o+r.suffix,i=document.createElement("textarea");return i.innerHTML=a,i.value}},function(e,t,n){"use strict";var r=n(0),o=n(2),a=n(15),i=n(12);t.a=function(e){return function(t){var n;return n=Object(r.useRef)(Object(o.getSetting)("restApiRoutes")),Object(i.useSelect)((function(e,t){if(n.current){var r=e(a.SCHEMA_STORE_KEY),o=r.isResolving,i=r.hasFinishedResolution,c=t.dispatch(a.SCHEMA_STORE_KEY),u=c.receiveRoutes,s=c.startResolution,l=c.finishResolution;Object.keys(n.current).forEach((function(e){var t=n.current[e];o("getRoutes",[e])||i("getRoutes",[e])||(s("getRoutes",[e]),u(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},,,,,function(e,t,n){"use strict";n(5);var r=n(4),o=n.n(r),a=n(28),i=n(94);n(137);t.a=Object(i.a)((function(e){var t=e.className,n=e.instanceId,r=e.defaultValue,i=e.label,c=e.onChange,u=e.options,s=e.screenReaderLabel,l=e.readOnly,f=e.value,p="wc-block-sort-select__select-".concat(n);return React.createElement("div",{className:o()("wc-block-sort-select",t)},React.createElement(a.a,{label:i,screenReaderLabel:s,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:p}}),React.createElement("select",{id:p,className:"wc-block-sort-select__select",defaultValue:r,onChange:c,readOnly:l,value:f},u.map((function(e){return React.createElement("option",{key:e.key,value:e.key},e.label)}))))}))},,function(e,t,n){"use strict";var r=n(11),o=n.n(r),a=n(32),i=n.n(a),c=n(33),u=n.n(c),s=n(19),l=n.n(s),f=n(34),p=n.n(f),d=n(35),m=n.n(d),h=n(21),g=n.n(h),b=n(6),v=n.n(b),y=n(3);n(148);function O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g()(e);if(t){var o=g()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return m()(this,n)}}t.a=function(e){var t=function(t){p()(r,t);var n=O(r);function r(){var e;return i()(this,r),e=n.call(this),v()(l()(e),"scrollToTopIfNeeded",(function(){var t=e.scrollPointRef.current.getBoundingClientRect().bottom;t>=0&&t<=window.innerHeight||e.scrollPointRef.current.scrollIntoView()})),v()(l()(e),"moveFocusToTop",(function(t){var n=e.scrollPointRef.current.parentElement.querySelectorAll(t);n.length&&n[0].focus()})),v()(l()(e),"scrollToTop",(function(t){window&&Number.isFinite(window.innerHeight)&&(e.scrollToTopIfNeeded(),t&&t.focusableSelector&&e.moveFocusToTop(t.focusableSelector))})),e.scrollPointRef=Object(y.createRef)(),e}return u()(r,[{key:"render",value:function(){return React.createElement(y.Fragment,null,React.createElement("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),React.createElement(e,o()({},this.props,{scrollToTop:this.scrollToTop})))}}]),r}(y.Component);return t.displayName="withScrollToTop",t}},,,,,,,,,,,function(e,t){},function(e,t,n){"use strict";var r=n(6),o=n.n(r),a=n(14),i=n.n(a),c=n(3);n(5);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.a=function(e){var t=e.srcElement,n=e.size,r=void 0===n?24:n,a=i()(e,["srcElement","size"]);return Object(c.isValidElement)(t)&&Object(c.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({width:r,height:r},a))}},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e,t){var n=[];return Object.keys(e).forEach((function(r){if(void 0!==t[r])switch(e[r].type){case"boolean":n[r]="false"!==t[r];break;case"number":n[r]=parseInt(t[r],10);break;case"array":case"object":n[r]=JSON.parse(t[r]);break;default:n[r]=t[r]}else n[r]=e[r].default})),n}},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var r=n(0),o=n(7),a=n(4),i=n.n(a),c=n(1),u=n(77),s=n(9),l=n(29);function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e}var m=n(62),h=n(13);function g(e,t){return!t||"object"!==Object(m.a)(t)&&"function"!=typeof t?Object(h.a)(e):t}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}var O=n(27),j=n(47),w=n(49),E=n(81),k=n.n(E),S=n(25),_=n(26),x=function(){return"rtl"===document.documentElement.dir};function R(e,t,n,r){var o=t.width;"left"===n&&x()?n="right":"right"===n&&x()&&(n="left");var a,i=Math.round(e.left+e.width/2),c={popoverLeft:i,contentWidth:(i-o/2>0?o/2:i)+(i+o/2>window.innerWidth?window.innerWidth-i:o/2)},u="middle"===r?e.left:i,s={popoverLeft:u,contentWidth:u-o>0?o:u},l="middle"===r?e.right:i,f={popoverLeft:l,contentWidth:l+o>window.innerWidth?window.innerWidth-l:o},p=null;if("center"===n&&c.contentWidth===o)a="center";else if("left"===n&&s.contentWidth===o)a="left";else if("right"===n&&f.contentWidth===o)a="right";else{var d="left"===(a=s.contentWidth>f.contentWidth?"left":"right")?s.contentWidth:f.contentWidth;p=d!==o?d:null}return{xAxis:a,popoverLeft:"center"===a?c.popoverLeft:"left"===a?s.popoverLeft:f.popoverLeft,contentWidth:p}}function P(e,t,n){var r,o=t.height,a=e.top+e.height/2,i={popoverTop:a,contentHeight:(a-o/2>0?o/2:a)+(a+o/2>window.innerHeight?window.innerHeight-a:o/2)},c={popoverTop:e.top,contentHeight:e.top-10-o>0?o:e.top-10},u={popoverTop:e.bottom,contentHeight:e.bottom+10+o>window.innerHeight?window.innerHeight-10-e.bottom:o},s=null;if("middle"===n&&i.contentHeight===o)r="middle";else if("top"===n&&c.contentHeight===o)r="top";else if("bottom"===n&&u.contentHeight===o)r="bottom";else{var l="top"===(r=c.contentHeight>u.contentHeight?"top":"bottom")?c.contentHeight:u.contentHeight;s=l!==o?l:null}return{yAxis:r,popoverTop:"middle"===r?i.popoverTop:"top"===r?c.popoverTop:u.popoverTop,contentHeight:s}}var C=n(36),N=Object(r.createContext)({focusHistory:[]}),T=N.Provider,A=N.Consumer;T.displayName="FocusReturnProvider",A.displayName="FocusReturnConsumer";r.Component;var I=Object(S.createHigherOrderComponent)((function e(t){if((a=t)instanceof r.Component||"function"==typeof a){var n=t;return e({})(n)}var a,i=t.onFocusReturn,c=void 0===i?o.stubTrue:i;return function(e){var t=function(t){function n(){var e;return f(this,n),(e=g(this,b(n).apply(this,arguments))).ownFocusedElements=new Set,e.activeElementOnMount=document.activeElement,e.setIsFocusedFalse=function(){return e.isFocused=!1},e.setIsFocusedTrue=function(t){e.ownFocusedElements.add(t.target),e.isFocused=!0},e}return y(n,t),d(n,[{key:"componentWillUnmount",value:function(){var e=this.activeElementOnMount,t=this.isFocused,n=this.ownFocusedElements;if(t&&!1!==c())for(var r,a=[].concat(Object(C.a)(o.without.apply(void 0,[this.props.focus.focusHistory].concat(Object(C.a)(n)))),[e]);r=a.pop();)if(document.body.contains(r))return void r.focus()}},{key:"render",value:function(){return Object(r.createElement)("div",{onFocus:this.setIsFocusedTrue,onBlur:this.setIsFocusedFalse},Object(r.createElement)(e,this.props.childProps))}}]),n}(r.Component);return function(e){return Object(r.createElement)(A,null,(function(n){return Object(r.createElement)(t,{childProps:e,focus:n})}))}}}),"withFocusReturn"),F=Object(S.createHigherOrderComponent)((function(e){return function(t){function n(){var e;return f(this,n),(e=g(this,b(n).apply(this,arguments))).focusContainRef=Object(r.createRef)(),e.handleTabBehaviour=e.handleTabBehaviour.bind(Object(h.a)(e)),e}return y(n,t),d(n,[{key:"handleTabBehaviour",value:function(e){if(e.keyCode===w.TAB){var t=j.focus.tabbable.find(this.focusContainRef.current);if(t.length){var n=t[0],r=t[t.length-1];e.shiftKey&&e.target===n?(e.preventDefault(),r.focus()):(e.shiftKey||e.target!==r)&&t.includes(e.target)||(e.preventDefault(),n.focus())}}}},{key:"render",value:function(){return Object(r.createElement)("div",{onKeyDown:this.handleTabBehaviour,ref:this.focusContainRef,tabIndex:"-1"},Object(r.createElement)(e,this.props))}}]),n}(r.Component)}),"withConstrainedTabbing"),D=["button","submit"];var L=Object(S.createHigherOrderComponent)((function(e){return function(t){function n(){var e;return f(this,n),(e=g(this,b(n).apply(this,arguments))).bindNode=e.bindNode.bind(Object(h.a)(e)),e.cancelBlurCheck=e.cancelBlurCheck.bind(Object(h.a)(e)),e.queueBlurCheck=e.queueBlurCheck.bind(Object(h.a)(e)),e.normalizeButtonFocus=e.normalizeButtonFocus.bind(Object(h.a)(e)),e}return y(n,t),d(n,[{key:"componentWillUnmount",value:function(){this.cancelBlurCheck()}},{key:"bindNode",value:function(e){e?this.node=e:(delete this.node,this.cancelBlurCheck())}},{key:"queueBlurCheck",value:function(e){var t=this;e.persist(),this.preventBlurCheck||(this.blurCheckTimeout=setTimeout((function(){document.hasFocus()?"function"==typeof t.node.handleFocusOutside&&t.node.handleFocusOutside(e):e.preventDefault()}),0))}},{key:"cancelBlurCheck",value:function(){clearTimeout(this.blurCheckTimeout)}},{key:"normalizeButtonFocus",value:function(e){var t=e.type,n=e.target;Object(o.includes)(["mouseup","touchend"],t)?this.preventBlurCheck=!1:function(e){switch(e.nodeName){case"A":case"BUTTON":return!0;case"INPUT":return Object(o.includes)(D,e.type)}return!1}(n)&&(this.preventBlurCheck=!0)}},{key:"render",value:function(){return Object(r.createElement)("div",{onFocus:this.cancelBlurCheck,onMouseDown:this.normalizeButtonFocus,onMouseUp:this.normalizeButtonFocus,onTouchStart:this.normalizeButtonFocus,onTouchEnd:this.normalizeButtonFocus,onBlur:this.queueBlurCheck},Object(r.createElement)(e,Object(s.a)({ref:this.bindNode},this.props)))}}]),n}(r.Component)}),"withFocusOutside")(function(e){function t(){return f(this,t),g(this,b(t).apply(this,arguments))}return y(t,e),d(t,[{key:"handleFocusOutside",value:function(e){this.props.onFocusOutside(e)}},{key:"render",value:function(){return this.props.children}}]),t}(r.Component));var M=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.htmlDocument,n=void 0===t?document:t,o=e.className,a=void 0===o?"lockscroll":o,i=0,c=0;function u(e){var t=n.scrollingElement||n.body;e&&(c=t.scrollTop);var r=e?"add":"remove";t.classList[r](a),n.documentElement.classList[r](a),e||(t.scrollTop=c)}function s(){0===i&&u(!0),++i}function l(){1===i&&u(!1),--i}return function(e){function t(){return f(this,t),g(this,b(t).apply(this,arguments))}return y(t,e),d(t,[{key:"componentDidMount",value:function(){s()}},{key:"componentWillUnmount",value:function(){l()}},{key:"render",value:function(){return null}}]),t}(r.Component)}();function V(e){e.stopPropagation()}var B=Object(r.forwardRef)((function(e,t){var n=e.children,o=Object(l.a)(e,["children"]);return Object(r.createElement)("div",Object(s.a)({},o,{ref:t,onMouseDown:V}),n)})),z=Object(r.createContext)({registerSlot:function(){},unregisterSlot:function(){},registerFill:function(){},unregisterFill:function(){},getSlot:function(){},getFills:function(){},subscribe:function(){}}),U=z.Provider,q=z.Consumer,H=(r.Component,0);function W(e){var t=e.name,n=e.children,a=e.registerFill,i=e.unregisterFill,c=function(e){var t=Object(r.useContext)(z),n=t.getSlot,o=t.subscribe,a=Object(r.useState)(n(e)),i=Object(O.a)(a,2),c=i[0],u=i[1];return Object(r.useEffect)((function(){return u(n(e)),o((function(){u(n(e))}))}),[e]),c}(t),u=Object(r.useRef)({name:t,children:n});return u.current.occurrence||(u.current.occurrence=++H),Object(r.useLayoutEffect)((function(){return a(t,u.current),function(){return i(t,u.current)}}),[]),Object(r.useLayoutEffect)((function(){u.current.children=n,c&&!c.props.bubblesVirtually&&c.forceUpdate()}),[n]),Object(r.useLayoutEffect)((function(){t!==u.current.name&&(i(u.current.name,u.current),u.current.name=t,a(t,u.current))}),[t]),c&&c.node&&c.props.bubblesVirtually?(Object(o.isFunction)(n)&&(n=n(c.props.fillProps)),Object(r.createPortal)(n,c.node)):null}var K=function(e){return Object(r.createElement)(q,null,(function(t){var n=t.registerFill,o=t.unregisterFill;return Object(r.createElement)(W,Object(s.a)({},e,{registerFill:n,unregisterFill:o}))}))},Y=function(e){function t(){var e;return f(this,t),(e=g(this,b(t).apply(this,arguments))).bindNode=e.bindNode.bind(Object(h.a)(e)),e}return y(t,e),d(t,[{key:"componentDidMount",value:function(){(0,this.props.registerSlot)(this.props.name,this)}},{key:"componentWillUnmount",value:function(){(0,this.props.unregisterSlot)(this.props.name,this)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.name,r=t.unregisterSlot,o=t.registerSlot;e.name!==n&&(r(e.name),o(n,this))}},{key:"bindNode",value:function(e){this.node=e}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.name,a=e.bubblesVirtually,i=void 0!==a&&a,c=e.fillProps,u=void 0===c?{}:c,s=e.getFills,l=e.className;if(i)return Object(r.createElement)("div",{ref:this.bindNode,className:l});var f=Object(o.map)(s(n,this),(function(e){var t=e.occurrence,n=Object(o.isFunction)(e.children)?e.children(u):e.children;return r.Children.map(n,(function(e,n){if(!e||Object(o.isString)(e))return e;var a="".concat(t,"---").concat(e.key||n);return Object(r.cloneElement)(e,{key:a})}))})).filter(Object(o.negate)(r.isEmptyElement));return Object(r.createElement)(r.Fragment,null,Object(o.isFunction)(t)?t(f):f)}}]),t}(r.Component),Q=function(e){return Object(r.createElement)(q,null,(function(t){var n=t.registerSlot,o=t.unregisterSlot,a=t.getFills;return Object(r.createElement)(Y,Object(s.a)({},e,{registerSlot:n,unregisterSlot:o,getFills:a}))}))},G=n(45);var $=function(e){var t=e.type,n=e.options,r=void 0===n?{}:n,o=e.children;if("appear"===t){var a,c=r.origin,u=(void 0===c?"top":c).split(" "),s=Object(O.a)(u,2),l=s[0],f=s[1],p=void 0===f?"center":f;return o({className:i()("components-animate__appear",(a={},Object(G.a)(a,"is-from-"+p,"center"!==p),Object(G.a)(a,"is-from-"+l,"middle"!==l),a))})}if("slide-in"===t){var d=r.origin,m=void 0===d?"left":d;return o({className:i()("components-animate__slide-in","is-from-"+m)})}return o("loading"===t?{className:i()("components-animate__loading")}:{})},Z=F(I((function(e){return e.children})));function J(e,t){var n=window.getComputedStyle(t),r=n.paddingTop,o=n.paddingBottom,a=n.paddingLeft,i=n.paddingRight,c=r?parseInt(r,10):0,u=o?parseInt(o,10):0,s=a?parseInt(a,10):0,l=i?parseInt(i,10):0;return{x:e.left+s,y:e.top+c,width:e.width-s-l,height:e.height-c-u,left:e.left+s,right:e.right-l,top:e.top+c,bottom:e.bottom-u}}function X(e,t,n){n?e.getAttribute(t)!==n&&e.setAttribute(t,n):e.hasAttribute(t)&&e.removeAttribute(t)}function ee(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";e.style[t]!==n&&(e.style[t]=n)}function te(e,t,n){n?e.classList.contains(t)||e.classList.add(t):e.classList.contains(t)&&e.classList.remove(t)}var ne=function(e){var t=e.headerTitle,n=e.onClose,o=e.onKeyDown,a=e.children,c=e.className,u=e.noArrow,f=void 0!==u&&u,p=e.position,d=void 0===p?"top":p,m=(e.range,e.focusOnMount),h=void 0===m?"firstElement":m,g=e.anchorRef,b=e.shouldAnchorIncludePadding,v=e.anchorVerticalBuffer,y=e.anchorHorizontalBuffer,E=e.anchorRect,x=e.getAnchorRect,C=e.expandOnMobile,N=e.animate,T=void 0===N||N,A=e.onClickOutside,I=e.onFocusOutside,F=Object(l.a)(e,["headerTitle","onClose","onKeyDown","children","className","noArrow","position","range","focusOnMount","anchorRef","shouldAnchorIncludePadding","anchorVerticalBuffer","anchorHorizontalBuffer","anchorRect","getAnchorRect","expandOnMobile","animate","onClickOutside","onFocusOutside"]),D=Object(r.useRef)(null),V=Object(r.useRef)(null),z=Object(r.useRef)(),U=Object(r.useRef)(),H=Object(S.useViewportMatch)("medium","<"),W=Object(r.useState)(),Y=Object(O.a)(W,2),Q=Y[0],G=Y[1],ne=C&&H;f=ne||f,Object(r.useEffect)((function(){var e=z.current,t=V.current;if(ne)return te(e,"is-without-arrow",f),X(e,"data-x-axis"),X(e,"data-y-axis"),ee(e,"top"),ee(e,"left"),ee(t,"maxHeight"),void ee(t,"maxWidth");var n=function(){var n=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4?arguments[4]:void 0;if(t)return t;if(n){if(!e.current)return;return n(e.current)}if(!1!==r){if(!r)return;if(r instanceof window.Range)return Object(j.getRectangleFromRange)(r);var a=r.getBoundingClientRect();return o?a:J(a,r)}if(e.current){var i=e.current.parentNode,c=i.getBoundingClientRect();return o?c:J(c,i)}}(D,E,x,g,b);if(n){n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return{x:e.left-n,y:e.top-t,width:e.width+2*n,height:e.height+2*t,left:e.left-n,right:e.right+n,top:e.top-t,bottom:e.bottom+t}}(n,v,y),U.current||(U.current=t.getBoundingClientRect());var r=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"top",r=n.split(" "),o=Object(O.a)(r,2),a=o[0],i=o[1],c=void 0===i?"center":i,u=P(e,t,a),s=R(e,t,c,u.yAxis);return Object(_.a)({},s,u)}(n,U.current,d),o=r.popoverTop,a=r.popoverLeft,i=r.xAxis,c=r.yAxis,u=r.contentHeight,s=r.contentWidth;te(e,"is-without-arrow",f||"center"===i&&"middle"===c),X(e,"data-x-axis",i),X(e,"data-y-axis",c),ee(e,"top","number"==typeof o?o+"px":""),ee(e,"left","number"==typeof a?a+"px":""),ee(t,"maxHeight","number"==typeof u?u+"px":""),ee(t,"maxWidth","number"==typeof s?s+"px":"");G(({left:"right",right:"left"}[i]||"center")+" "+({top:"bottom",bottom:"top"}[c]||"middle"))}},r=window.setTimeout(n),o=window.setInterval(n,500);return window.addEventListener("resize",n),window.addEventListener("scroll",n,!0),function(){window.clearTimeout(r),window.clearInterval(o),window.removeEventListener("resize",n),window.removeEventListener("scroll",n,!0)}}),[ne,E,x,g,b,v,y,d]),function(e,t){Object(r.useEffect)((function(){var n=setTimeout((function(){if(e&&t.current)if("firstElement"!==e)"container"===e&&t.current.focus();else{var n=j.focus.tabbable.find(t.current)[0];n?n.focus():t.current.focus()}}),0);return function(){return clearTimeout(n)}}),[])}(h,V);var re=function(e){e.keyCode===w.ESCAPE&&n&&(e.stopPropagation(),n()),o&&o(e)};var oe=Object(r.createElement)(L,{onFocusOutside:function(e){if(I)I(e);else if(A){var t;try{t=new window.MouseEvent("click")}catch(e){(t=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null)}Object.defineProperty(t,"target",{get:function(){return e.relatedTarget}}),k()("Popover onClickOutside prop",{alternative:"onFocusOutside"}),A(t)}else n&&n()}},Object(r.createElement)($,{type:T&&Q?"appear":null,options:{origin:Q}},(function(e){var o=e.className;return Object(r.createElement)(B,Object(s.a)({className:i()("components-popover",c,o,{"is-expanded":ne,"is-without-arrow":f})},F,{onKeyDown:re,ref:z}),ne&&Object(r.createElement)("div",{className:"components-popover__header"},Object(r.createElement)("span",{className:"components-popover__header-title"},t),Object(r.createElement)(ce,{className:"components-popover__close",icon:"no-alt",onClick:n})),Object(r.createElement)("div",{ref:V,className:"components-popover__content",tabIndex:"-1"},a))})));return h&&(oe=Object(r.createElement)(Z,null,oe)),Object(r.createElement)(q,null,(function(e){var t=e.getSlot;return t&&t("Popover")&&(oe=Object(r.createElement)(K,{name:"Popover"},oe)),Object(r.createElement)("span",{ref:D},oe,H&&C&&Object(r.createElement)(M,null))}))};ne.Slot=function(){return Object(r.createElement)(Q,{bubblesVirtually:!0,name:"Popover"})};var re=ne;var oe=function(e){var t,n,a=e.shortcut,i=e.className;return a?(Object(o.isString)(a)&&(t=a),Object(o.isObject)(a)&&(t=a.display,n=a.ariaLabel),Object(r.createElement)("span",{className:i,"aria-label":n},t)):null},ae=function(e){function t(){var e;return f(this,t),(e=g(this,b(t).apply(this,arguments))).delayedSetIsOver=Object(o.debounce)((function(t){return e.setState({isOver:t})}),700),e.cancelIsMouseDown=e.createSetIsMouseDown(!1),e.isInMouseDown=!1,e.state={isOver:!1},e}return y(t,e),d(t,[{key:"componentWillUnmount",value:function(){this.delayedSetIsOver.cancel(),document.removeEventListener("mouseup",this.cancelIsMouseDown)}},{key:"emitToChild",value:function(e,t){var n=this.props.children;if(1===r.Children.count(n)){var o=r.Children.only(n);"function"==typeof o.props[e]&&o.props[e](t)}}},{key:"createToggleIsOver",value:function(e,t){var n=this;return function(r){if(n.emitToChild(e,r),!(r.currentTarget.disabled||"focus"===r.type&&n.isInMouseDown)){n.delayedSetIsOver.cancel();var a=Object(o.includes)(["focus","mouseenter"],r.type);a!==n.state.isOver&&(t?n.delayedSetIsOver(a):n.setState({isOver:a}))}}}},{key:"createSetIsMouseDown",value:function(e){var t=this;return function(n){t.emitToChild(e?"onMouseDown":"onMouseUp",n),document[e?"addEventListener":"removeEventListener"]("mouseup",t.cancelIsMouseDown),t.isInMouseDown=e}}},{key:"render",value:function(){var e=this.props,t=e.children,n=e.position,o=e.text,a=e.shortcut;if(1!==r.Children.count(t))return t;var i=r.Children.only(t),c=this.state.isOver;return Object(r.cloneElement)(i,{onMouseEnter:this.createToggleIsOver("onMouseEnter",!0),onMouseLeave:this.createToggleIsOver("onMouseLeave"),onClick:this.createToggleIsOver("onClick"),onFocus:this.createToggleIsOver("onFocus"),onBlur:this.createToggleIsOver("onBlur"),onMouseDown:this.createSetIsMouseDown(!0),children:Object(r.concatChildren)(i.props.children,c&&Object(r.createElement)(re,{focusOnMount:!1,position:n,className:"components-tooltip","aria-hidden":"true",animate:!1},o,Object(r.createElement)(oe,{className:"components-tooltip__shortcut",shortcut:a})))})}}]),t}(r.Component),ie=n(74);var ce=Object(r.forwardRef)((function(e,t){var n=e.icon,a=e.children,c=e.label,f=e.className,p=e.tooltip,d=e.shortcut,m=e.labelPosition,h=e.size,g=Object(l.a)(e,["icon","children","label","className","tooltip","shortcut","labelPosition","size"]),b=i()("components-icon-button",f,{"has-text":a}),v=p||c,y=!g.disabled&&(p||d||!!c&&(!a||Object(o.isArray)(a)&&!a.length)&&!1!==p),O=Object(r.createElement)(u.a,Object(s.a)({"aria-label":c},g,{className:b,ref:t}),Object(r.createElement)(ie.a,{icon:n,size:h}),a);return y&&(O=Object(r.createElement)(ae,{text:v,shortcut:d,position:m},O)),O}));t.a=function(e){var t=e.className,n=e.status,a=e.children,s=e.onRemove,l=void 0===s?o.noop:s,f=e.isDismissible,p=void 0===f||f,d=e.actions,m=void 0===d?[]:d,h=e.__unstableHTML,g=i()(t,"components-notice","is-"+n,{"is-dismissible":p});return h&&(a=Object(r.createElement)(r.RawHTML,null,a)),Object(r.createElement)("div",{className:g},Object(r.createElement)("div",{className:"components-notice__content"},a,m.map((function(e,t){var n=e.className,o=e.label,a=e.noDefaultClasses,c=void 0!==a&&a,s=e.onClick,l=e.url;return Object(r.createElement)(u.a,{key:t,href:l,isDefault:!c&&!l,isLink:!c&&!!l,onClick:l?void 0:s,className:i()("components-notice__action",n)},o)}))),p&&Object(r.createElement)(ce,{className:"components-notice__dismiss",icon:"no-alt",label:Object(c.__)("Dismiss this notice"),onClick:l,tooltip:!1}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return ee}));var r=n(6),o=n.n(r),a=n(78),i=n(11),c=n.n(i),u=n(14),s=n.n(u),l=(n(5),n(4)),f=n.n(l),p=n(1),d=n(0),m=n(10),h=n.n(m),g=n(12),b=n(75),v=n(15),y=n(16),O=n(63),j=function(e,t){var n=e.find((function(e){return e.id===t}));return n?n.quantity:0},w=n(176),E=n(18),k=(n(139),function(e){var t=e.product,n=Object(d.useRef)(!0),r=t.id,o=t.permalink,a=t.add_to_cart,i=t.has_options,u=t.is_purchasable,s=t.is_in_stock,l=function(e){var t=Object(g.useDispatch)(v.CART_STORE_KEY).addItemToCart,n=Object(b.a)(),r=n.cartItems,o=n.cartIsLoading,a=Object(O.a)(),i=a.addErrorNotice,c=a.removeNotice,u=Object(d.useState)(!1),s=h()(u,2),l=s[0],f=s[1],p=Object(d.useRef)(j(r,e));return Object(d.useEffect)((function(){var t=j(r,e);t!==p.current&&(p.current=t)}),[r,e]),{cartQuantity:p.current,addingToCart:l,cartIsLoading:o,addToCart:function(){f(!0),t(e).then((function(e){!0===e&&c("add-to-cart")})).catch((function(e){i(Object(y.decodeEntities)(e.message),{context:"wc/all-products",id:"add-to-cart",isDismissible:!0})})).finally((function(){f(!1)}))}}}(r),m=l.cartQuantity,E=l.addingToCart,k=l.addToCart;Object(d.useEffect)((function(){n.current?n.current=!1:Object(w.a)()}),[m]);var S=Number.isFinite(m)&&m>0,_=!i&&u&&s,x=Object(y.decodeEntities)((null==a?void 0:a.description)||""),R=S?Object(p.sprintf)(Object(p._n)("%d in cart","%d in cart",m,"woo-gutenberg-products-block"),m):Object(y.decodeEntities)((null==a?void 0:a.text)||Object(p.__)("Add to cart","woo-gutenberg-products-block")),P=_?"button":"a",C={};return _?C.onClick=k:(C.href=o,C.rel="nofollow"),React.createElement(P,c()({"aria-label":x,className:f()("wp-block-button__link","add_to_cart_button","wc-block-components-product-button__button",{loading:E,added:S}),disabled:E},C),R)}),S=function(){return React.createElement("button",{className:f()("wp-block-button__link","add_to_cart_button","wc-block-components-product-button__button","wc-block-components-product-button__button--placeholder"),disabled:!0})},_=function(e){var t=e.className,n=s()(e,["className"]),r=Object(E.useInnerBlockLayoutContext)().parentClassName,o=Object(E.useProductDataContext)(),a=n.product||o.product;return React.createElement("div",{className:f()(t,"wp-block-button","wc-block-components-product-button","".concat(r,"__product-add-to-cart"))},a?React.createElement(k,{product:a}):React.createElement(S,null))},x=n(25),R=n(142),P=function(e){return function(t){return function(n){var r=Object(R.a)(e,n);return React.createElement(t,c()({},n,r))}}},C=n(8),N=n(28),T=(n(140),function(e){var t=e.className,n=e.align,r=s()(e,["className","align"]),o=Object(E.useInnerBlockLayoutContext)().parentClassName,a=Object(E.useProductDataContext)(),i=r.product||a.product;if(!i||!i.on_sale)return null;var c="string"==typeof n?"wc-block-components-product-sale-badge--align".concat(n):"";return React.createElement("div",{className:f()("wc-block-components-product-sale-badge",t,c,"".concat(o,"__product-onsale"))},React.createElement(N.a,{label:Object(p.__)("Sale","woo-gutenberg-products-block"),screenReaderLabel:Object(p.__)("Product on sale","woo-gutenberg-products-block")}))}),A=(n(141),function(){return React.createElement("img",{src:C.p,alt:""})}),I=function(e){var t=e.image,n=e.onLoad,r=e.loaded,o=t||{},a=o.thumbnail,i=o.srcset,c=o.sizes,u=o.alt;return React.createElement(React.Fragment,null,React.createElement("img",{src:a,srcSet:i,sizes:c,alt:u,onLoad:n,hidden:!r}),!r&&React.createElement(A,null))},F=function(e){var t=e.className,n=e.productLink,r=void 0===n||n,o=e.showSaleBadge,a=e.saleBadgeAlign,i=void 0===a?"right":a,c=s()(e,["className","productLink","showSaleBadge","saleBadgeAlign"]),u=Object(E.useInnerBlockLayoutContext)().parentClassName,l=Object(E.useProductDataContext)(),p=c.product||l.product,m=Object(d.useState)(!1),g=h()(m,2),b=g[0],v=g[1];if(!p)return React.createElement("div",{className:f()(t,"wc-block-components-product-image","wc-block-components-product-image--placeholder","".concat(u,"__product-image"))},React.createElement(A,null));var y=(null==p?void 0:p.images)&&p.images.length?p.images[0]:null;return React.createElement("div",{className:f()(t,"wc-block-components-product-image","".concat(u,"__product-image"))},r?React.createElement("a",{href:p.permalink,rel:"nofollow"},!!o&&React.createElement(T,{align:i,product:p}),React.createElement(I,{image:y,onLoad:function(){return v(!0)},loaded:b})):React.createElement(React.Fragment,null,!!o&&React.createElement(T,{align:i,product:p}),React.createElement(I,{image:y,onLoad:function(){return v(!0)},loaded:b})))},D={productLink:{type:"boolean",default:!0},showSaleBadge:{type:"boolean",default:!0},saleBadgeAlign:{type:"string",default:"right"}},L=Object(x.compose)(P(D))(F),M=n(31),V=n(118),B=(n(143),function(e){return e.price_range&&e.price_range.min_amount&&e.price_range.max_amount}),z=function(e){var t=e.currency,n=e.minAmount,r=e.maxAmount,o=Object(E.useInnerBlockLayoutContext)().parentClassName;return React.createElement("span",{className:f()("wc-block-components-product-price__value","".concat(o,"__product-price__value"))},React.createElement(M.a,{currency:t,value:n})," — ",React.createElement(M.a,{currency:t,value:r}))},U=function(e){var t=e.currency,n=e.price,r=e.regularPrice,o=Object(E.useInnerBlockLayoutContext)().parentClassName;return React.createElement(React.Fragment,null,r!==n&&React.createElement("del",{className:f()("wc-block-components-product-price__regular","".concat(o,"__product-price__regular"))},React.createElement(M.a,{currency:t,value:r})),React.createElement("span",{className:f()("wc-block-components-product-price__value","".concat(o,"__product-price__value"))},React.createElement(M.a,{currency:t,value:n})))},q=function(e){var t=e.className,n=s()(e,["className"]),r=Object(E.useInnerBlockLayoutContext)().parentClassName,o=Object(E.useProductDataContext)(),a=n.product||o.product;if(!a)return React.createElement("div",{className:f()(t,"price","wc-block-components-product-price","".concat(r,"__product-price"))});var i=a.prices||{},c=Object(V.c)(i);return React.createElement("div",{className:f()(t,"price","wc-block-components-product-price","".concat(r,"__product-price"))},B(i)?React.createElement(z,{currency:c,minAmount:i.price_range.min_amount,maxAmount:i.price_range.max_amount}):React.createElement(U,{currency:c,price:i.price,regularPrice:i.regular_price}))},H=(n(144),function(e){var t=parseFloat((null==e?void 0:e.average_rating)||0);return Number.isFinite(t)&&t>0?t:0}),W=function(e){var t=e.className,n=s()(e,["className"]),r=Object(E.useInnerBlockLayoutContext)().parentClassName,o=Object(E.useProductDataContext)(),a=n.product||o.product,i=H(a);if(!i)return null;var c={width:i/5*100+"%"},u=Object(p.sprintf)(Object(p.__)("Rated %f out of 5","woo-gutenberg-products-block"),i);return React.createElement("div",{className:f()(t,"star-rating","wc-block-components-product-rating","".concat(r,"__product-rating"))},React.createElement("div",{className:f()("wc-block-components-product-rating__stars","".concat(r,"__product-rating__stars")),role:"img","aria-label":u},React.createElement("span",{style:c},u)))},K=n(83),Y=n(2),Q=(n(145),function(e){var t=e.className,n=s()(e,["className"]),r=Object(E.useInnerBlockLayoutContext)().parentClassName,o=(Object(E.useProductDataContext)()||n).product;if(!o)return React.createElement("div",{className:f()(t,"wc-block-components-product-summary")});var a=o.short_description?o.short_description:o.description;if(!a)return null;var i=Object(Y.getSetting)("wordCountType","words");return React.createElement(K.a,{className:f()(t,"wc-block-components-product-summary","".concat(r,"__product-summary")),source:a,maxLength:150,countType:i})}),G=(n(146),function(e){var t=e.className,n=e.headingLevel,r=void 0===n?2:n,o=e.productLink,a=void 0===o||o,i=s()(e,["className","headingLevel","productLink"]),c=Object(E.useInnerBlockLayoutContext)().parentClassName,u=Object(E.useProductDataContext)(),l=i.product||u.product,p="h".concat(r);if(!l)return React.createElement(p,{className:f()(t,"wc-block-components-product-title","".concat(c,"__product-title"))});var d=Object(y.decodeEntities)(l.name);return React.createElement(p,{className:f()(t,"wc-block-components-product-title","".concat(c,"__product-title"))},a?React.createElement("a",{href:l.permalink,rel:"nofollow"},d):d)}),$={headingLevel:{type:"number",default:2},productLink:{type:"boolean",default:!0}},Z=Object(x.compose)(P($))(G),J=(n(147),function(e){var t=e.className,n=s()(e,["className"]),r=Object(E.useInnerBlockLayoutContext)().parentClassName,o=Object(E.useProductDataContext)(),a=(n.product||o.product||{}).sku||"";return a?React.createElement("div",{className:f()(t,"wc-block-components-product-sku","".concat(r,"__product-sku"))},Object(p.__)("SKU:","woo-gutenberg-products-block")," ",React.createElement("strong",null,a)):null});function X(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ee=function(e){return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?X(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({"woocommerce/product-price":q,"woocommerce/product-image":L,"woocommerce/product-title":Z,"woocommerce/product-rating":W,"woocommerce/product-button":_,"woocommerce/product-summary":Q,"woocommerce/product-sale-badge":T,"woocommerce/product-sku":J},Object(a.getRegisteredInnerBlocks)(e))}},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),o=function(e,t){var n=Object(r.useRef)();return Object(r.useEffect)((function(){n.current===e||t&&!t(e,n.current)||(n.current=e)}),[e,n.current]),n.current}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=window.Event||null,o=function(){if("function"==typeof r){var e=new r("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(e)}else{var t=document.createEvent("Event");t.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(t)}}},,,,,,,,,,,,,,function(e,t){},function(e,t){},function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var r=n(119),o=n(111),a=n(98),i=n(32),c=n.n(i),u=n(33),s=n.n(u),l=n(34),f=n.n(l),p=n(35),d=n.n(p),m=n(21),h=n.n(m),g=n(3),b=(n(5),n(10)),v=n.n(b),y=n(0),O=n(20),j=n.n(O),w=n(14),E=n.n(w),k=n(6),S=n.n(k),_=n(1),x=n(7),R=n(4),P=n.n(R),C=n(28),N=(n(192),function(e){var t=e.currentPage,n=e.displayFirstAndLastPages,r=e.displayNextAndPreviousArrows,o=e.pagesToDisplay,a=e.onPageChange,i=e.totalPages,c=function(e,t,n){if(n<=2)return{minIndex:null,maxIndex:null};var r=e-1,o=Math.max(Math.floor(t-r/2),2),a=Math.min(Math.ceil(t+(r-(t-o))),n-1);return{minIndex:Math.max(Math.floor(t-(r-(a-t))),2),maxIndex:a}}(o,t,i),u=c.minIndex,s=c.maxIndex,l=n&&Boolean(1!==u),f=n&&Boolean(s!==i),p=n&&Boolean(u>3),d=n&&Boolean(s<i-2);l&&3===u&&(u-=1),f&&s===i-2&&(s+=1);var m=[];if(u&&s)for(var h=u;h<=s;h++)m.push(h);return React.createElement("div",{className:"wc-block-pagination"},React.createElement(C.a,{screenReaderLabel:Object(_.__)("Navigate to another page","woo-gutenberg-products-block")}),r&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t-1)},title:Object(_.__)("Previous page","woo-gutenberg-products-block"),disabled:t<=1},React.createElement(C.a,{label:"<",screenReaderLabel:Object(_.__)("Previous page","woo-gutenberg-products-block")})),l&&React.createElement("button",{className:P()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===t}),onClick:function(){return a(1)},disabled:1===t},React.createElement(C.a,{label:1,screenReaderLabel:Object(_.sprintf)(Object(_.__)("Page %d","woo-gutenberg-products-block"),1)})),p&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(_.__)("…","woo-gutenberg-products-block")),m.map((function(e){return React.createElement("button",{key:e,className:P()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===e}),onClick:t===e?null:function(){return a(e)},disabled:t===e},React.createElement(C.a,{label:e,screenReaderLabel:Object(_.sprintf)(Object(_.__)("Page %d","woo-gutenberg-products-block"),e)}))})),d&&React.createElement("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(_.__)("…","woo-gutenberg-products-block")),f&&React.createElement("button",{className:P()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===i}),onClick:function(){return a(i)},disabled:t===i},React.createElement(C.a,{label:i,screenReaderLabel:Object(_.sprintf)(Object(_.__)("Page %d","woo-gutenberg-products-block"),i)})),r&&React.createElement("button",{className:"wc-block-pagination-page",onClick:function(){return a(t+1)},title:Object(_.__)("Next page","woo-gutenberg-products-block"),disabled:t>=i},React.createElement(C.a,{label:">",screenReaderLabel:Object(_.__)("Next page","woo-gutenberg-products-block")})))});N.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var T=N,A=n(124),I=(n(191),function(e){var t=e.defaultValue,n=e.onChange,r=e.readOnly,o=e.value;return React.createElement(A.a,{className:"wc-block-product-sort-select",defaultValue:t,name:"orderby",onChange:n,options:[{key:"menu_order",label:Object(_.__)("Default sorting","woo-gutenberg-products-block")},{key:"popularity",label:Object(_.__)("Popularity","woo-gutenberg-products-block")},{key:"rating",label:Object(_.__)("Average rating","woo-gutenberg-products-block")},{key:"date",label:Object(_.__)("Latest","woo-gutenberg-products-block")},{key:"price",label:Object(_.__)("Price: low to high","woo-gutenberg-products-block")},{key:"price-desc",label:Object(_.__)("Price: high to low","woo-gutenberg-products-block")}],readOnly:r,screenReaderLabel:Object(_.__)("Order products by","woo-gutenberg-products-block"),value:o})}),F=n(18),D=n(94),L=n(11),M=n.n(L),V=n(169),B=Object(D.a)((function(e){var t=e.product,n=e.attributes,r=e.instanceId,o=n.layoutConfig,a=Object(F.useInnerBlockLayoutContext)(),i=a.parentClassName,c=a.parentName,u=0===Object.keys(t).length,s=P()("".concat(i,"__product"),{"is-loading":u,"wc-block-layout--is-loading":u});return React.createElement("li",{className:s,"aria-hidden":u},function e(t,n,r,o){if(r){var a=Object(V.a)(t);return r.map((function(r,i){var c=v()(r,2),u=c[0],s=c[1],l=void 0===s?{}:s,f=[];l.children&&l.children.length>0&&(f=e(t,n,l.children,o));var p=a[u];if(!p)return null;var d=n.id||0,m=["layout",u,i,o,d];return React.createElement(p,M()({key:m.join("_")},l,{children:f,product:n}))}))}}(c,t,o,r))})),z=n(93),U=n(106),q=n(15),H=n(12),W=n(38);function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(Object(n),!0).forEach((function(t){S()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Q=function(e){var t={namespace:"/wc/store",resourceName:"products"},n=Object(U.a)(Y(Y({},t),{},{query:e})),r=n.results,o=n.isLoading,a=function(e,t){var n=t.namespace,r=t.resourceName,o=t.resourceValues,a=void 0===o?[]:o,i=t.query,c=void 0===i?{}:i;if(!n||!r)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var u=Object(W.a)(c),s=Object(W.a)(a),l=Object(H.useSelect)((function(t){var o=t(q.COLLECTIONS_STORE_KEY),a=[e,n,r,u,s];return{value:o.getCollectionHeader.apply(o,a),isLoading:o.hasFinishedResolution("getCollectionHeader",a)}}),[e,n,r,s,u]),f=l.value,p=l.isLoading;return{value:f,isLoading:void 0===p||p}}("x-wp-total",Y(Y({},t),{},{query:e})).value;return{products:r,totalProducts:parseInt(a,10),productsLoading:o}},G=n(175),$=n(126),Z=n(42),J=(n(190),n(138)),X=n(88),ee=React.createElement(X.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},React.createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})),te=function(){var e=Object(F.useInnerBlockLayoutContext)().parentClassName;return React.createElement("div",{className:"".concat(e,"__no-products")},React.createElement(J.a,{className:"".concat(e,"__no-products-image"),alt:"",srcElement:ee,size:100}),React.createElement("strong",{className:"".concat(e,"__no-products-title")},Object(_.__)("No products","woo-gutenberg-products-block")),React.createElement("p",{className:"".concat(e,"__no-products-description")},Object(_.__)("There are currently no products available to display.","woo-gutenberg-products-block")))},ne=React.createElement(X.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},React.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),React.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})),re=function(e){var t=e.resetCallback,n=void 0===t?function(){}:t,r=Object(F.useInnerBlockLayoutContext)().parentClassName;return React.createElement("div",{className:"".concat(r,"__no-products")},React.createElement(J.a,{className:"".concat(r,"__no-products-image"),alt:"",srcElement:ne,size:100}),React.createElement("strong",{className:"".concat(r,"__no-products-title")},Object(_.__)("No products found","woo-gutenberg-products-block")),React.createElement("p",{className:"".concat(r,"__no-products-description")},Object(_.__)("We were unable to find any results based on your search.","woo-gutenberg-products-block")),React.createElement("button",{onClick:n},Object(_.__)("Reset Search","woo-gutenberg-products-block")))};function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach((function(t){S()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ie=Object($.a)((function(e){var t=e.attributes,n=e.currentPage,r=e.onPageChange,o=e.onSortChange,a=e.sortValue,i=e.scrollToTop,c=Object(z.c)(function(e){var t=e.sortValue,n=e.currentPage,r=e.attributes,o=r.columns,a=r.rows;return ae(ae({},function(e){switch(e){case"menu_order":case"popularity":case"rating":case"price":return{orderby:e,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"};case"date":return{orderby:"date",order:"desc"}}}(t)),{},{catalog_visibility:"catalog",per_page:o*a,page:n})}({attributes:t,sortValue:a,currentPage:n})),u=v()(c,1)[0],s=Q(u),l=s.products,f=s.totalProducts,p=s.productsLoading,d=Object(F.useInnerBlockLayoutContext)().parentClassName,m=function(e){e.order,e.orderby,e.page,e.per_page;return E()(e,["order","orderby","page","per_page"])}(u),h=Object(z.b)("attributes",[]),g=v()(h,2),b=g[0],O=g[1],w=Object(z.b)("min_price"),k=v()(w,2),S=k[0],R=k[1],C=Object(z.b)("max_price"),N=v()(C,2),A=N[0],D=N[1],L=Object(G.a)({totalQuery:m,totalProducts:f},(function(e){var t=e.totalQuery,n=e.totalProducts,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.totalQuery;return!Object(x.isEqual)(t,o)&&Number.isFinite(n)})),M="object"===j()(L)&&Object(x.isEqual)(m,L.totalQuery);Object(y.useEffect)((function(){M||(r(1),L&&function(e){Number.isFinite(e)&&(0===e?Object(Z.speak)(Object(_.__)("No products found","woo-gutenberg-products-block")):Object(Z.speak)(Object(_.sprintf)(Object(_._n)("%d product found","%d products found",e,"woo-gutenberg-products-block"),e)))}(f))}),[u]);var V,U,q,H,W,K=t.contentVisibility,Y=t.columns*t.rows,$=!Number.isFinite(f)&&M?Math.ceil(L.totalProducts/Y):Math.ceil(f/Y),J=l.length?l:Array.from({length:Y}),X=0!==l.length||p,ee=b.length>0||Number.isFinite(S)||Number.isFinite(A);return React.createElement("div",{className:(V=t.columns,U=t.rows,q=t.alignButtons,H=t.align,W=void 0!==H?"align"+H:"",P()(d,W,"has-"+V+"-columns",{"has-multiple-rows":U>1,"has-aligned-buttons":q}))},K.orderBy&&X&&React.createElement(I,{onChange:o,value:a}),!X&&ee&&React.createElement(re,{resetCallback:function(){O([]),R(null),D(null)}}),!X&&!ee&&React.createElement(te,null),X&&React.createElement("ul",{className:"".concat(d,"__products")},J.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return React.createElement(B,{key:e.id||n,attributes:t,product:e})}))),$>1&&React.createElement(T,{currentPage:n,onPageChange:function(e){i({focusableSelector:"a, button"}),r(e)},totalPages:$}))})),ce=function(e){var t=e.attributes,n=Object(y.useState)(1),r=v()(n,2),o=r[0],a=r[1],i=Object(y.useState)(t.orderby),c=v()(i,2),u=c[0],s=c[1];Object(y.useEffect)((function(){s(t.orderby)}),[t.orderby]);return React.createElement(ie,{attributes:t,currentPage:o,onPageChange:function(e){a(e)},onSortChange:function(e){var t=e.target.value;s(t),a(1)},sortValue:u})},ue=n(8),se=React.createElement("img",{src:ue.A+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}});function le(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h()(e);if(t){var o=h()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return d()(this,n)}}var fe=function(e){f()(n,e);var t=le(n);function n(){return c()(this,n),t.apply(this,arguments)}return s()(n,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.urlParameterSuffix;return t.isPreview?se:React.createElement(F.InnerBlockLayoutContextProvider,{parentName:"woocommerce/all-products",parentClassName:"wc-block-grid"},React.createElement(ce,{attributes:t,urlParameterSuffix:n}))}}]),n}(g.Component);Object(a.a)({selector:".wp-block-woocommerce-all-products",Block:Object(r.a)((function(e){return React.createElement(o.a,{context:"wc/all-products"},React.createElement(fe,e))})),getProps:function(e){return{attributes:JSON.parse(e.dataset.attributes)}}})}]);
build/all-products.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-blocks-registry', 'wc-settings', 'wp-a11y', 'wp-autop', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-wordcount'), 'version' => '86943ba6874f3517027e143b849a0606');
1
+ <?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-blocks-registry', 'wc-settings', 'wc-shared-context', 'wp-a11y', 'wp-autop', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-wordcount'), 'version' => '7ab1f9eaa2d3e65908d0641fce395457');
build/all-products.js CHANGED
@@ -1 +1 @@
1
- this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["all-products"]=function(e){function t(t){for(var n,a,i=t[0],u=t[1],l=t[2],b=0,p=[];b<i.length;b++)a=i[b],Object.prototype.hasOwnProperty.call(c,a)&&c[a]&&p.push(c[a][0]),c[a]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(s&&s(t);p.length;)p.shift()();return o.push.apply(o,l||[]),r()}function r(){for(var e,t=0;t<o.length;t++){for(var r=o[t],n=!0,i=1;i<r.length;i++){var u=r[i];0!==c[u]&&(n=!1)}n&&(o.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},c={5:0},o=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var i=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],u=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var s=u;return o.push([832,2,0,1]),r()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},134:function(e,t,r){"use strict";r.d(t,"a",(function(){return l}));var n=r(39),c=r(34),o=r(245),a=r(31),i=r(6),u={cartCoupons:[],cartItems:[],cartItemsCount:0,cartItemsWeight:0,cartNeedsPayment:!0,cartNeedsShipping:!0,cartItemErrors:[],cartTotals:{},cartIsLoading:!0,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:[],shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:function(){}},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{shouldSelect:!0},t=Object(o.b)(),r=t.isEditor,l=t.previewData,s=(null==l?void 0:l.previewCart)||{},b=e.shouldSelect,p=Object(c.useSelect)((function(e,t){var c=t.dispatch;if(!b)return u;if(r)return{cartCoupons:s.coupons,cartItems:s.items,cartItemsCount:s.items_count,cartItemsWeight:s.items_weight,cartNeedsPayment:s.needs_payment,cartNeedsShipping:s.needs_shipping,cartItemErrors:[],cartTotals:s.totals,cartIsLoading:!1,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:s.shipping_rates,shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:"function"==typeof(null==s?void 0:s.receiveCart)?s.receiveCart:function(){}};var o=e(n.CART_STORE_KEY),l=o.getCartData(),p=o.getCartErrors(),d=o.getCartTotals(),f=!o.hasFinishedResolution("getCartData"),g=o.areShippingRatesLoading(),O=c(n.CART_STORE_KEY).receiveCart,m=Object(i.mapValues)(l.shippingAddress,(function(e){return Object(a.decodeEntities)(e)}));return{cartCoupons:l.coupons,cartItems:l.items,cartItemsCount:l.itemsCount,cartItemsWeight:l.itemsWeight,cartNeedsPayment:l.needsPayment,cartNeedsShipping:l.needsShipping,cartItemErrors:l.errors,cartTotals:d,cartIsLoading:f,cartErrors:p,shippingAddress:m,shippingRates:l.shippingRates,shippingRatesLoading:g,hasShippingAddress:!!m.country,receiveCart:O}}),[b]);return p}},135:function(e,t,r){"use strict";r.d(t,"a",(function(){return l}));var n=r(9),c=r.n(n),o=r(248),a=r(0);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l=function(){var e=Object(o.b)(),t=e.notices,r=e.createNotice,n=e.removeNotice,c=e.createSnackbarNotice,i=e.setIsSuppressed,l=Object(a.useRef)(t);Object(a.useEffect)((function(){l.current=t}),[t]);var s=Object(a.useMemo)((function(){return{hasNoticesOfType:function(e){return l.current.some((function(t){return t.type===e}))},removeNotices:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;l.current.map((function(t){return null!==e&&t.status!==e||n(t.id),!0}))},removeNotice:n}}),[n]),b=Object(a.useMemo)((function(){return{addDefaultNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("default",e,u({},t))},addErrorNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("error",e,u({},t))},addWarningNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("warning",e,u({},t))},addInfoNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("info",e,u({},t))},addSuccessNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("success",e,u({},t))},addSnackbarNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c(e,t)}}}),[r,c]);return u(u(u({notices:t},s),b),{},{setIsSuppressed:i})}},138:function(e,t,r){"use strict";var n=r(0),c=(r(2),r(8)),o=r.n(c),a=r(43),i=r(178);r(267);t.a=Object(i.a)((function(e){var t=e.className,r=e.instanceId,c=e.defaultValue,i=e.label,u=e.onChange,l=e.options,s=e.screenReaderLabel,b=e.readOnly,p=e.value,d="wc-block-sort-select__select-".concat(r);return Object(n.createElement)("div",{className:o()("wc-block-sort-select",t)},Object(n.createElement)(a.a,{label:i,screenReaderLabel:s,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:d}}),Object(n.createElement)("select",{id:d,className:"wc-block-sort-select__select",defaultValue:c,onChange:u,readOnly:b,value:p},l.map((function(e){return Object(n.createElement)("option",{key:e.key,value:e.key},e.label)}))))}))},140:function(e,t,r){"use strict";var n=r(22),c=r.n(n),o=r(28),a=r.n(o),i=r(23),u=r.n(i),l=r(24),s=r.n(l),b=r(11),p=r.n(b),d=r(0),f=r(6),g=r(1),O=r(4);function m(e){var t=e.level,r={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return r.hasOwnProperty(t)?Object(d.createElement)(O.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(d.createElement)(O.Path,{d:r[t]})):null}function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=p()(e);if(t){var c=p()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return s()(this,r)}}var v=function(e){u()(r,e);var t=j(r);function r(){return c()(this,r),t.apply(this,arguments)}return a()(r,[{key:"createLevelControl",value:function(e,t,r){var n=e===t;return{icon:Object(d.createElement)(m,{level:e}),title:Object(g.sprintf)(Object(g.__)("Heading %d"),e),isActive:n,onClick:function(){return r(e)}}}},{key:"render",value:function(){var e=this,t=this.props,r=t.isCollapsed,n=void 0===r||r,c=t.minLevel,o=t.maxLevel,a=t.selectedLevel,i=t.onChange;return Object(d.createElement)(O.Toolbar,{isCollapsed:n,icon:Object(d.createElement)(m,{level:a}),controls:Object(f.range)(c,o).map((function(t){return e.createLevelControl(t,a,i)}))})}}]),r}(d.Component);t.a=v},141:function(e,t){!function(){e.exports=this.wp.wordcount}()},142:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(10),c=r.n(n),o=r(0),a=function(){var e=Object(o.useState)(),t=c()(e,2)[1];return function(e){return t((function(){throw e}))}}},146:function(e,t,r){"use strict";var n=r(0),c=r(54),o=Object(n.createElement)(c.c,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}));t.a=o},147:function(e,t){!function(){e.exports=this.wc.wcBlocksRegistry}()},159:function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return p})),r.d(t,"c",(function(){return d}));var n=r(10),c=r.n(n),o=r(39),a=r(34),i=r(0),u=r(95),l=r(6),s=r(58),b=function(e){var t=Object(u.a)();e=e||t;var r=Object(a.useSelect)((function(t){return t(o.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(a.useDispatch)(o.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(i.useCallback)((function(t){n(e,t)}),[e])]},p=function(e,t,r){var n=Object(u.a)();r=r||n;var c=Object(a.useSelect)((function(n){return n(o.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),l=Object(a.useDispatch)(o.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(i.useCallback)((function(t){l(r,e,t)}),[r,e])]},d=function(e,t){var r=Object(u.a)(),n=b(t=t||r),o=c()(n,2),a=o[0],p=o[1],d=Object(s.a)(e),f=Object(i.useRef)(!1);return Object(i.useEffect)((function(){p(Object(l.assign)({},a,d)),f.current=!0}),[d]),f.current?[a,p]:[e,p]}},162:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0),c=r(5),o=Object(n.createElement)("img",{src:c.Q+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}})},17:function(e,t){!function(){e.exports=this.regeneratorRuntime}()},174:function(e,t,r){"use strict";var n=r(0),c=r(141),o=r(93),a=function(e){var t=e.indexOf("</p>");return-1===t?e:e.substr(0,t+4)},i=function(e){return e.replace(/<\/?[a-z][^>]*?>/gi,"")},u=function(e,t){return e.replace(/[\s|\.\,]+$/i,"")+t},l=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"&hellip;",n=i(e),c=n.split(" ").splice(0,t).join(" ");return Object(o.autop)(u(c,r))},s=function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"&hellip;",c=i(e),a=c.slice(0,t);if(r)return Object(o.autop)(u(a,n));var l=a.match(/([\s]+)/g),s=l?l.length:0,b=c.slice(0,t+s);return Object(o.autop)(u(b,n))};t.a=function(e){var t=e.source,r=e.maxLength,i=void 0===r?15:r,u=e.countType,b=void 0===u?"words":u,p=e.className,d=void 0===p?"":p,f=Object(n.useMemo)((function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"words",n=Object(o.autop)(e),i=Object(c.count)(n,r);if(i<=t)return n;var u=a(n),b=Object(c.count)(u,r);return b<=t?u:"words"===r?l(u,t):s(u,t,"characters_including_spaces"===r)}(t,i,b)}),[t,i,b]);return Object(n.createElement)(n.RawHTML,{className:d},f)}},186:function(e,t,r){"use strict";r.d(t,"a",(function(){return u}));var n=r(39),c=r(34),o=r(0),a=r(142),i=r(58),u=function(e){var t=e.namespace,r=e.resourceName,u=e.resourceValues,l=void 0===u?[]:u,s=e.query,b=void 0===s?{}:s,p=e.shouldSelect,d=void 0===p||p;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var f=Object(o.useRef)({results:[],isLoading:!0}),g=Object(i.a)(b),O=Object(i.a)(l),m=Object(a.a)(),j=Object(c.useSelect)((function(e){if(!d)return null;var c=e(n.COLLECTIONS_STORE_KEY),o=[t,r,g,O],a=c.getCollectionError.apply(c,o);return a&&m(a),{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,r,O,g,d]);return null!==j&&(f.current=j),f.current}},209:function(e,t,r){"use strict";var n=r(0),c=r(54),o=Object(n.createElement)(c.c,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("mask",{id:"external-mask",width:"24",height:"24",x:"0",y:"0",maskUnits:"userSpaceOnUse"},Object(n.createElement)("path",{fill:"#fff",d:"M6.3431 6.3431v1.994l7.8984.0072-8.6055 8.6054 1.4142 1.4143 8.6055-8.6055.0071 7.8984h1.994V6.3431H6.3431z"})),Object(n.createElement)("g",{mask:"url(#external-mask)"},Object(n.createElement)("path",{d:"M0 0h24v24H0z"})));t.a=o},236:function(e,t,r){"use strict";var n=r(13),c=r.n(n),o=r(22),a=r.n(o),i=r(28),u=r.n(i),l=r(19),s=r.n(l),b=r(23),p=r.n(b),d=r(24),f=r.n(d),g=r(11),O=r.n(g),m=r(9),j=r.n(m),v=r(0),h=r(7);r(477);function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=O()(e);if(t){var c=O()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return f()(this,r)}}t.a=function(e){var t=function(t){p()(n,t);var r=y(n);function n(){var e;return a()(this,n),e=r.call(this),j()(s()(e),"scrollToTopIfNeeded",(function(){var t=e.scrollPointRef.current.getBoundingClientRect().bottom;t>=0&&t<=window.innerHeight||e.scrollPointRef.current.scrollIntoView()})),j()(s()(e),"moveFocusToTop",(function(t){var r=e.scrollPointRef.current.parentElement.querySelectorAll(t);r.length&&r[0].focus()})),j()(s()(e),"scrollToTop",(function(t){window&&Number.isFinite(window.innerHeight)&&(e.scrollToTopIfNeeded(),t&&t.focusableSelector&&e.moveFocusToTop(t.focusableSelector))})),e.scrollPointRef=Object(h.createRef)(),e}return u()(n,[{key:"render",value:function(){return Object(v.createElement)(h.Fragment,null,Object(v.createElement)("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),Object(v.createElement)(e,c()({},this.props,{scrollToTop:this.scrollToTop})))}}]),n}(h.Component);return t.displayName="withScrollToTop",t}},245:function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return i}));var n=r(0),c=r(34),o=Object(n.createContext)({isEditor:!1,currentPostId:0,previewData:{}}),a=function(){return Object(n.useContext)(o)},i=function(e){var t=e.children,r=e.currentPostId,a=void 0===r?0:r,i=e.previewData,u=void 0===i?{}:i,l={isEditor:!0,currentPostId:Object(c.useSelect)((function(e){return a||e("core/editor").getCurrentPostId()}),[a]),previewData:u};return Object(n.createElement)(o.Provider,{value:l},t)}},248:function(e,t,r){"use strict";r.d(t,"b",(function(){return _})),r.d(t,"a",(function(){return E}));var n=r(9),c=r.n(n),o=r(10),a=r.n(o),i=r(0),u=(r(2),r(34)),l=r(13),s=r.n(l),b=r(8),p=r.n(b),d=r(877),f=(r(333),function(e){var t=e.status;switch(void 0===t?"default":t){case"error":return"woocommerce-error";case"success":return"woocommerce-success";case"info":case"warning":return"woocommerce-info"}return""}),g=function(e){var t=e.className,r=e.notices,n=_().removeNotice,c=p()(t,"wc-block-components-notices"),o=r.filter((function(e){return"snackbar"!==e.type}));return o.length?Object(i.createElement)("div",{className:c},o.map((function(e){return Object(i.createElement)(d.a,s()({key:"store-notice-"+e.id},e,{className:p()("wc-block-components-notices__notice","woocommerce-message",f(e)),onRemove:function(){e.isDismissible&&n(e.id)}}),e.content)}))):null},O=r(881),m=r(135),j=r(245),v=function(){var e=Object(j.b)().isEditor,t=Object(m.a)(),r=t.notices,n=t.removeNotice,c=r.filter((function(e){return"snackbar"===e.type}));return e?null:Object(i.createElement)(O.a,{notices:c,className:"wc-block-notices__snackbar",onRemove:n})};function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var w=Object(i.createContext)({notices:[],createNotice:function(e,t,r){},createSnackbarNotice:function(e,t){},removeNotice:function(e,t){},setIsSuppressed:function(e){},context:"wc/core"}),_=function(){return Object(i.useContext)(w)},E=function(e){var t=e.children,r=e.className,n=void 0===r?"":r,c=e.createNoticeContainer,o=void 0===c||c,l=e.context,s=void 0===l?"wc/core":l,b=Object(u.useDispatch)("core/notices"),p=b.createNotice,d=b.removeNotice,f=Object(i.useState)(!1),O=a()(f,2),m=O[0],j=O[1],h=Object(i.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p(e,t,y(y({},r),{},{context:r.context||s}))}),[p,s]),_=Object(i.useCallback)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s;d(e,t)}),[d,s]),E=Object(i.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};h("default",e,y(y({},t),{},{type:"snackbar"}))}),[h]),k={notices:Object(u.useSelect)((function(e){return{notices:e("core/notices").getNotices(s)}}),[s]).notices,createNotice:h,createSnackbarNotice:E,removeNotice:_,context:s,setIsSuppressed:j},P=m?null:Object(i.createElement)(g,{className:n,notices:k.notices}),S=m?null:Object(i.createElement)(v,null);return Object(i.createElement)(w.Provider,{value:k},o&&P,t,S)}},268:function(e,t,r){"use strict";r.d(t,"c",(function(){return d})),r.d(t,"b",(function(){return f})),r.d(t,"a",(function(){return g}));var n=r(9),c=r.n(n),o=r(53),a=r.n(o),i=r(3);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var s,b,p={code:i.CURRENCY.code,symbol:i.CURRENCY.symbol,thousandSeparator:i.CURRENCY.thousandSeparator,decimalSeparator:i.CURRENCY.decimalSeparator,minorUnit:i.CURRENCY.precision,prefix:(s=i.CURRENCY.symbol,b=i.CURRENCY.symbolPosition,{left:s,left_space:" "+s,right:"",right_space:""}[b]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(i.CURRENCY.symbol,i.CURRENCY.symbolPosition)},d=function(e){if(!e||"object"!==a()(e))return p;var t=e.currency_code,r=e.currency_symbol,n=e.currency_thousand_separator,c=e.currency_decimal_separator,o=e.currency_minor_unit,i=e.currency_prefix,u=e.currency_suffix;return{code:t||"USD",symbol:r||"$",thousandSeparator:"string"==typeof n?n:",",decimalSeparator:"string"==typeof c?c:".",minorUnit:Number.isFinite(o)?o:2,prefix:"string"==typeof i?i:"$",suffix:"string"==typeof u?u:""}},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return l(l({},p),e)},g=function(e,t){if(""===e||void 0===e)return"";var r=parseInt(e,10);if(!Number.isFinite(r))return"";var n=f(t),c=r/Math.pow(10,n.minorUnit),o=n.prefix+c+n.suffix,a=document.createElement("textarea");return a.innerHTML=o,a.value}},273:function(e,t){!function(){e.exports=this.wp.deprecated}()},29:function(e,t){!function(){e.exports=this.wp.blockEditor}()},3:function(e,t){!function(){e.exports=this.wc.wcSettings}()},30:function(e,t){!function(){e.exports=this.wp.compose}()},31:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},33:function(e,t){!function(){e.exports=this.wp.blocks}()},34:function(e,t){!function(){e.exports=this.wp.data}()},39:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},4:function(e,t){!function(){e.exports=this.wp.components}()},43:function(e,t,r){"use strict";var n=r(9),c=r.n(n),o=r(0),a=(r(2),r(7)),i=r(8),u=r.n(i);function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=function(e){var t,r=e.label,n=e.screenReaderLabel,c=e.wrapperElement,i=e.wrapperProps,l=null!=r,b=null!=n;return!l&&b?(t=c||"span",i=s(s({},i),{},{className:u()(i.className,"screen-reader-text")}),Object(o.createElement)(t,i,n)):(t=c||a.Fragment,l&&b&&r!==n?Object(o.createElement)(t,i,Object(o.createElement)("span",{"aria-hidden":"true"},r),Object(o.createElement)("span",{className:"screen-reader-text"},n)):Object(o.createElement)(t,i,r))};b.defaultProps={wrapperProps:{}},t.a=b},47:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},474:function(e,t,r){"use strict";var n=r(0),c=r(54),o=Object(n.createElement)(c.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M11 17h2v-1h1c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1h-3v-1h4V8h-2V7h-2v1h-1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3v1H9v2h2v1zm9-13H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12z"}));t.a=o},475:function(e,t,r){"use strict";var n=r(0),c=r(54),o=Object(n.createElement)(c.c,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M15.55 13c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.37-.66-.11-1.48-.87-1.48H5.21l-.94-2H1v2h2l3.6 7.59-1.35 2.44C4.52 15.37 5.48 17 7 17h12v-2H7l1.1-2h7.45zM6.16 6h12.15l-2.76 5H8.53L6.16 6zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"}));t.a=o},476:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(7),c=function(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,r.current]),r.current}},5:function(e,t,r){"use strict";r.d(t,"k",(function(){return c})),r.d(t,"G",(function(){return o})),r.d(t,"M",(function(){return a})),r.d(t,"x",(function(){return i})),r.d(t,"z",(function(){return u})),r.d(t,"l",(function(){return l})),r.d(t,"y",(function(){return s})),r.d(t,"B",(function(){return b})),r.d(t,"n",(function(){return p})),r.d(t,"A",(function(){return d})),r.d(t,"m",(function(){return f})),r.d(t,"C",(function(){return g})),r.d(t,"t",(function(){return O})),r.d(t,"w",(function(){return m})),r.d(t,"q",(function(){return j})),r.d(t,"r",(function(){return v})),r.d(t,"s",(function(){return h})),r.d(t,"j",(function(){return y})),r.d(t,"I",(function(){return w})),r.d(t,"N",(function(){return _})),r.d(t,"p",(function(){return E})),r.d(t,"o",(function(){return k})),r.d(t,"F",(function(){return P})),r.d(t,"c",(function(){return S})),r.d(t,"u",(function(){return C})),r.d(t,"v",(function(){return N})),r.d(t,"Q",(function(){return x})),r.d(t,"H",(function(){return D})),r.d(t,"a",(function(){return R})),r.d(t,"K",(function(){return B})),r.d(t,"b",(function(){return T})),r.d(t,"J",(function(){return L})),r.d(t,"h",(function(){return I})),r.d(t,"L",(function(){return M})),r.d(t,"g",(function(){return A})),r.d(t,"i",(function(){return H})),r.d(t,"E",(function(){return F})),r.d(t,"D",(function(){return U})),r.d(t,"P",(function(){return Y})),r.d(t,"O",(function(){return q})),r.d(t,"d",(function(){return Q})),r.d(t,"e",(function(){return W})),r.d(t,"f",(function(){return G}));var n=r(3),c=Object(n.getSetting)("currentUserIsAdmin",!1),o=Object(n.getSetting)("reviewRatingsEnabled",!0),a=Object(n.getSetting)("showAvatars",!0),i=Object(n.getSetting)("max_columns",6),u=Object(n.getSetting)("min_columns",1),l=Object(n.getSetting)("default_columns",3),s=Object(n.getSetting)("max_rows",6),b=Object(n.getSetting)("min_rows",1),p=Object(n.getSetting)("default_rows",3),d=Object(n.getSetting)("min_height",500),f=Object(n.getSetting)("default_height",500),g=Object(n.getSetting)("placeholderImgSrc",""),O=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog")),m=Object(n.getSetting)("limitTags"),j=Object(n.getSetting)("hasProducts",!0),v=Object(n.getSetting)("hasTags",!0),h=Object(n.getSetting)("homeUrl",""),y=Object(n.getSetting)("couponsEnabled",!0),w=Object(n.getSetting)("shippingEnabled",!0),_=Object(n.getSetting)("taxesEnabled",!0),E=Object(n.getSetting)("displayItemizedTaxes",!1),k=(Object(n.getSetting)("displayShopPricesIncludingTax",!1),Object(n.getSetting)("displayCartPricesIncludingTax",!1)),P=Object(n.getSetting)("productCount",0),S=Object(n.getSetting)("attributes",[]),C=Object(n.getSetting)("isShippingCalculatorEnabled",!0),N=Object(n.getSetting)("isShippingCostHidden",!1),x=Object(n.getSetting)("wcBlocksAssetUrl",""),D=Object(n.getSetting)("shippingCountries",{}),R=Object(n.getSetting)("allowedCountries",{}),B=Object(n.getSetting)("shippingStates",{}),T=Object(n.getSetting)("allowedStates",{}),L=Object(n.getSetting)("shippingMethodsExist",!1),I=Object(n.getSetting)("checkoutShowLoginReminder",!0),V={id:0,title:"",permalink:""},z=Object(n.getSetting)("storePages",{shop:V,cart:V,checkout:V,privacy:V,terms:V}),M=z.shop.permalink,A=z.checkout.id,H=z.checkout.permalink,F=z.privacy.permalink,U=z.privacy.title,Y=z.terms.permalink,q=z.terms.title,Q=z.cart.id,W=z.cart.permalink,G=Object(n.getSetting)("checkoutAllowsGuest",!1);Object(n.getSetting)("checkoutAllowsSignup",!1)},51:function(e,t){!function(){e.exports=this.wp.keycodes}()},56:function(e,t,r){"use strict";var n=r(13),c=r.n(n),o=r(9),a=r.n(o),i=r(38),u=r.n(i),l=r(0),s=r(175),b=r(8),p=r.n(b);r(269);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e){var t=e.className,r=e.value,n=e.currency,o=e.onValueChange,a=u()(e,["className","value","currency","onValueChange"]);if("-"===r)return null;var i=r/Math.pow(10,n.minorUnit);if(!Number.isFinite(i))return null;var b=p()("wc-block-formatted-money-amount",t),d=f(f(f({displayType:"text"},a),function(e){return{thousandSeparator:e.thousandSeparator,decimalSeparator:e.decimalSeparator,decimalScale:e.minorUnit,fixedDecimalScale:!0,prefix:e.prefix,suffix:e.suffix,isNumericString:!0}}(n)),{},{value:void 0,currency:void 0,onValueChange:void 0}),g=o?function(e){var t=e.value*Math.pow(10,n.minorUnit);o(t)}:function(){};return Object(l.createElement)(s.a,c()({className:b},d,{value:i,onValueChange:g}))}},58:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),c=r(47),o=r.n(c),a=function(e){var t=Object(n.useRef)();return o()(e,t.current)||(t.current=e),t.current}},6:function(e,t){!function(){e.exports=this.lodash}()},60:function(e,t,r){"use strict";var n=r(9),c=r.n(n),o=r(38),a=r.n(o),i=r(7);r(2);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,o=a()(e,["srcElement","size"]);return Object(i.isValidElement)(t)&&Object(i.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:n,height:n},o))}},69:function(e,t,r){"use strict";var n=r(13),c=r.n(n),o=r(22),a=r.n(o),i=r(28),u=r.n(i),l=r(19),s=r.n(l),b=r(23),p=r.n(b),d=r(24),f=r.n(d),g=r(11),O=r.n(g),m=r(0),j=r(6),v=r(8),h=r.n(v),y=r(4),w=r(30);r(163);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=O()(e);if(t){var c=O()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return f()(this,r)}}var E=function(e){p()(r,e);var t=_(r);function r(){var e;return a()(this,r),(e=t.apply(this,arguments)).onClick=e.onClick.bind(s()(e)),e}return u()(r,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,r=this.props,n=r.label,o=r.checked,a=r.instanceId,i=r.className,u=r.help,l=r.options,s=r.value,b="inspector-toggle-button-control-".concat(a);return u&&(e=Object(j.isFunction)(u)?u(o):u),Object(m.createElement)(y.BaseControl,{id:b,help:e,className:h()("components-toggle-button-control",i)},Object(m.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},n),Object(m.createElement)(y.ButtonGroup,{"aria-labelledby":b+"__label"},l.map((function(e,r){var o={};return s===e.value?(o.isPrimary=!0,o["aria-pressed"]=!0):(o.isDefault=!0,o["aria-pressed"]=!1),Object(m.createElement)(y.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(r),value:e.value,onClick:t.onClick,"aria-label":n+": "+e.label},o),e.label)}))))}}]),r}(m.Component);t.a=Object(w.withInstanceId)(E)},7:function(e,t){!function(){e.exports=this.React}()},73:function(e,t,r){"use strict";var n=r(0),c=r(1),o=r(6),a=(r(2),r(4)),i=r(5);t.a=function(e){var t=e.columns,r=e.rows,u=e.setAttributes,l=e.alignButtons;return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.RangeControl,{label:Object(c.__)("Columns","woo-gutenberg-products-block"),value:t,onChange:function(e){var t=Object(o.clamp)(e,i.z,i.x);u({columns:Object(o.isNaN)(t)?"":t})},min:i.z,max:i.x}),Object(n.createElement)(a.RangeControl,{label:Object(c.__)("Rows","woo-gutenberg-products-block"),value:r,onChange:function(e){var t=Object(o.clamp)(e,i.B,i.y);u({rows:Object(o.isNaN)(t)?"":t})},min:i.B,max:i.y}),Object(n.createElement)(a.ToggleControl,{label:Object(c.__)("Align Last Block","woo-gutenberg-products-block"),help:l?Object(c.__)("The last inner block will be aligned vertically.","woo-gutenberg-products-block"):Object(c.__)("The last inner block will follow other content.","woo-gutenberg-products-block"),checked:l,onChange:function(){return u({alignButtons:!l})}}))}},76:function(e,t){!function(){e.exports=this.wp.dom}()},768:function(e,t,r){"use strict";var n=r(0),c=r(54),o=Object(n.createElement)(c.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58s1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41s-.23-1.06-.59-1.42zM13 20.01L4 11V4h7v-.01l9 9-7 7.02z"}),Object(n.createElement)("circle",{cx:"6.5",cy:"6.5",r:"1.5"}),Object(n.createElement)("path",{d:"M8.9 12.55c0 .57.23 1.07.6 1.45l3.5 3.5 3.5-3.5c.37-.37.6-.89.6-1.45 0-1.13-.92-2.05-2.05-2.05-.57 0-1.08.23-1.45.6l-.6.6-.6-.59c-.37-.38-.89-.61-1.45-.61-1.13 0-2.05.92-2.05 2.05z"}));t.a=o},773:function(e,t,r){"use strict";var n=r(0),c=r(54),o=Object(n.createElement)(c.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"}));t.a=o},774:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(1),c=r(5),o=[{id:1,name:"WordPress Pennant",variation:"",permalink:"https://example.org",sku:"wp-pennant",short_description:Object(n.__)("Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!","woo-gutenberg-products-block"),description:"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.",price:"7.99",price_html:'<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>7.99</span>',images:[{id:1,src:c.Q+"img/pennant.jpg",thumbnail:c.Q+"img/pennant.jpg",name:"pennant-1.jpg",alt:"WordPress Pennant",srcset:"",sizes:""}],average_rating:5,review_count:1,prices:{currency_code:"GBP",decimal_separator:".",thousand_separator:",",decimals:2,price_prefix:"£",price_suffix:"",price:"7.99",regular_price:"9.99",sale_price:"7.99",price_range:null},add_to_cart:{text:Object(n.__)("Add to cart","woo-gutenberg-products-block"),description:Object(n.__)("Add to cart","woo-gutenberg-products-block")},has_options:!1,is_purchasable:!0,is_in_stock:!0,on_sale:!0}]},776:function(e,t,r){"use strict";var n=r(0),c=r(54),o=Object(n.createElement)(c.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}));t.a=o},781:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=window.Event||null,c=function(){if("function"==typeof n){var e=new n("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(e)}else{var t=document.createEvent("Event");t.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(t)}}},782:function(e,t,r){},80:function(e,t){!function(){e.exports=this.wp.a11y}()},832:function(e,t,r){"use strict";r.r(t);var n=r(9),c=r.n(n),o=r(13),a=r.n(o),i=r(0),u=r(1),l=r(29),s=r(33),b=r(60),p=r(54),d=Object(i.createElement)(p.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(i.createElement)("path",{d:"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"})),f=r(10),g=r.n(f),O=r(22),m=r.n(O),j=r(19),v=r.n(j),h=r(23),y=r.n(h),w=r(24),_=r.n(w),E=r(11),k=r.n(E),P=r(34),S=r(4),C=r(30),N=(r(2),r(73)),x=r(5),D=r(53),R=r.n(D),B=function(e,t,r){if("object"!==R()(r))throw new Error("".concat(e," expects an object for its context value"));var n=[];for(var c in t)t[c].required&&void 0===r[c]?n.push("The ".concat(c," is required and is not present.")):void 0!==r[c]&&R()(r[c])!==t[c].type&&n.push("The ".concat(c," must be of ").concat(t[c].type," and instead was ").concat(R()(r[c])));if(n.length>0)throw new Error("There was a problem with the value passed in on ".concat(e,":\n ").concat(n.join("\n")))},T={parentName:{required:!0,type:"string"}},L=Object(i.createContext)({parentName:null}),I=function(e){var t=e.value,r=e.children;return Object(i.useEffect)((function(){B("InnerBlockConfigurationProvider",T,t)}),[t]),Object(i.createElement)(L.Provider,{value:t},r)},V={layoutStyleClassPrefix:{required:!0,type:"string"}},z=Object(i.createContext)({layoutStyleClassPrefix:""}),M=function(){return Object(i.useContext)(z)},A=function(e){var t=e.value,r=e.children;return Object(i.useEffect)((function(){B("ProductLayoutContextProvider",V,t)}),[t]),Object(i.createElement)(z.Provider,{value:t},r)},H=r(8),F=r.n(H),U=r(3),Y=r(209),q=function(e,t){var r=t.className,n=t.contentVisibility;return F()(e,r,{"has-image":n&&n.image,"has-title":n&&n.title,"has-rating":n&&n.rating,"has-price":n&&n.price,"has-button":n&&n.button})},Q=function(e,t){return Object(i.createElement)(S.Placeholder,{className:"wc-block-products",icon:t,label:e},Object(i.createElement)("p",null,Object(u.__)("You haven't published any products to list here yet.","woo-gutenberg-products-block")),Object(i.createElement)(S.Button,{className:"wc-block-products__add_product_button",isDefault:!0,isLarge:!0,href:U.adminUrl+"post-new.php?post_type=product"},Object(u.__)("Add new product","woo-gutenberg-products-block")+" ",Object(i.createElement)(b.a,{srcElement:Y.a})),Object(i.createElement)(S.Button,{className:"wc-block-products__read_more_button",isTertiary:!0,href:"https://docs.woocommerce.com/document/managing-products/"},Object(u.__)("Learn more","woo-gutenberg-products-block")))},W=function(e,t){return Object(i.createElement)(S.Placeholder,{className:"wc-block-products",icon:t,label:e},Object(u.__)("The content for this block is hidden due to block settings.","woo-gutenberg-products-block"))},G=r(147),K=r(56),J=r(268),$=function(e){var t=e.className,r=e.product,n=M().layoutStyleClassPrefix,c=r.prices||{},o=Object(J.c)(c);return c.price_range&&c.price_range.min_amount&&c.price_range.max_amount?Object(i.createElement)("div",{className:F()(t,"".concat(n,"__product-price"))},Object(i.createElement)("span",{className:"".concat(n,"__product-price__value")},Object(i.createElement)(K.a,{currency:o,value:c.price_range.min_amount})," — ",Object(i.createElement)(K.a,{currency:o,value:c.price_range.max_amount}))):Object(i.createElement)("div",{className:F()(t,"".concat(n,"__product-price"))},c.regular_price!==c.price&&Object(i.createElement)("del",{className:"".concat(n,"__product-price__regular")},Object(i.createElement)(K.a,{currency:o,value:c.regular_price})),Object(i.createElement)("span",{className:"".concat(n,"__product-price__value")},Object(i.createElement)(K.a,{currency:o,value:c.price})))},X=r(43),Z=function(e){var t=e.className,r=e.product,n=e.align,c=M().layoutStyleClassPrefix,o="string"==typeof n?"".concat(c,"__product-onsale--align").concat(n):"";return r&&r.on_sale?Object(i.createElement)("div",{className:F()(t,o,"".concat(c,"__product-onsale"))},Object(i.createElement)(X.a,{label:Object(u.__)("Sale","woo-gutenberg-products-block"),screenReaderLabel:Object(u.__)("Product on sale","woo-gutenberg-products-block")})):null},ee=function(e){var t=e.product,r=e.saleBadgeAlign;return e.shouldRender?Object(i.createElement)(Z,{product:t,align:r}):null},te=function(e){var t=e.layoutPrefix,r=e.loaded,n=e.image,o=e.onLoad,a=F()("".concat(t,"__product-image__image"),c()({},"".concat(t,"__product-image__image_placeholder"),!r&&!n)),u=n||{},l=u.thumbnail,s=u.srcset,b=u.sizes,p=u.alt;return Object(i.createElement)(i.Fragment,null,n&&Object(i.createElement)("img",{className:a,src:l,srcSet:s,sizes:b,alt:p,onLoad:o,hidden:!r}),!r&&Object(i.createElement)("img",{className:a,src:x.C,alt:""}))},re=function(e){var t=e.className,r=e.product,n=e.productLink,c=void 0===n||n,o=e.showSaleBadge,a=void 0===o||o,u=e.saleBadgeAlign,l=void 0===u?"right":u,s=Object(i.useState)(!1),b=g()(s,2),p=b[0],d=b[1],f=M().layoutStyleClassPrefix,O=r.images&&r.images.length?r.images[0]:null,m=Object(i.createElement)(i.Fragment,null,Object(i.createElement)(ee,{product:r,saleBadgeAlign:l,shouldRender:a}),Object(i.createElement)(te,{layoutPrefix:f,loaded:p,image:O,onLoad:function(){return d(!0)}}));return Object(i.createElement)("div",{className:F()(t,"".concat(f,"__product-image"))},c?Object(i.createElement)("a",{href:r.permalink,rel:"nofollow"},m):m)},ne=r(31),ce=function(e){var t=e.className,r=e.product,n=e.headingLevel,c=void 0===n?2:n,o=e.productLink,a=void 0===o||o,u=M().layoutStyleClassPrefix;if(!r.name)return null;var l=Object(ne.decodeEntities)(r.name),s="h".concat(c);return Object(i.createElement)(s,{className:F()(t,"".concat(u,"__product-title"))},a?Object(i.createElement)("a",{href:r.permalink,rel:"nofollow"},l):l)},oe=function(e){var t=e.className,r=e.product,n=parseFloat(r.average_rating),c=M().layoutStyleClassPrefix;if(!Number.isFinite(n)||0===n)return null;var o={width:n/5*100+"%"},a=Object(u.sprintf)(Object(u.__)("Rated %f out of 5","woo-gutenberg-products-block"),n);return Object(i.createElement)("div",{className:F()(t,"".concat(c,"__product-rating"))},Object(i.createElement)("div",{className:"".concat(c,"__product-rating__stars"),role:"img","aria-label":a},Object(i.createElement)("span",{style:o},a)))},ae=r(134),ie=r(39),ue=r(135),le=function(e,t){var r=e.find((function(e){return e.id===t}));return r?r.quantity:0},se=r(781),be=function(e){var t=e.product,r=e.className,n=t.id,c=t.permalink,o=t.add_to_cart,a=t.has_options,l=t.is_purchasable,s=t.is_in_stock,b=function(e){var t=Object(P.useDispatch)(ie.CART_STORE_KEY).addItemToCart,r=Object(ae.a)(),n=r.cartItems,c=r.cartIsLoading,o=Object(ue.a)(),a=o.addErrorNotice,u=o.removeNotice,l=Object(i.useState)(!1),s=g()(l,2),b=s[0],p=s[1],d=Object(i.useRef)(le(n,e));return Object(i.useEffect)((function(){var t=le(n,e);t!==d.current&&(d.current=t)}),[n,e]),{cartQuantity:d.current,addingToCart:b,cartIsLoading:c,addToCart:function(){p(!0),t(e).then((function(e){!0===e&&u("add-to-cart")})).catch((function(e){a(Object(ne.decodeEntities)(e.message),{context:"wc/all-products",id:"add-to-cart",isDismissible:!0})})).finally((function(){p(!1)}))}}}(n),p=b.cartQuantity,d=b.addingToCart,f=b.cartIsLoading,O=b.addToCart,m=M().layoutStyleClassPrefix,j=Number.isFinite(p)&&p>0,v=function(){return j?Object(u.sprintf)(Object(u._n)("%d in cart","%d in cart",p,"woo-gutenberg-products-block"),p):Object(ne.decodeEntities)(o.text)},h=Object(i.useRef)(!0);Object(i.useEffect)((function(){h.current?h.current=!1:Object(se.a)()}),[p]);var y=F()(r,"".concat(m,"__product-add-to-cart"),"wp-block-button"),w=F()("wp-block-button__link","add_to_cart_button",{loading:d,added:j});if(0===Object.keys(t).length||f)return Object(i.createElement)("div",{className:y},Object(i.createElement)("button",{className:w,disabled:!0}));var _=!a&&l&&s;return Object(i.createElement)("div",{className:y},_?Object(i.createElement)("button",{onClick:O,"aria-label":Object(ne.decodeEntities)(o.description),className:w,disabled:d},v()):Object(i.createElement)("a",{href:c,"aria-label":Object(ne.decodeEntities)(o.description),className:w,rel:"nofollow"},v()))},pe=r(174),de=function(e){var t=e.className,r=e.product,n=M().layoutStyleClassPrefix,c=r.short_description?r.short_description:r.description;if(!c)return null;var o=Object(U.getSetting)("wordCountType","words");return Object(i.createElement)(pe.a,{className:F()(t,"".concat(n,"__product-summary")),source:c,maxLength:150,countType:o})};function fe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ge(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?fe(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Oe=function(e){return ge({"woocommerce/product-price":$,"woocommerce/product-image":re,"woocommerce/product-title":ce,"woocommerce/product-rating":oe,"woocommerce/product-button":be,"woocommerce/product-summary":de,"woocommerce/product-sale-badge":Z},Object(G.getRegisteredInnerBlocks)(e))},me=[["woocommerce/product-image"],["woocommerce/product-title"],["woocommerce/product-price"],["woocommerce/product-rating"],["woocommerce/product-button"]],je=function e(t){return t&&0!==t.length?t.map((function(t){return[t.name,ge(ge({},t.attributes),{},{product:void 0,children:t.innerBlocks.length>0?e(t.innerBlocks):[]})]})):[]};r(782);function ve(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function he(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ve(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ve(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ye=function(e,t){var r=e.contentVisibility;return Object(i.createElement)(S.ToggleControl,{label:Object(u.__)("Show Sorting Dropdown","woo-gutenberg-products-block"),checked:r.orderBy,onChange:function(){return t({contentVisibility:he(he({},r),{},{orderBy:!r.orderBy})})}})},we=function(e,t){return Object(i.createElement)(S.SelectControl,{label:Object(u.__)("Order Products By","woo-gutenberg-products-block"),value:e.orderby,options:[{label:Object(u.__)("Default sorting (menu order)","woo-gutenberg-products-block"),value:"menu_order"},{label:Object(u.__)("Popularity","woo-gutenberg-products-block"),value:"popularity"},{label:Object(u.__)("Average rating","woo-gutenberg-products-block"),value:"rating"},{label:Object(u.__)("Latest","woo-gutenberg-products-block"),value:"date"},{label:Object(u.__)("Price: low to high","woo-gutenberg-products-block"),value:"price"},{label:Object(u.__)("Price: high to low","woo-gutenberg-products-block"),value:"price-desc"}],onChange:function(e){return t({orderby:e})}})},_e=r(28),Ee=r.n(_e),ke=r(7),Pe=r(38),Se=r.n(Pe),Ce=r(6),Ne=(r(785),function(e){var t=e.currentPage,r=e.displayFirstAndLastPages,n=e.displayNextAndPreviousArrows,c=e.pagesToDisplay,o=e.onPageChange,a=e.totalPages,l=function(e,t,r){if(r<=2)return{minIndex:null,maxIndex:null};var n=e-1,c=Math.max(Math.floor(t-n/2),2),o=Math.min(Math.ceil(t+(n-(t-c))),r-1);return{minIndex:Math.max(Math.floor(t-(n-(o-t))),2),maxIndex:o}}(c,t,a),s=l.minIndex,b=l.maxIndex,p=r&&Boolean(1!==s),d=r&&Boolean(b!==a),f=r&&Boolean(s>3),g=r&&Boolean(b<a-2);p&&3===s&&(s-=1),d&&b===a-2&&(b+=1);var O=[];if(s&&b)for(var m=s;m<=b;m++)O.push(m);return Object(i.createElement)("div",{className:"wc-block-pagination"},Object(i.createElement)(X.a,{screenReaderLabel:Object(u.__)("Navigate to another page","woo-gutenberg-products-block")}),n&&Object(i.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return o(t-1)},title:Object(u.__)("Previous page","woo-gutenberg-products-block"),disabled:t<=1},Object(i.createElement)(X.a,{label:"<",screenReaderLabel:Object(u.__)("Previous page","woo-gutenberg-products-block")})),p&&Object(i.createElement)("button",{className:F()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===t}),onClick:function(){return o(1)},disabled:1===t},Object(i.createElement)(X.a,{label:1,screenReaderLabel:Object(u.sprintf)(Object(u.__)("Page %d","woo-gutenberg-products-block"),1)})),f&&Object(i.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(u.__)("…","woo-gutenberg-products-block")),O.map((function(e){return Object(i.createElement)("button",{key:e,className:F()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===e}),onClick:t===e?null:function(){return o(e)},disabled:t===e},Object(i.createElement)(X.a,{label:e,screenReaderLabel:Object(u.sprintf)(Object(u.__)("Page %d","woo-gutenberg-products-block"),e)}))})),g&&Object(i.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(u.__)("…","woo-gutenberg-products-block")),d&&Object(i.createElement)("button",{className:F()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===a}),onClick:function(){return o(a)},disabled:t===a},Object(i.createElement)(X.a,{label:a,screenReaderLabel:Object(u.sprintf)(Object(u.__)("Page %d","woo-gutenberg-products-block"),a)})),n&&Object(i.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return o(t+1)},title:Object(u.__)("Next page","woo-gutenberg-products-block"),disabled:t>=a},Object(i.createElement)(X.a,{label:">",screenReaderLabel:Object(u.__)("Next page","woo-gutenberg-products-block")})))});Ne.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var xe=Ne,De=r(138),Re=(r(784),function(e){var t=e.defaultValue,r=e.onChange,n=e.readOnly,c=e.value;return Object(i.createElement)(De.a,{className:"wc-block-product-sort-select",defaultValue:t,name:"orderby",onChange:r,options:[{key:"menu_order",label:Object(u.__)("Default sorting","woo-gutenberg-products-block")},{key:"popularity",label:Object(u.__)("Popularity","woo-gutenberg-products-block")},{key:"rating",label:Object(u.__)("Average rating","woo-gutenberg-products-block")},{key:"date",label:Object(u.__)("Latest","woo-gutenberg-products-block")},{key:"price",label:Object(u.__)("Price: low to high","woo-gutenberg-products-block")},{key:"price-desc",label:Object(u.__)("Price: high to low","woo-gutenberg-products-block")}],readOnly:n,screenReaderLabel:Object(u.__)("Order products by","woo-gutenberg-products-block"),value:c})}),Be=r(178),Te=Object(Be.a)((function(e){var t=e.product,r=e.attributes,n=e.instanceId,c=r.layoutConfig,o=Object(i.useContext)(L).parentName,u=M().layoutStyleClassPrefix,l=0===Object.keys(t).length,s=F()("".concat(u,"__product"),{"is-loading":l});return Object(i.createElement)("li",{className:s,"aria-hidden":l},function e(t,r,n,c){if(n){var o=Oe(t);return n.map((function(n,u){var l=g()(n,2),s=l[0],b=l[1],p=void 0===b?{}:b,d=[];p.children&&p.children.length>0&&(d=e(t,r,p.children,c));var f=o[s];if(!f)return null;var O=r.id||0,m=["layout",s,u,c,O];return Object(i.createElement)(f,a()({key:m.join("_")},p,{children:d,product:r}))}))}}(o,t,c,n))})),Le=r(159),Ie=r(186),Ve=r(58);function ze(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Me(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ze(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ae=function(e){var t={namespace:"/wc/store",resourceName:"products"},r=Object(Ie.a)(Me(Me({},t),{},{query:e})),n=r.results,c=r.isLoading,o=function(e,t){var r=t.namespace,n=t.resourceName,c=t.resourceValues,o=void 0===c?[]:c,a=t.query,i=void 0===a?{}:a;if(!r||!n)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var u=Object(Ve.a)(i),l=Object(Ve.a)(o),s=Object(P.useSelect)((function(t){var c=t(ie.COLLECTIONS_STORE_KEY),o=[e,r,n,u,l];return{value:c.getCollectionHeader.apply(c,o),isLoading:c.hasFinishedResolution("getCollectionHeader",o)}}),[e,r,n,l,u]),b=s.value,p=s.isLoading;return{value:b,isLoading:void 0===p||p}}("x-wp-total",Me(Me({},t),{},{query:e})).value;return{products:n,totalProducts:parseInt(o,10),productsLoading:c}},He=r(476),Fe=r(236),Ue=r(80),Ye=(r(783),r(146)),qe=function(){var e=M().layoutStyleClassPrefix;return Object(i.createElement)("div",{className:"".concat(e,"__no-products")},Object(i.createElement)(b.a,{className:"".concat(e,"__no-products-image"),alt:"",srcElement:Ye.a,size:100}),Object(i.createElement)("strong",{className:"".concat(e,"__no-products-title")},Object(u.__)("No products","woo-gutenberg-products-block")),Object(i.createElement)("p",{className:"".concat(e,"__no-products-description")},Object(u.__)("There are currently no products available to display.","woo-gutenberg-products-block")))},Qe=r(776),We=function(e){var t=e.resetCallback,r=void 0===t?function(){}:t,n=M().layoutStyleClassPrefix;return Object(i.createElement)("div",{className:"".concat(n,"__no-products")},Object(i.createElement)(b.a,{className:"".concat(n,"__no-products-image"),alt:"",srcElement:Qe.a,size:100}),Object(i.createElement)("strong",{className:"".concat(n,"__no-products-title")},Object(u.__)("No products found","woo-gutenberg-products-block")),Object(i.createElement)("p",{className:"".concat(n,"__no-products-description")},Object(u.__)("We were unable to find any results based on your search.","woo-gutenberg-products-block")),Object(i.createElement)("button",{onClick:r},Object(u.__)("Reset Search","woo-gutenberg-products-block")))};function Ge(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ge(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Je=Object(Fe.a)((function(e){var t=e.attributes,r=e.currentPage,n=e.onPageChange,c=e.onSortChange,o=e.sortValue,a=e.scrollToTop,l=Object(Le.c)(function(e){var t=e.sortValue,r=e.currentPage,n=e.attributes,c=n.columns,o=n.rows;return Ke(Ke({},function(e){switch(e){case"menu_order":case"popularity":case"rating":case"price":return{orderby:e,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"};case"date":return{orderby:"date",order:"desc"}}}(t)),{},{catalog_visibility:"catalog",per_page:c*o,page:r})}({attributes:t,sortValue:o,currentPage:r})),s=g()(l,1)[0],b=Ae(s),p=b.products,d=b.totalProducts,f=b.productsLoading,O=M().layoutStyleClassPrefix,m=function(e){e.order,e.orderby,e.page,e.per_page;return Se()(e,["order","orderby","page","per_page"])}(s),j=Object(Le.b)("attributes",[]),v=g()(j,2),h=v[0],y=v[1],w=Object(Le.b)("min_price"),_=g()(w,2),E=_[0],k=_[1],P=Object(Le.b)("max_price"),S=g()(P,2),C=S[0],N=S[1],x=Object(He.a)({totalQuery:m,totalProducts:d},(function(e){var t=e.totalQuery,r=e.totalProducts,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=n.totalQuery;return!Object(Ce.isEqual)(t,c)&&Number.isFinite(r)})),D="object"===R()(x)&&Object(Ce.isEqual)(m,x.totalQuery);Object(i.useEffect)((function(){D||(n(1),x&&function(e){Number.isFinite(e)&&(0===e?Object(Ue.speak)(Object(u.__)("No products found","woo-gutenberg-products-block")):Object(Ue.speak)(Object(u.sprintf)(Object(u._n)("%d product found","%d products found",e,"woo-gutenberg-products-block"),e)))}(d))}),[s]);var B,T,L,I,V,z=t.contentVisibility,A=t.columns*t.rows,H=!Number.isFinite(d)&&D?Math.ceil(x.totalProducts/A):Math.ceil(d/A),U=p.length?p:Array.from({length:A}),Y=0!==p.length||f,q=h.length>0||Number.isFinite(E)||Number.isFinite(C);return Object(i.createElement)("div",{className:(B=t.columns,T=t.rows,L=t.alignButtons,I=t.align,V=void 0!==I?"align"+I:"",F()(O,V,"has-"+B+"-columns",{"has-multiple-rows":T>1,"has-aligned-buttons":L}))},z.orderBy&&Y&&Object(i.createElement)(Re,{onChange:c,value:o}),!Y&&q&&Object(i.createElement)(We,{resetCallback:function(){y([]),k(null),N(null)}}),!Y&&!q&&Object(i.createElement)(qe,null),Y&&Object(i.createElement)("ul",{className:"".concat(O,"__products")},U.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return Object(i.createElement)(Te,{key:e.id||r,attributes:t,product:e})}))),H>1&&Object(i.createElement)(xe,{currentPage:r,onPageChange:function(e){a({focusableSelector:"a, button"}),n(e)},totalPages:H}))})),$e=function(e){var t=e.attributes,r=Object(i.useState)(1),n=g()(r,2),c=n[0],o=n[1],a=Object(i.useState)(t.orderby),u=g()(a,2),l=u[0],s=u[1];Object(i.useEffect)((function(){s(t.orderby)}),[t.orderby]);return Object(i.createElement)(Je,{attributes:t,currentPage:c,onPageChange:function(e){o(e)},onSortChange:function(e){var t=e.target.value;s(t),o(1)},sortValue:l})},Xe=r(162);function Ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=k()(e);if(t){var c=k()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return _()(this,r)}}var et={layoutStyleClassPrefix:"wc-block-grid"},tt={parentName:"woocommerce/all-products"},rt=function(e){y()(r,e);var t=Ze(r);function r(){return m()(this,r),t.apply(this,arguments)}return Ee()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.urlParameterSuffix;return t.isPreview?Xe.a:Object(i.createElement)(I,{value:tt},Object(i.createElement)(A,{value:et},Object(i.createElement)($e,{attributes:t,urlParameterSuffix:r})))}}]),r}(ke.Component);function nt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=k()(e);if(t){var c=k()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return _()(this,r)}}var ct={layoutStyleClassPrefix:"wc-block-grid"},ot={parentName:"woocommerce/all-products"},at=function(e){y()(r,e);var t=nt(r);function r(){var e;m()(this,r);for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),c()(v()(e),"state",{isEditing:!1,innerBlocks:[]}),c()(v()(e),"blockMap",Oe("woocommerce/all-products")),c()(v()(e),"componentDidMount",(function(){var t=e.props.block;e.setState({innerBlocks:t.innerBlocks})})),c()(v()(e),"getTitle",(function(){return Object(u.__)("All Products","woo-gutenberg-products-block")})),c()(v()(e),"getIcon",(function(){return Object(i.createElement)(b.a,{srcElement:d})})),c()(v()(e),"togglePreview",(function(){var t=e.props.debouncedSpeak;e.setState({isEditing:!e.state.isEditing}),e.state.isEditing||t(Object(u.__)("Showing All Products block preview.","woo-gutenberg-products-block"))})),c()(v()(e),"getInspectorControls",(function(){var t=e.props,r=t.attributes,n=t.setAttributes,c=r.columns,o=r.rows,a=r.alignButtons;return Object(i.createElement)(l.InspectorControls,{key:"inspector"},Object(i.createElement)(S.PanelBody,{title:Object(u.__)("Layout Settings","woo-gutenberg-products-block"),initialOpen:!0},Object(i.createElement)(N.a,{columns:c,rows:o,alignButtons:a,setAttributes:n})),Object(i.createElement)(S.PanelBody,{title:Object(u.__)("Content Settings","woo-gutenberg-products-block")},ye(r,n),we(r,n)))})),c()(v()(e),"getBlockControls",(function(){var t=e.state.isEditing;return Object(i.createElement)(l.BlockControls,null,Object(i.createElement)(S.Toolbar,{controls:[{icon:"edit",title:Object(u.__)("Edit","woo-gutenberg-products-block"),onClick:function(){return e.togglePreview()},isActive:t}]}))})),c()(v()(e),"renderEditMode",(function(){var t={template:e.props.attributes.layoutConfig,templateLock:!1,allowedBlocks:Object.keys(e.blockMap)};return 0!==e.props.attributes.layoutConfig.length&&(t.renderAppender=!1),Object(i.createElement)(S.Placeholder,{icon:e.getIcon(),label:e.getTitle()},Object(u.__)("Display all products from your store as a grid.","woo-gutenberg-products-block"),Object(i.createElement)("div",{className:"wc-block-all-products-grid-item-template"},Object(i.createElement)(S.Tip,null,Object(u.__)("Edit the blocks inside the preview below to change the content displayed for each product within the product grid.","woo-gutenberg-products-block")),Object(i.createElement)("div",{className:"wc-block-grid has-1-columns"},Object(i.createElement)("ul",{className:"wc-block-grid__products"},Object(i.createElement)("li",{className:"wc-block-grid__product"},Object(i.createElement)(l.InnerBlocks,t)))),Object(i.createElement)("div",{className:"wc-block-all-products__actions"},Object(i.createElement)(S.Button,{className:"wc-block-all-products__done-button",isPrimary:!0,isLarge:!0,onClick:function(){var t=e.props,r=t.block;(0,t.setAttributes)({layoutConfig:je(r.innerBlocks)}),e.setState({innerBlocks:r.innerBlocks}),e.togglePreview()}},Object(u.__)("Done","woo-gutenberg-products-block")),Object(i.createElement)(S.Button,{className:"wc-block-all-products__cancel-button",isTertiary:!0,onClick:function(){var t=e.props,r=t.block,n=t.replaceInnerBlocks,c=e.state.innerBlocks;n(r.clientId,c,!1),e.togglePreview()}},Object(u.__)("Cancel","woo-gutenberg-products-block")),Object(i.createElement)(S.IconButton,{className:"wc-block-all-products__reset-button",icon:Object(i.createElement)(b.a,{srcElement:d}),label:Object(u.__)("Reset layout to default","woo-gutenberg-products-block"),onClick:function(){var t=e.props,r=t.block,n=t.replaceInnerBlocks,c=[];me.map((function(e){var t=g()(e,2),r=t[0],n=t[1];return c.push(Object(s.createBlock)(r,n)),!0})),n(r.clientId,c,!1),e.setState({innerBlocks:r.innerBlocks})}},Object(u.__)("Reset Layout","woo-gutenberg-products-block")))))})),c()(v()(e),"renderViewMode",(function(){var t=e.props.attributes,r=t.layoutConfig,n=r&&0!==r.length,c=e.getTitle(),o=e.getIcon();return n?Object(i.createElement)(S.Disabled,null,Object(i.createElement)(rt,{attributes:t})):W(c,o)})),c()(v()(e),"render",(function(){var t=e.props.attributes,r=e.state.isEditing,n=e.getTitle(),c=e.getIcon();return x.q?Object(i.createElement)(I,{value:ot},Object(i.createElement)(A,{value:ct},Object(i.createElement)("div",{className:q("wc-block-all-products",t)},e.getBlockControls(),e.getInspectorControls(),r?e.renderEditMode():e.renderViewMode()))):Q(n,c)})),e}return r}(i.Component),it=Object(C.compose)(S.withSpokenMessages,Object(P.withSelect)((function(e,t){var r=t.clientId;return{block:(0,e("core/block-editor").getBlock)(r)}})),Object(P.withDispatch)((function(e){return{replaceInnerBlocks:e("core/block-editor").replaceInnerBlocks}})))(at),ut={columns:x.l,rows:x.n,alignButtons:!1,contentVisibility:{orderBy:!0},orderby:"date",layoutConfig:me,isPreview:!1},lt=r(774),st=r(140),bt={category:"woocommerce",keywords:[Object(u.__)("WooCommerce","woo-gutenberg-products-block")],icon:{src:Object(i.createElement)(b.a,{srcElement:d}),foreground:"#96588a"},supports:{html:!1},parent:["woocommerce/all-products"],attributes:{product:{type:"object",default:lt.a[0]}},save:function(){}};function pt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function dt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?pt(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ft={title:Object(u.__)("Product Title","woo-gutenberg-products-block"),description:Object(u.__)("Display the name of a product.","woo-gutenberg-products-block"),icon:{src:"heading",foreground:"#96588a"},attributes:{product:{type:"object",default:lt.a[0]},headingLevel:{type:"number",default:2},productLink:{type:"boolean",default:!0}},edit:function(e){var t=e.attributes,r=e.setAttributes,n=t.headingLevel,c=t.productLink;return Object(i.createElement)(ke.Fragment,null,Object(i.createElement)(l.InspectorControls,null,Object(i.createElement)(S.PanelBody,{title:Object(u.__)("Content","woo-gutenberg-products-block")},Object(i.createElement)("p",null,Object(u.__)("Level","woo-gutenberg-products-block")),Object(i.createElement)(st.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:n,onChange:function(e){return r({headingLevel:e})}}),Object(i.createElement)(S.ToggleControl,{label:Object(u.__)("Link to Product Page","woo-gutenberg-products-block"),help:Object(u.__)("Links the image to the single product listing.","woo-gutenberg-products-block"),checked:c,onChange:function(){return r({productLink:!c})}}))),Object(i.createElement)(S.Disabled,null,Object(i.createElement)(ce,{headingLevel:n,productLink:c,product:t.product})))}};Object(s.registerBlockType)("woocommerce/product-title",dt(dt({},bt),ft));var gt=r(474);function Ot(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function mt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ot(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ot(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var jt={title:Object(u.__)("Product Price","woo-gutenberg-products-block"),description:Object(u.__)("Display the price of a product.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:gt.a}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)($,{product:t.product})}};Object(s.registerBlockType)("woocommerce/product-price",mt(mt({},bt),jt));var vt=Object(i.createElement)(p.c,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(i.createElement)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86l-3 3.87L9 13.14 6 17h12l-3.86-5.14z"})),ht=r(69);function yt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function wt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?yt(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var _t={title:Object(u.__)("Product Image","woo-gutenberg-products-block"),description:Object(u.__)("Display the main product image","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:vt}),foreground:"#96588a"},attributes:{product:{type:"object",default:lt.a[0]},productLink:{type:"boolean",default:!0},showSaleBadge:{type:"boolean",default:!0},saleBadgeAlign:{type:"string",default:"right"}},edit:function(e){var t=e.attributes,r=e.setAttributes,n=t.productLink,c=t.showSaleBadge,o=t.saleBadgeAlign;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(l.InspectorControls,null,Object(i.createElement)(S.PanelBody,{title:Object(u.__)("Content","woo-gutenberg-products-block")},Object(i.createElement)(S.ToggleControl,{label:Object(u.__)("Link to Product Page","woo-gutenberg-products-block"),help:Object(u.__)("Links the image to the single product listing.","woo-gutenberg-products-block"),checked:n,onChange:function(){return r({productLink:!n})}}),Object(i.createElement)(S.ToggleControl,{label:Object(u.__)("Show On-Sale Badge","woo-gutenberg-products-block"),help:Object(u.__)('Overlay a "sale" badge if the product is on-sale.',"woo-gutenberg-products-block"),checked:c,onChange:function(){return r({showSaleBadge:!c})}}),c&&Object(i.createElement)(ht.a,{label:Object(u.__)("Sale Badge Alignment","woo-gutenberg-products-block"),value:o,options:[{label:Object(u.__)("Left","woo-gutenberg-products-block"),value:"left"},{label:Object(u.__)("Center","woo-gutenberg-products-block"),value:"center"},{label:Object(u.__)("Right","woo-gutenberg-products-block"),value:"right"}],onChange:function(e){return r({saleBadgeAlign:e})}}))),Object(i.createElement)(S.Disabled,null,Object(i.createElement)(re,{product:t.product,productLink:n,showSaleBadge:c,saleBadgeAlign:o})))}};Object(s.registerBlockType)("woocommerce/product-image",wt(wt({},bt),_t));var Et=r(773);function kt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Pt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?kt(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):kt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var St={title:Object(u.__)("Product Rating","woo-gutenberg-products-block"),description:Object(u.__)("Display the average rating of a product.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:Et.a}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)(oe,{product:t.product})}};Object(s.registerBlockType)("woocommerce/product-rating",Pt(Pt({},bt),St));var Ct=r(475);function Nt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function xt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Nt(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Nt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Dt={title:Object(u.__)("Add to Cart Button","woo-gutenberg-products-block"),description:Object(u.__)("Display a call to action button which either adds the product to the cart, or links to the product page.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:Ct.a}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)(S.Disabled,null,Object(i.createElement)(be,{product:t.product}))}};Object(s.registerBlockType)("woocommerce/product-button",xt(xt({},bt),Dt));var Rt=Object(i.createElement)(p.c,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(i.createElement)("path",{d:"M21 11.01L3 11v2h18zM3 16h12v2H3zM21 6H3v2.01L21 8z"}));function Bt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Bt(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Lt={title:Object(u.__)("Product Summary","woo-gutenberg-products-block"),description:Object(u.__)("Display a short description about a product.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:Rt}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)(de,{product:t.product})}};Object(s.registerBlockType)("woocommerce/product-summary",Tt(Tt({},bt),Lt));var It=r(768);function Vt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function zt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Vt(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Mt={title:Object(u.__)("On-Sale Badge","woo-gutenberg-products-block"),description:Object(u.__)("Displays an on-sale badge if the product is on-sale.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:It.a}),foreground:"#96588a"},supports:{html:!1},edit:function(e){var t=e.attributes,r=t.align,n=t.product;return Object(i.createElement)(Z,{product:n,align:r})}};function At(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ht(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?At(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):At(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}Object(s.registerBlockType)("woocommerce/product-sale-badge",zt(zt({},bt),Mt));var Ft={title:Object(u.__)("All Products","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:d}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(u.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(u.__)("Display products from your store in a grid layout.","woo-gutenberg-products-block"),supports:{align:["wide","full"],html:!1,multiple:!1},example:{attributes:{isPreview:!0}},attributes:{columns:{type:"number"},rows:{type:"number"},alignButtons:{type:"boolean"},contentVisibility:{type:"object"},orderby:{type:"string"},layoutConfig:{type:"array"},isPreview:{type:"boolean",default:!1}},defaults:ut,edit:function(e){return Object(i.createElement)(it,e)},save:function(e){var t=e.attributes,r={};Object.keys(t).sort().forEach((function(e){r[e]=t[e]}));var n={"data-attributes":JSON.stringify(r)};return Object(i.createElement)("div",a()({className:q("wc-block-all-products",t)},n),Object(i.createElement)(l.InnerBlocks.Content,null))}};Object(s.registerBlockType)("woocommerce/all-products",Ht(Ht({},Ft),{},{deprecated:[{attributes:Object.assign({},Ft.attributes,{rows:{type:"number",default:1}}),save:function(e){var t=e.attributes,r={"data-attributes":JSON.stringify(t)};return Object(i.createElement)("div",a()({className:q("wc-block-all-products",t)},r),Object(i.createElement)(l.InnerBlocks.Content,null))}}]}))},93:function(e,t){!function(){e.exports=this.wp.autop}()},95:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0),c=Object(n.createContext)("page"),o=function(){return Object(n.useContext)(c)};c.Provider}});
1
+ this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["all-products"]=function(e){function t(t){for(var n,a,i=t[0],u=t[1],s=t[2],b=0,p=[];b<i.length;b++)a=i[b],Object.prototype.hasOwnProperty.call(c,a)&&c[a]&&p.push(c[a][0]),c[a]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(l&&l(t);p.length;)p.shift()();return o.push.apply(o,s||[]),r()}function r(){for(var e,t=0;t<o.length;t++){for(var r=o[t],n=!0,i=1;i<r.length;i++){var u=r[i];0!==c[u]&&(n=!1)}n&&(o.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},c={5:0},o=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var i=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],u=i.push.bind(i);i.push=t,i=i.slice();for(var s=0;s<i.length;s++)t(i[s]);var l=u;return o.push([836,2,0,1]),r()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},105:function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n=r(8),c=r.n(n),o=r(204),a=r(0);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var s=function(){var e=Object(o.b)(),t=e.notices,r=e.createNotice,n=e.removeNotice,c=e.createSnackbarNotice,i=e.setIsSuppressed,s=Object(a.useRef)(t);Object(a.useEffect)((function(){s.current=t}),[t]);var l=Object(a.useMemo)((function(){return{hasNoticesOfType:function(e){return s.current.some((function(t){return t.type===e}))},removeNotices:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;s.current.map((function(t){return null!==e&&t.status!==e||n(t.id),!0}))},removeNotice:n}}),[n]),b=Object(a.useMemo)((function(){return{addDefaultNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("default",e,u({},t))},addErrorNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("error",e,u({},t))},addWarningNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("warning",e,u({},t))},addInfoNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("info",e,u({},t))},addSuccessNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r("success",e,u({},t))},addSnackbarNotice:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c(e,t)}}}),[r,c]);return u(u(u({notices:t},l),b),{},{setIsSuppressed:i})}},107:function(e,t){!function(){e.exports=this.wp.wordcount}()},129:function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n=r(39),c=r(35),o=r(202),a=r(33),i=r(6),u={cartCoupons:[],cartItems:[],cartItemsCount:0,cartItemsWeight:0,cartNeedsPayment:!0,cartNeedsShipping:!0,cartItemErrors:[],cartTotals:{},cartIsLoading:!0,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:[],shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:function(){}},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{shouldSelect:!0},t=Object(o.b)(),r=t.isEditor,s=t.previewData,l=(null==s?void 0:s.previewCart)||{},b=e.shouldSelect,p=Object(c.useSelect)((function(e,t){var c=t.dispatch;if(!b)return u;if(r)return{cartCoupons:l.coupons,cartItems:l.items,cartItemsCount:l.items_count,cartItemsWeight:l.items_weight,cartNeedsPayment:l.needs_payment,cartNeedsShipping:l.needs_shipping,cartItemErrors:[],cartTotals:l.totals,cartIsLoading:!1,cartErrors:[],shippingAddress:{first_name:"",last_name:"",company:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:""},shippingRates:l.shipping_rates,shippingRatesLoading:!1,hasShippingAddress:!1,receiveCart:"function"==typeof(null==l?void 0:l.receiveCart)?l.receiveCart:function(){}};var o=e(n.CART_STORE_KEY),s=o.getCartData(),p=o.getCartErrors(),d=o.getCartTotals(),f=!o.hasFinishedResolution("getCartData"),g=o.areShippingRatesLoading(),m=c(n.CART_STORE_KEY).receiveCart,O=Object(i.mapValues)(s.shippingAddress,(function(e){return Object(a.decodeEntities)(e)}));return{cartCoupons:s.coupons,cartItems:s.items,cartItemsCount:s.itemsCount,cartItemsWeight:s.itemsWeight,cartNeedsPayment:s.needsPayment,cartNeedsShipping:s.needsShipping,cartItemErrors:s.errors,cartTotals:d,cartIsLoading:f,cartErrors:p,shippingAddress:O,shippingRates:s.shippingRates,shippingRatesLoading:g,hasShippingAddress:!!O.country,receiveCart:m}}),[b]);return p}},130:function(e,t){!function(){e.exports=this.wc.wcBlocksRegistry}()},133:function(e,t,r){"use strict";var n=r(23),c=r.n(n),o=r(0),a=(r(2),r(1)),i=r(7),u=r.n(i),s=r(44),l=r(40);r(481);t.a=function(e){var t=e.className,r=e.align,n=c()(e,["className","align"]),i=Object(l.useInnerBlockLayoutContext)().parentClassName,b=Object(l.useProductDataContext)(),p=n.product||b.product;if(!p||!p.on_sale)return null;var d="string"==typeof r?"wc-block-components-product-sale-badge--align".concat(r):"";return Object(o.createElement)("div",{className:u()("wc-block-components-product-sale-badge",t,d,"".concat(i,"__product-onsale"))},Object(o.createElement)(s.a,{label:Object(a.__)("Sale","woo-gutenberg-products-block"),screenReaderLabel:Object(a.__)("Product on sale","woo-gutenberg-products-block")}))}},139:function(e,t,r){"use strict";var n=r(0),c=r(63),o=Object(n.createElement)(c.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}));t.a=o},14:function(e,t){!function(){e.exports=this.wp.blocks}()},143:function(e,t,r){"use strict";var n=r(0),c=(r(2),r(7)),o=r.n(c),a=r(44),i=r(182);r(278);t.a=Object(i.a)((function(e){var t=e.className,r=e.instanceId,c=e.defaultValue,i=e.label,u=e.onChange,s=e.options,l=e.screenReaderLabel,b=e.readOnly,p=e.value,d="wc-block-sort-select__select-".concat(r);return Object(n.createElement)("div",{className:o()("wc-block-sort-select",t)},Object(n.createElement)(a.a,{label:i,screenReaderLabel:l,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:d}}),Object(n.createElement)("select",{id:d,className:"wc-block-sort-select__select",defaultValue:c,onChange:u,readOnly:b,value:p},s.map((function(e){return Object(n.createElement)("option",{key:e.key,value:e.key},e.label)}))))}))},145:function(e,t,r){"use strict";var n=r(20),c=r.n(n),o=r(26),a=r.n(o),i=r(21),u=r.n(i),s=r(22),l=r.n(s),b=r(12),p=r.n(b),d=r(0),f=r(6),g=r(1),m=r(4);function O(e){var t=e.level,r={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return r.hasOwnProperty(t)?Object(d.createElement)(m.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(d.createElement)(m.Path,{d:r[t]})):null}function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=p()(e);if(t){var c=p()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return l()(this,r)}}var v=function(e){u()(r,e);var t=j(r);function r(){return c()(this,r),t.apply(this,arguments)}return a()(r,[{key:"createLevelControl",value:function(e,t,r){var n=e===t;return{icon:Object(d.createElement)(O,{level:e}),title:Object(g.sprintf)(Object(g.__)("Heading %d"),e),isActive:n,onClick:function(){return r(e)}}}},{key:"render",value:function(){var e=this,t=this.props,r=t.isCollapsed,n=void 0===r||r,c=t.minLevel,o=t.maxLevel,a=t.selectedLevel,i=t.onChange;return Object(d.createElement)(m.Toolbar,{isCollapsed:n,icon:Object(d.createElement)(O,{level:a}),controls:Object(f.range)(c,o).map((function(t){return e.createLevelControl(t,a,i)}))})}}]),r}(d.Component);t.a=v},146:function(e,t,r){"use strict";var n=r(0),c=r(107),o=r(77),a=function(e){var t=e.indexOf("</p>");return-1===t?e:e.substr(0,t+4)},i=function(e){return e.replace(/<\/?[a-z][^>]*?>/gi,"")},u=function(e,t){return e.replace(/[\s|\.\,]+$/i,"")+t},s=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"&hellip;",n=i(e),c=n.split(" ").splice(0,t).join(" ");return Object(o.autop)(u(c,r))},l=function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"&hellip;",c=i(e),a=c.slice(0,t);if(r)return Object(o.autop)(u(a,n));var s=a.match(/([\s]+)/g),l=s?s.length:0,b=c.slice(0,t+l);return Object(o.autop)(u(b,n))};t.a=function(e){var t=e.source,r=e.maxLength,i=void 0===r?15:r,u=e.countType,b=void 0===u?"words":u,p=e.className,d=void 0===p?"":p,f=Object(n.useMemo)((function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"words",n=Object(o.autop)(e),i=Object(c.count)(n,r);if(i<=t)return n;var u=a(n),b=Object(c.count)(u,r);return b<=t?u:"words"===r?s(u,t):l(u,t,"characters_including_spaces"===r)}(t,i,b)}),[t,i,b]);return Object(n.createElement)(n.RawHTML,{className:d},f)}},148:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(11),c=r.n(n),o=r(0),a=function(){var e=Object(o.useState)(),t=c()(e,2)[1];return function(e){return t((function(){throw e}))}}},15:function(e,t){!function(){e.exports=this.regeneratorRuntime}()},160:function(e,t,r){"use strict";var n=r(0),c=r(63),o=Object(n.createElement)(c.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("mask",{id:"external-mask",width:"24",height:"24",x:"0",y:"0",maskUnits:"userSpaceOnUse"},Object(n.createElement)("path",{fill:"#fff",d:"M6.3431 6.3431v1.994l7.8984.0072-8.6055 8.6054 1.4142 1.4143 8.6055-8.6055.0071 7.8984h1.994V6.3431H6.3431z"})),Object(n.createElement)("g",{mask:"url(#external-mask)"},Object(n.createElement)("path",{d:"M0 0h24v24H0z"})));t.a=o},165:function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return p})),r.d(t,"c",(function(){return d}));var n=r(11),c=r.n(n),o=r(39),a=r(35),i=r(0),u=r(96),s=r(6),l=r(57),b=function(e){var t=Object(u.a)();e=e||t;var r=Object(a.useSelect)((function(t){return t(o.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(a.useDispatch)(o.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(i.useCallback)((function(t){n(e,t)}),[e])]},p=function(e,t,r){var n=Object(u.a)();r=r||n;var c=Object(a.useSelect)((function(n){return n(o.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),s=Object(a.useDispatch)(o.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(i.useCallback)((function(t){s(r,e,t)}),[r,e])]},d=function(e,t){var r=Object(u.a)(),n=b(t=t||r),o=c()(n,2),a=o[0],p=o[1],d=Object(l.a)(e),f=Object(i.useRef)(!1);return Object(i.useEffect)((function(){p(Object(s.assign)({},a,d)),f.current=!0}),[d]),f.current?[a,p]:[e,p]}},167:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0),c=r(5),o=Object(n.createElement)("img",{src:c.Q+"img/grid.svg",alt:"Grid Preview",width:"230",height:"250",style:{width:"100%"}})},187:function(e,t,r){"use strict";r.d(t,"c",(function(){return d})),r.d(t,"b",(function(){return f})),r.d(t,"a",(function(){return g}));var n=r(8),c=r.n(n),o=r(54),a=r.n(o),i=r(3);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l,b,p={code:i.CURRENCY.code,symbol:i.CURRENCY.symbol,thousandSeparator:i.CURRENCY.thousandSeparator,decimalSeparator:i.CURRENCY.decimalSeparator,minorUnit:i.CURRENCY.precision,prefix:(l=i.CURRENCY.symbol,b=i.CURRENCY.symbolPosition,{left:l,left_space:" "+l,right:"",right_space:""}[b]||""),suffix:function(e,t){return{left:"",left_space:"",right:e,right_space:" "+e}[t]||""}(i.CURRENCY.symbol,i.CURRENCY.symbolPosition)},d=function(e){if(!e||"object"!==a()(e))return p;var t=e.currency_code,r=e.currency_symbol,n=e.currency_thousand_separator,c=e.currency_decimal_separator,o=e.currency_minor_unit,i=e.currency_prefix,u=e.currency_suffix;return{code:t||"USD",symbol:r||"$",thousandSeparator:"string"==typeof n?n:",",decimalSeparator:"string"==typeof c?c:".",minorUnit:Number.isFinite(o)?o:2,prefix:"string"==typeof i?i:"$",suffix:"string"==typeof u?u:""}},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(s({},p),e)},g=function(e,t){if(""===e||void 0===e)return"";var r=parseInt(e,10);if(!Number.isFinite(r))return"";var n=f(t),c=r/Math.pow(10,n.minorUnit),o=n.prefix+c+n.suffix,a=document.createElement("textarea");return a.innerHTML=o,a.value}},189:function(e,t,r){"use strict";t.a={headingLevel:{type:"number",default:2},productLink:{type:"boolean",default:!0}}},190:function(e,t,r){"use strict";var n=r(23),c=r.n(n),o=r(0),a=(r(2),r(7)),i=r.n(a),u=r(33),s=r(40);r(478);t.a=function(e){var t=e.className,r=e.headingLevel,n=void 0===r?2:r,a=e.productLink,l=void 0===a||a,b=c()(e,["className","headingLevel","productLink"]),p=Object(s.useInnerBlockLayoutContext)().parentClassName,d=Object(s.useProductDataContext)(),f=b.product||d.product,g="h".concat(n);if(!f)return Object(o.createElement)(g,{className:i()(t,"wc-block-components-product-title","".concat(p,"__product-title"))});var m=Object(u.decodeEntities)(f.name);return Object(o.createElement)(g,{className:i()(t,"wc-block-components-product-title","".concat(p,"__product-title"))},l?Object(o.createElement)("a",{href:f.permalink,rel:"nofollow"},m):m)}},191:function(e,t,r){"use strict";var n=r(23),c=r.n(n),o=r(0),a=(r(2),r(7)),i=r.n(a),u=r(55),s=r(187),l=r(40),b=(r(479),function(e){return e.price_range&&e.price_range.min_amount&&e.price_range.max_amount}),p=function(e){var t=e.currency,r=e.minAmount,n=e.maxAmount,c=Object(l.useInnerBlockLayoutContext)().parentClassName;return Object(o.createElement)("span",{className:i()("wc-block-components-product-price__value","".concat(c,"__product-price__value"))},Object(o.createElement)(u.a,{currency:t,value:r})," — ",Object(o.createElement)(u.a,{currency:t,value:n}))},d=function(e){var t=e.currency,r=e.price,n=e.regularPrice,c=Object(l.useInnerBlockLayoutContext)().parentClassName;return Object(o.createElement)(o.Fragment,null,n!==r&&Object(o.createElement)("del",{className:i()("wc-block-components-product-price__regular","".concat(c,"__product-price__regular"))},Object(o.createElement)(u.a,{currency:t,value:n})),Object(o.createElement)("span",{className:i()("wc-block-components-product-price__value","".concat(c,"__product-price__value"))},Object(o.createElement)(u.a,{currency:t,value:r})))};t.a=function(e){var t=e.className,r=c()(e,["className"]),n=Object(l.useInnerBlockLayoutContext)().parentClassName,a=Object(l.useProductDataContext)(),u=r.product||a.product;if(!u)return Object(o.createElement)("div",{className:i()(t,"price","wc-block-components-product-price","".concat(n,"__product-price"))});var f=u.prices||{},g=Object(s.c)(f);return Object(o.createElement)("div",{className:i()(t,"price","wc-block-components-product-price","".concat(n,"__product-price"))},b(f)?Object(o.createElement)(p,{currency:g,minAmount:f.price_range.min_amount,maxAmount:f.price_range.max_amount}):Object(o.createElement)(d,{currency:g,price:f.price,regularPrice:f.regular_price}))}},192:function(e,t,r){"use strict";t.a={productLink:{type:"boolean",default:!0},showSaleBadge:{type:"boolean",default:!0},saleBadgeAlign:{type:"string",default:"right"}}},193:function(e,t,r){"use strict";var n=r(11),c=r.n(n),o=r(23),a=r.n(o),i=r(0),u=(r(2),r(7)),s=r.n(u),l=r(5),b=r(40),p=r(133),d=(r(482),function(){return Object(i.createElement)("img",{src:l.C,alt:""})}),f=function(e){var t=e.image,r=e.onLoad,n=e.loaded,c=t||{},o=c.thumbnail,a=c.srcset,u=c.sizes,s=c.alt;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)("img",{src:o,srcSet:a,sizes:u,alt:s,onLoad:r,hidden:!n}),!n&&Object(i.createElement)(d,null))};t.a=function(e){var t=e.className,r=e.productLink,n=void 0===r||r,o=e.showSaleBadge,u=e.saleBadgeAlign,l=void 0===u?"right":u,g=a()(e,["className","productLink","showSaleBadge","saleBadgeAlign"]),m=Object(b.useInnerBlockLayoutContext)().parentClassName,O=Object(b.useProductDataContext)(),j=g.product||O.product,v=Object(i.useState)(!1),h=c()(v,2),w=h[0],y=h[1];if(!j)return Object(i.createElement)("div",{className:s()(t,"wc-block-components-product-image","wc-block-components-product-image--placeholder","".concat(m,"__product-image"))},Object(i.createElement)(d,null));var _=(null==j?void 0:j.images)&&j.images.length?j.images[0]:null;return Object(i.createElement)("div",{className:s()(t,"wc-block-components-product-image","".concat(m,"__product-image"))},n?Object(i.createElement)("a",{href:j.permalink,rel:"nofollow"},!!o&&Object(i.createElement)(p.a,{align:l,product:j}),Object(i.createElement)(f,{image:_,onLoad:function(){return y(!0)},loaded:w})):Object(i.createElement)(i.Fragment,null,!!o&&Object(i.createElement)(p.a,{align:l,product:j}),Object(i.createElement)(f,{image:_,onLoad:function(){return y(!0)},loaded:w})))}},194:function(e,t,r){"use strict";var n=r(23),c=r.n(n),o=r(0),a=(r(2),r(1)),i=r(7),u=r.n(i),s=r(40),l=(r(483),function(e){var t=parseFloat((null==e?void 0:e.average_rating)||0);return Number.isFinite(t)&&t>0?t:0});t.a=function(e){var t=e.className,r=c()(e,["className"]),n=Object(s.useInnerBlockLayoutContext)().parentClassName,i=Object(s.useProductDataContext)(),b=r.product||i.product,p=l(b);if(!p)return null;var d={width:p/5*100+"%"},f=Object(a.sprintf)(Object(a.__)("Rated %f out of 5","woo-gutenberg-products-block"),p);return Object(o.createElement)("div",{className:u()(t,"star-rating","wc-block-components-product-rating","".concat(n,"__product-rating"))},Object(o.createElement)("div",{className:u()("wc-block-components-product-rating__stars","".concat(n,"__product-rating__stars")),role:"img","aria-label":f},Object(o.createElement)("span",{style:d},f)))}},195:function(e,t,r){"use strict";var n=r(23),c=r.n(n),o=r(0),a=(r(2),r(7)),i=r.n(a),u=r(146),s=r(3),l=r(40);r(486);t.a=function(e){var t=e.className,r=c()(e,["className"]),n=Object(l.useInnerBlockLayoutContext)().parentClassName,a=(Object(l.useProductDataContext)()||r).product;if(!a)return Object(o.createElement)("div",{className:i()(t,"wc-block-components-product-summary")});var b=a.short_description?a.short_description:a.description;if(!b)return null;var p=Object(s.getSetting)("wordCountType","words");return Object(o.createElement)(u.a,{className:i()(t,"wc-block-components-product-summary","".concat(n,"__product-summary")),source:b,maxLength:150,countType:p})}},196:function(e,t,r){"use strict";var n=r(23),c=r.n(n),o=r(0),a=r(1),i=(r(2),r(7)),u=r.n(i),s=r(40);r(487);t.a=function(e){var t=e.className,r=c()(e,["className"]),n=Object(s.useInnerBlockLayoutContext)().parentClassName,i=Object(s.useProductDataContext)(),l=(r.product||i.product||{}).sku||"";return l?Object(o.createElement)("div",{className:u()(t,"wc-block-components-product-sku","".concat(n,"__product-sku"))},Object(a.__)("SKU:","woo-gutenberg-products-block")," ",Object(o.createElement)("strong",null,l)):null}},197:function(e,t,r){"use strict";r.d(t,"a",(function(){return u}));var n=r(39),c=r(35),o=r(0),a=r(148),i=r(57),u=function(e){var t=e.namespace,r=e.resourceName,u=e.resourceValues,s=void 0===u?[]:u,l=e.query,b=void 0===l?{}:l,p=e.shouldSelect,d=void 0===p||p;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var f=Object(o.useRef)({results:[],isLoading:!0}),g=Object(i.a)(b),m=Object(i.a)(s),O=Object(a.a)(),j=Object(c.useSelect)((function(e){if(!d)return null;var c=e(n.COLLECTIONS_STORE_KEY),o=[t,r,g,m],a=c.getCollectionError.apply(c,o);return a&&O(a),{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,r,m,g,d]);return null!==j&&(f.current=j),f.current}},198:function(e,t,r){"use strict";var n=r(10),c=r.n(n),o=r(23),a=r.n(o),i=r(0),u=(r(2),r(7)),s=r.n(u),l=r(1),b=r(11),p=r.n(b),d=r(35),f=r(129),g=r(39),m=r(33),O=r(105),j=function(e,t){var r=e.find((function(e){return e.id===t}));return r?r.quantity:0},v=r(485),h=r(40),w=(r(484),function(e){var t=e.product,r=Object(i.useRef)(!0),n=t.id,o=t.permalink,a=t.add_to_cart,u=t.has_options,b=t.is_purchasable,h=t.is_in_stock,w=function(e){var t=Object(d.useDispatch)(g.CART_STORE_KEY).addItemToCart,r=Object(f.a)(),n=r.cartItems,c=r.cartIsLoading,o=Object(O.a)(),a=o.addErrorNotice,u=o.removeNotice,s=Object(i.useState)(!1),l=p()(s,2),b=l[0],v=l[1],h=Object(i.useRef)(j(n,e));return Object(i.useEffect)((function(){var t=j(n,e);t!==h.current&&(h.current=t)}),[n,e]),{cartQuantity:h.current,addingToCart:b,cartIsLoading:c,addToCart:function(){v(!0),t(e).then((function(e){!0===e&&u("add-to-cart")})).catch((function(e){a(Object(m.decodeEntities)(e.message),{context:"wc/all-products",id:"add-to-cart",isDismissible:!0})})).finally((function(){v(!1)}))}}}(n),y=w.cartQuantity,_=w.addingToCart,E=w.addToCart;Object(i.useEffect)((function(){r.current?r.current=!1:Object(v.a)()}),[y]);var k=Number.isFinite(y)&&y>0,P=!u&&b&&h,C=Object(m.decodeEntities)((null==a?void 0:a.description)||""),S=k?Object(l.sprintf)(Object(l._n)("%d in cart","%d in cart",y,"woo-gutenberg-products-block"),y):Object(m.decodeEntities)((null==a?void 0:a.text)||Object(l.__)("Add to cart","woo-gutenberg-products-block")),N=P?"button":"a",x={};return P?x.onClick=E:(x.href=o,x.rel="nofollow"),Object(i.createElement)(N,c()({"aria-label":C,className:s()("wp-block-button__link","add_to_cart_button","wc-block-components-product-button__button",{loading:_,added:k}),disabled:_},x),S)}),y=function(){return Object(i.createElement)("button",{className:s()("wp-block-button__link","add_to_cart_button","wc-block-components-product-button__button","wc-block-components-product-button__button--placeholder"),disabled:!0})};t.a=function(e){var t=e.className,r=a()(e,["className"]),n=Object(h.useInnerBlockLayoutContext)().parentClassName,c=Object(h.useProductDataContext)(),o=r.product||c.product;return Object(i.createElement)("div",{className:s()(t,"wp-block-button","wc-block-components-product-button","".concat(n,"__product-add-to-cart"))},o?Object(i.createElement)(w,{product:o}):Object(i.createElement)(y,null))}},202:function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return i}));var n=r(0),c=r(35),o=Object(n.createContext)({isEditor:!1,currentPostId:0,previewData:{}}),a=function(){return Object(n.useContext)(o)},i=function(e){var t=e.children,r=e.currentPostId,a=void 0===r?0:r,i=e.previewData,u=void 0===i?{}:i,s={isEditor:!0,currentPostId:Object(c.useSelect)((function(e){return a||e("core/editor").getCurrentPostId()}),[a]),previewData:u};return Object(n.createElement)(o.Provider,{value:s},t)}},204:function(e,t,r){"use strict";r.d(t,"b",(function(){return _})),r.d(t,"a",(function(){return E}));var n=r(8),c=r.n(n),o=r(11),a=r.n(o),i=r(0),u=(r(2),r(35)),s=r(10),l=r.n(s),b=r(7),p=r.n(b),d=r(881),f=(r(279),function(e){var t=e.status;switch(void 0===t?"default":t){case"error":return"woocommerce-error";case"success":return"woocommerce-success";case"info":case"warning":return"woocommerce-info"}return""}),g=function(e){var t=e.className,r=e.notices,n=_().removeNotice,c=p()(t,"wc-block-components-notices"),o=r.filter((function(e){return"snackbar"!==e.type}));return o.length?Object(i.createElement)("div",{className:c},o.map((function(e){return Object(i.createElement)(d.a,l()({key:"store-notice-"+e.id},e,{className:p()("wc-block-components-notices__notice","woocommerce-message",f(e)),onRemove:function(){e.isDismissible&&n(e.id)}}),e.content)}))):null},m=r(885),O=r(105),j=r(202),v=function(){var e=Object(j.b)().isEditor,t=Object(O.a)(),r=t.notices,n=t.removeNotice,c=r.filter((function(e){return"snackbar"===e.type}));return e?null:Object(i.createElement)(m.a,{notices:c,className:"wc-block-notices__snackbar",onRemove:n})};function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var y=Object(i.createContext)({notices:[],createNotice:function(e,t,r){},createSnackbarNotice:function(e,t){},removeNotice:function(e,t){},setIsSuppressed:function(e){},context:"wc/core"}),_=function(){return Object(i.useContext)(y)},E=function(e){var t=e.children,r=e.className,n=void 0===r?"":r,c=e.createNoticeContainer,o=void 0===c||c,s=e.context,l=void 0===s?"wc/core":s,b=Object(u.useDispatch)("core/notices"),p=b.createNotice,d=b.removeNotice,f=Object(i.useState)(!1),m=a()(f,2),O=m[0],j=m[1],h=Object(i.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p(e,t,w(w({},r),{},{context:r.context||l}))}),[p,l]),_=Object(i.useCallback)((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l;d(e,t)}),[d,l]),E=Object(i.useCallback)((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};h("default",e,w(w({},t),{},{type:"snackbar"}))}),[h]),k={notices:Object(u.useSelect)((function(e){return{notices:e("core/notices").getNotices(l)}}),[l]).notices,createNotice:h,createSnackbarNotice:E,removeNotice:_,context:l,setIsSuppressed:j},P=O?null:Object(i.createElement)(g,{className:n,notices:k.notices}),C=O?null:Object(i.createElement)(v,null);return Object(i.createElement)(y.Provider,{value:k},o&&P,t,C)}},221:function(e,t,r){"use strict";var n=r(10),c=r.n(n),o=r(23),a=r.n(o),i=r(0),u=r(63),s=r(7),l=r.n(s),b=function(e){var t=e.className,r=e.size,n=a()(e,["className","size"]),o=l()("dashicon","dashicons-arrow-down-alt2",t);return Object(i.createElement)(u.a,c()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:o,width:r,height:r},n),Object(i.createElement)("path",{d:"M5 6l5 5 5-5 2 1-7 7-7-7z"}))},p=function(e){var t=e.className,r=e.size,n=a()(e,["className","size"]),o=l()("dashicon","dashicons-arrow-down-alt2",t);return Object(i.createElement)(u.a,c()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:o,width:r,height:r},n),Object(i.createElement)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"}))};t.a=({icon:e,size:t=20,className:r,...n})=>{let c=()=>null;switch(e){case"arrow-down-alt2":c=b;break;case"no-alt":c=p}return Object(i.createElement)(c,{size:t,className:r,...n})}},24:function(e,t){!function(){e.exports=this.wp.blockEditor}()},248:function(e,t){!function(){e.exports=this.wp.deprecated}()},249:function(e,t,r){"use strict";var n=r(0),c=r(1),o=r(58),a=r(160),i=r(3),u=r(24);t.a=function(e){var t=e.productId;return Object(n.createElement)(u.InspectorControls,null,Object(n.createElement)("div",{className:"wc-block-single-product__edit-card"},Object(n.createElement)("div",{className:"wc-block-single-product__edit-card-title"},Object(n.createElement)("a",{href:"".concat(i.ADMIN_URL,"post.php?post=").concat(t,"&action=edit"),target:"_blank",rel:"noopener noreferrer"},Object(c.__)("Edit this product's details","woo-gutenberg-products-block"),Object(n.createElement)(o.a,{srcElement:a.a,size:16}))),Object(n.createElement)("div",{className:"wc-block-single-product__edit-card-description"},Object(c.__)("Edit details such as title, price, description and more.","woo-gutenberg-products-block"))))}},25:function(e,t){!function(){e.exports=this.wp.compose}()},250:function(e,t,r){"use strict";var n=r(10),c=r.n(n),o=r(20),a=r.n(o),i=r(26),u=r.n(i),s=r(19),l=r.n(s),b=r(21),p=r.n(b),d=r(22),f=r.n(d),g=r(12),m=r.n(g),O=r(8),j=r.n(O),v=r(0),h=r(9);r(489);function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=m()(e);if(t){var c=m()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return f()(this,r)}}t.a=function(e){var t=function(t){p()(n,t);var r=w(n);function n(){var e;return a()(this,n),e=r.call(this),j()(l()(e),"scrollToTopIfNeeded",(function(){var t=e.scrollPointRef.current.getBoundingClientRect().bottom;t>=0&&t<=window.innerHeight||e.scrollPointRef.current.scrollIntoView()})),j()(l()(e),"moveFocusToTop",(function(t){var r=e.scrollPointRef.current.parentElement.querySelectorAll(t);r.length&&r[0].focus()})),j()(l()(e),"scrollToTop",(function(t){window&&Number.isFinite(window.innerHeight)&&(e.scrollToTopIfNeeded(),t&&t.focusableSelector&&e.moveFocusToTop(t.focusableSelector))})),e.scrollPointRef=Object(h.createRef)(),e}return u()(n,[{key:"render",value:function(){return Object(v.createElement)(h.Fragment,null,Object(v.createElement)("div",{className:"with-scroll-to-top__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),Object(v.createElement)(e,c()({},this.props,{scrollToTop:this.scrollToTop})))}}]),n}(h.Component);return t.displayName="withScrollToTop",t}},3:function(e,t){!function(){e.exports=this.wc.wcSettings}()},33:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},35:function(e,t){!function(){e.exports=this.wp.data}()},39:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},4:function(e,t){!function(){e.exports=this.wp.components}()},40:function(e,t){!function(){e.exports=this.wc.wcSharedContext}()},44:function(e,t,r){"use strict";var n=r(8),c=r.n(n),o=r(0),a=(r(2),r(9)),i=r(7),u=r.n(i);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=function(e){var t,r=e.label,n=e.screenReaderLabel,c=e.wrapperElement,i=e.wrapperProps,s=null!=r,b=null!=n;return!s&&b?(t=c||"span",i=l(l({},i),{},{className:u()(i.className,"screen-reader-text")}),Object(o.createElement)(t,i,n)):(t=c||a.Fragment,s&&b&&r!==n?Object(o.createElement)(t,i,Object(o.createElement)("span",{"aria-hidden":"true"},r),Object(o.createElement)("span",{className:"screen-reader-text"},n)):Object(o.createElement)(t,i,r))};b.defaultProps={wrapperProps:{}},t.a=b},48:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},480:function(e,t,r){"use strict";var n=r(0),c=r(63),o=Object(n.createElement)(c.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M11 17h2v-1h1c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1h-3v-1h4V8h-2V7h-2v1h-1c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3v1H9v2h2v1zm9-13H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12z"}));t.a=o},485:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=window.Event||null,c=function(){if("function"==typeof n){var e=new n("wc_fragment_refresh",{bubbles:!0,cancelable:!0});document.body.dispatchEvent(e)}else{var t=document.createEvent("Event");t.initEvent("wc_fragment_refresh",!0,!0),document.body.dispatchEvent(t)}}},488:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(9),c=function(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,r.current]),r.current}},5:function(e,t,r){"use strict";r.d(t,"k",(function(){return c})),r.d(t,"G",(function(){return o})),r.d(t,"M",(function(){return a})),r.d(t,"x",(function(){return i})),r.d(t,"z",(function(){return u})),r.d(t,"l",(function(){return s})),r.d(t,"y",(function(){return l})),r.d(t,"B",(function(){return b})),r.d(t,"n",(function(){return p})),r.d(t,"A",(function(){return d})),r.d(t,"m",(function(){return f})),r.d(t,"C",(function(){return g})),r.d(t,"t",(function(){return m})),r.d(t,"w",(function(){return O})),r.d(t,"q",(function(){return j})),r.d(t,"r",(function(){return v})),r.d(t,"s",(function(){return h})),r.d(t,"j",(function(){return w})),r.d(t,"I",(function(){return y})),r.d(t,"N",(function(){return _})),r.d(t,"p",(function(){return E})),r.d(t,"o",(function(){return k})),r.d(t,"F",(function(){return P})),r.d(t,"c",(function(){return C})),r.d(t,"u",(function(){return S})),r.d(t,"v",(function(){return N})),r.d(t,"Q",(function(){return D})),r.d(t,"H",(function(){return B})),r.d(t,"a",(function(){return L})),r.d(t,"K",(function(){return R})),r.d(t,"b",(function(){return T})),r.d(t,"J",(function(){return I})),r.d(t,"h",(function(){return V})),r.d(t,"L",(function(){return A})),r.d(t,"g",(function(){return H})),r.d(t,"i",(function(){return F})),r.d(t,"E",(function(){return U})),r.d(t,"D",(function(){return Y})),r.d(t,"P",(function(){return Q})),r.d(t,"O",(function(){return q})),r.d(t,"d",(function(){return K})),r.d(t,"e",(function(){return W})),r.d(t,"f",(function(){return G})),r.d(t,"R",(function(){return $})),r.d(t,"S",(function(){return X}));var n=r(3),c=Object(n.getSetting)("currentUserIsAdmin",!1),o=Object(n.getSetting)("reviewRatingsEnabled",!0),a=Object(n.getSetting)("showAvatars",!0),i=Object(n.getSetting)("max_columns",6),u=Object(n.getSetting)("min_columns",1),s=Object(n.getSetting)("default_columns",3),l=Object(n.getSetting)("max_rows",6),b=Object(n.getSetting)("min_rows",1),p=Object(n.getSetting)("default_rows",3),d=Object(n.getSetting)("min_height",500),f=Object(n.getSetting)("default_height",500),g=Object(n.getSetting)("placeholderImgSrc",""),m=(Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog")),O=Object(n.getSetting)("limitTags"),j=Object(n.getSetting)("hasProducts",!0),v=Object(n.getSetting)("hasTags",!0),h=Object(n.getSetting)("homeUrl",""),w=Object(n.getSetting)("couponsEnabled",!0),y=Object(n.getSetting)("shippingEnabled",!0),_=Object(n.getSetting)("taxesEnabled",!0),E=Object(n.getSetting)("displayItemizedTaxes",!1),k=(Object(n.getSetting)("displayShopPricesIncludingTax",!1),Object(n.getSetting)("displayCartPricesIncludingTax",!1)),P=Object(n.getSetting)("productCount",0),C=Object(n.getSetting)("attributes",[]),S=Object(n.getSetting)("isShippingCalculatorEnabled",!0),N=Object(n.getSetting)("isShippingCostHidden",!1),x=Object(n.getSetting)("woocommerceBlocksPhase",1),D=Object(n.getSetting)("wcBlocksAssetUrl",""),B=Object(n.getSetting)("shippingCountries",{}),L=Object(n.getSetting)("allowedCountries",{}),R=Object(n.getSetting)("shippingStates",{}),T=Object(n.getSetting)("allowedStates",{}),I=Object(n.getSetting)("shippingMethodsExist",!1),V=Object(n.getSetting)("checkoutShowLoginReminder",!0),z={id:0,title:"",permalink:""},M=Object(n.getSetting)("storePages",{shop:z,cart:z,checkout:z,privacy:z,terms:z}),A=M.shop.permalink,H=M.checkout.id,F=M.checkout.permalink,U=M.privacy.permalink,Y=M.privacy.title,Q=M.terms.permalink,q=M.terms.title,K=M.cart.id,W=M.cart.permalink,G=Object(n.getSetting)("checkoutAllowsGuest",!1),J=(Object(n.getSetting)("checkoutAllowsSignup",!1),r(14)),$=function(e,t){if(x>2)return Object(J.registerBlockType)(e,t)},X=function(e,t){if(x>1)return Object(J.registerBlockType)(e,t)}},53:function(e,t){!function(){e.exports=this.wp.keycodes}()},55:function(e,t,r){"use strict";var n=r(10),c=r.n(n),o=r(8),a=r.n(o),i=r(23),u=r.n(i),s=r(0),l=r(152),b=r(7),p=r.n(b);r(246);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e){var t=e.className,r=e.value,n=e.currency,o=e.onValueChange,a=u()(e,["className","value","currency","onValueChange"]);if("-"===r)return null;var i=r/Math.pow(10,n.minorUnit);if(!Number.isFinite(i))return null;var b=p()("wc-block-formatted-money-amount",t),d=f(f(f({displayType:"text"},a),function(e){return{thousandSeparator:e.thousandSeparator,decimalSeparator:e.decimalSeparator,decimalScale:e.minorUnit,fixedDecimalScale:!0,prefix:e.prefix,suffix:e.suffix,isNumericString:!0}}(n)),{},{value:void 0,currency:void 0,onValueChange:void 0}),g=o?function(e){var t=e.value*Math.pow(10,n.minorUnit);o(t)}:function(){};return Object(s.createElement)(l.a,c()({className:b},d,{value:i,onValueChange:g}))}},57:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),c=r(48),o=r.n(c),a=function(e){var t=Object(n.useRef)();return o()(e,t.current)||(t.current=e),t.current}},58:function(e,t,r){"use strict";var n=r(8),c=r.n(n),o=r(23),a=r.n(o),i=r(9);r(2);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,o=a()(e,["srcElement","size"]);return Object(i.isValidElement)(t)&&Object(i.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:n,height:n},o))}},6:function(e,t){!function(){e.exports=this.lodash}()},70:function(e,t,r){"use strict";var n=r(10),c=r.n(n),o=r(20),a=r.n(o),i=r(26),u=r.n(i),s=r(19),l=r.n(s),b=r(21),p=r.n(b),d=r(22),f=r.n(d),g=r(12),m=r.n(g),O=r(0),j=r(6),v=r(7),h=r.n(v),w=r(4),y=r(25);r(168);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=m()(e);if(t){var c=m()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return f()(this,r)}}var E=function(e){p()(r,e);var t=_(r);function r(){var e;return a()(this,r),(e=t.apply(this,arguments)).onClick=e.onClick.bind(l()(e)),e}return u()(r,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,r=this.props,n=r.label,o=r.checked,a=r.instanceId,i=r.className,u=r.help,s=r.options,l=r.value,b="inspector-toggle-button-control-".concat(a);return u&&(e=Object(j.isFunction)(u)?u(o):u),Object(O.createElement)(w.BaseControl,{id:b,help:e,className:h()("components-toggle-button-control",i)},Object(O.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},n),Object(O.createElement)(w.ButtonGroup,{"aria-labelledby":b+"__label"},s.map((function(e,r){var o={};return l===e.value?(o.isPrimary=!0,o["aria-pressed"]=!0):(o.isDefault=!0,o["aria-pressed"]=!1),Object(O.createElement)(w.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(r),value:e.value,onClick:t.onClick,"aria-label":n+": "+e.label},o),e.label)}))))}}]),r}(O.Component);t.a=Object(y.withInstanceId)(E)},73:function(e,t){!function(){e.exports=this.wp.dom}()},75:function(e,t,r){"use strict";var n=r(0),c=r(1),o=r(6),a=(r(2),r(4)),i=r(5);t.a=function(e){var t=e.columns,r=e.rows,u=e.setAttributes,s=e.alignButtons;return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.RangeControl,{label:Object(c.__)("Columns","woo-gutenberg-products-block"),value:t,onChange:function(e){var t=Object(o.clamp)(e,i.z,i.x);u({columns:Object(o.isNaN)(t)?"":t})},min:i.z,max:i.x}),Object(n.createElement)(a.RangeControl,{label:Object(c.__)("Rows","woo-gutenberg-products-block"),value:r,onChange:function(e){var t=Object(o.clamp)(e,i.B,i.y);u({rows:Object(o.isNaN)(t)?"":t})},min:i.B,max:i.y}),Object(n.createElement)(a.ToggleControl,{label:Object(c.__)("Align Last Block","woo-gutenberg-products-block"),help:s?Object(c.__)("The last inner block will be aligned vertically.","woo-gutenberg-products-block"):Object(c.__)("The last inner block will follow other content.","woo-gutenberg-products-block"),checked:s,onChange:function(){return u({alignButtons:!s})}}))}},77:function(e,t){!function(){e.exports=this.wp.autop}()},770:function(e,t,r){"use strict";var n=r(0),c=r(63),o=Object(n.createElement)(c.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58s1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41s-.23-1.06-.59-1.42zM13 20.01L4 11V4h7v-.01l9 9-7 7.02z"}),Object(n.createElement)("circle",{cx:"6.5",cy:"6.5",r:"1.5"}),Object(n.createElement)("path",{d:"M8.9 12.55c0 .57.23 1.07.6 1.45l3.5 3.5 3.5-3.5c.37-.37.6-.89.6-1.45 0-1.13-.92-2.05-2.05-2.05-.57 0-1.08.23-1.45.6l-.6.6-.6-.59c-.37-.38-.89-.61-1.45-.61-1.13 0-2.05.92-2.05 2.05z"}));t.a=o},775:function(e,t,r){"use strict";var n=r(0),c=r(63),o=Object(n.createElement)(c.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"}));t.a=o},776:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(1),c=r(5),o=[{id:1,name:"WordPress Pennant",variation:"",permalink:"https://example.org",sku:"wp-pennant",short_description:Object(n.__)("Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!","woo-gutenberg-products-block"),description:"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.",price:"7.99",price_html:'<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>7.99</span>',images:[{id:1,src:c.Q+"img/pennant.jpg",thumbnail:c.Q+"img/pennant.jpg",name:"pennant-1.jpg",alt:"WordPress Pennant",srcset:"",sizes:""}],average_rating:5,review_count:1,prices:{currency_code:"GBP",decimal_separator:".",thousand_separator:",",decimals:2,price_prefix:"£",price_suffix:"",price:"7.99",regular_price:"9.99",sale_price:"7.99",price_range:null},add_to_cart:{text:Object(n.__)("Add to cart","woo-gutenberg-products-block"),description:Object(n.__)("Add to cart","woo-gutenberg-products-block")},has_options:!1,is_purchasable:!0,is_in_stock:!0,on_sale:!0}]},777:function(e,t,r){"use strict";var n=r(0),c=r(63),o=Object(n.createElement)(c.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}));t.a=o},783:function(e,t,r){"use strict";var n=r(0),c=r(63),o=Object(n.createElement)(c.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(n.createElement)("path",{d:"M15.55 13c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.37-.66-.11-1.48-.87-1.48H5.21l-.94-2H1v2h2l3.6 7.59-1.35 2.44C4.52 15.37 5.48 17 7 17h12v-2H7l1.1-2h7.45zM6.16 6h12.15l-2.76 5H8.53L6.16 6zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"}));t.a=o},784:function(e,t,r){},82:function(e,t){!function(){e.exports=this.wp.a11y}()},836:function(e,t,r){"use strict";r.r(t);var n=r(8),c=r.n(n),o=r(10),a=r.n(o),i=r(0),u=r(1),s=r(24),l=r(14),b=r(58),p=r(63),d=Object(i.createElement)(p.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(i.createElement)("path",{d:"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"})),f=r(7),g=r.n(f),m=function(e){var t=e.attributes;return Object(i.createElement)("div",{className:g()("is-loading",t.className)})},O={category:"woocommerce",keywords:[Object(u.__)("WooCommerce","woo-gutenberg-products-block")],icon:{src:Object(i.createElement)(b.a,{srcElement:d}),foreground:"#96588a"},supports:{html:!1},parent:["woocommerce/all-products","woocommerce/single-product"],save:m,deprecated:[{save:function(){}}]},j=r(189),v=r(4),h=r(145),w=r(190);function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var E={title:Object(u.__)("Product Title","woo-gutenberg-products-block"),description:Object(u.__)("Display the name of a product.","woo-gutenberg-products-block"),icon:{src:"heading",foreground:"#96588a"},attributes:j.a,edit:function(e){var t=e.attributes,r=e.setAttributes,n=t.headingLevel,c=t.productLink;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(s.InspectorControls,null,Object(i.createElement)(v.PanelBody,{title:Object(u.__)("Content","woo-gutenberg-products-block")},Object(i.createElement)("p",null,Object(u.__)("Level","woo-gutenberg-products-block")),Object(i.createElement)(h.a,{isCollapsed:!1,minLevel:1,maxLevel:7,selectedLevel:n,onChange:function(e){return r({headingLevel:e})}}),Object(i.createElement)(v.ToggleControl,{label:Object(u.__)("Link to Product Page","woo-gutenberg-products-block"),help:Object(u.__)("Links the image to the single product listing.","woo-gutenberg-products-block"),checked:c,onChange:function(){return r({productLink:!c})}}))),Object(i.createElement)(v.Disabled,null,Object(i.createElement)(w.a,t)))}};Object(l.registerBlockType)("woocommerce/product-title",_(_({},O),E));var k=r(480),P=r(191);function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var N={title:Object(u.__)("Product Price","woo-gutenberg-products-block"),description:Object(u.__)("Display the price of a product.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:k.a}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)(P.a,t)}};Object(l.registerBlockType)("woocommerce/product-price",S(S({},O),N));var x=Object(i.createElement)(p.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(i.createElement)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86l-3 3.87L9 13.14 6 17h12l-3.86-5.14z"})),D=r(192),B=r(70),L=r(193);function R(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function T(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?R(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):R(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var I={title:Object(u.__)("Product Image","woo-gutenberg-products-block"),description:Object(u.__)("Display the main product image","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:x}),foreground:"#96588a"},attributes:D.a,edit:function(e){var t=e.attributes,r=e.setAttributes,n=t.productLink,c=t.showSaleBadge,o=t.saleBadgeAlign;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(s.InspectorControls,null,Object(i.createElement)(v.PanelBody,{title:Object(u.__)("Content","woo-gutenberg-products-block")},Object(i.createElement)(v.ToggleControl,{label:Object(u.__)("Link to Product Page","woo-gutenberg-products-block"),help:Object(u.__)("Links the image to the single product listing.","woo-gutenberg-products-block"),checked:n,onChange:function(){return r({productLink:!n})}}),Object(i.createElement)(v.ToggleControl,{label:Object(u.__)("Show On-Sale Badge","woo-gutenberg-products-block"),help:Object(u.__)('Overlay a "sale" badge if the product is on-sale.',"woo-gutenberg-products-block"),checked:c,onChange:function(){return r({showSaleBadge:!c})}}),c&&Object(i.createElement)(B.a,{label:Object(u.__)("Sale Badge Alignment","woo-gutenberg-products-block"),value:o,options:[{label:Object(u.__)("Left","woo-gutenberg-products-block"),value:"left"},{label:Object(u.__)("Center","woo-gutenberg-products-block"),value:"center"},{label:Object(u.__)("Right","woo-gutenberg-products-block"),value:"right"}],onChange:function(e){return r({saleBadgeAlign:e})}}))),Object(i.createElement)(v.Disabled,null,Object(i.createElement)(L.a,t)))}};Object(l.registerBlockType)("woocommerce/product-image",T(T({},O),I));var V=r(775),z=r(194);function M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function A(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?M(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):M(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var H={title:Object(u.__)("Product Rating","woo-gutenberg-products-block"),description:Object(u.__)("Display the average rating of a product.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:V.a}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)(z.a,t)}};Object(l.registerBlockType)("woocommerce/product-rating",A(A({},O),H));var F=r(783),U=r(198);function Y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var q={title:Object(u.__)("Add to Cart Button","woo-gutenberg-products-block"),description:Object(u.__)("Display a call to action button which either adds the product to the cart, or links to the product page.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:F.a}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)(v.Disabled,null,Object(i.createElement)(U.a,t))}};Object(l.registerBlockType)("woocommerce/product-button",Q(Q({},O),q));var K=Object(i.createElement)(p.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(i.createElement)("path",{d:"M21 11.01L3 11v2h18zM3 16h12v2H3zM21 6H3v2.01L21 8z"})),W=r(195);function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function J(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var $={title:Object(u.__)("Product Summary","woo-gutenberg-products-block"),description:Object(u.__)("Display a short description about a product.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:K}),foreground:"#96588a"},edit:function(e){var t=e.attributes;return Object(i.createElement)(W.a,t)}};Object(l.registerBlockType)("woocommerce/product-summary",J(J({},O),$));var X=r(770),Z=r(133);function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var re={title:Object(u.__)("On-Sale Badge","woo-gutenberg-products-block"),description:Object(u.__)("Displays an on-sale badge if the product is on-sale.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:X.a}),foreground:"#96588a"},supports:{html:!1},edit:function(e){var t=e.attributes;return Object(i.createElement)(Z.a,t)}};Object(l.registerBlockType)("woocommerce/product-sale-badge",te(te({},O),re));var ne=Object(i.createElement)(p.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)("path",{fill:"#626262",d:"M2 6h2v12H2V6m3 0h1v12H5V6m2 0h3v12H7V6m4 0h1v12h-1V6m3 0h2v12h-2V6m3 0h3v12h-3V6m4 0h1v12h-1V6z"})),ce=r(249),oe=r(40),ae=r(196);function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ue(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ie(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ie(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var se={title:Object(u.__)("Product SKU","woo-gutenberg-products-block"),description:Object(u.__)("Display the SKU of a product.","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:ne}),foreground:"#96588a"},edit:function(e){var t=e.attributes,r=Object(oe.useProductDataContext)().product||{};return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(ce.a,{productId:r.id}),Object(i.createElement)(ae.a,t))}};Object(l.registerBlockType)("woocommerce/product-sku",ue(ue({},O),se));var le=r(11),be=r.n(le),pe=r(20),de=r.n(pe),fe=r(19),ge=r.n(fe),me=r(21),Oe=r.n(me),je=r(22),ve=r.n(je),he=r(12),we=r.n(he),ye=r(35),_e=r(25),Ee=(r(2),r(75)),ke=r(5),Pe=r(848),Ce=r(776),Se=r(3),Ne=r(160),xe=function(e,t){var r=t.className,n=t.contentVisibility;return g()(e,r,{"has-image":n&&n.image,"has-title":n&&n.title,"has-rating":n&&n.rating,"has-price":n&&n.price,"has-button":n&&n.button})},De=function(e,t){return Object(i.createElement)(v.Placeholder,{className:"wc-block-products",icon:t,label:e},Object(i.createElement)("p",null,Object(u.__)("You haven't published any products to list here yet.","woo-gutenberg-products-block")),Object(i.createElement)(v.Button,{className:"wc-block-products__add-product-button",isDefault:!0,isLarge:!0,href:Se.adminUrl+"post-new.php?post_type=product"},Object(u.__)("Add new product","woo-gutenberg-products-block")+" ",Object(i.createElement)(b.a,{srcElement:Ne.a})),Object(i.createElement)(v.Button,{className:"wc-block-products__read_more_button",isTertiary:!0,href:"https://docs.woocommerce.com/document/managing-products/"},Object(u.__)("Learn more","woo-gutenberg-products-block")))},Be=function(e,t){return Object(i.createElement)(v.Placeholder,{className:"wc-block-products",icon:t,label:e},Object(u.__)("The content for this block is hidden due to block settings.","woo-gutenberg-products-block"))};function Le(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Le(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Le(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Te=[["woocommerce/product-image"],["woocommerce/product-title"],["woocommerce/product-price"],["woocommerce/product-rating"],["woocommerce/product-button"]],Ie=function e(t){return t&&0!==t.length?t.map((function(t){return[t.name,Re(Re({},t.attributes),{},{product:void 0,children:t.innerBlocks.length>0?e(t.innerBlocks):[]})]})):[]};r(784);function Ve(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ze(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ve(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ve(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Me=function(e,t){var r=e.contentVisibility;return Object(i.createElement)(v.ToggleControl,{label:Object(u.__)("Show Sorting Dropdown","woo-gutenberg-products-block"),checked:r.orderBy,onChange:function(){return t({contentVisibility:ze(ze({},r),{},{orderBy:!r.orderBy})})}})},Ae=function(e,t){return Object(i.createElement)(v.SelectControl,{label:Object(u.__)("Order Products By","woo-gutenberg-products-block"),value:e.orderby,options:[{label:Object(u.__)("Default sorting (menu order)","woo-gutenberg-products-block"),value:"menu_order"},{label:Object(u.__)("Popularity","woo-gutenberg-products-block"),value:"popularity"},{label:Object(u.__)("Average rating","woo-gutenberg-products-block"),value:"rating"},{label:Object(u.__)("Latest","woo-gutenberg-products-block"),value:"date"},{label:Object(u.__)("Price: low to high","woo-gutenberg-products-block"),value:"price"},{label:Object(u.__)("Price: high to low","woo-gutenberg-products-block"),value:"price-desc"}],onChange:function(e){return t({orderby:e})}})},He=r(26),Fe=r.n(He),Ue=r(9),Ye=r(54),Qe=r.n(Ye),qe=r(23),Ke=r.n(qe),We=r(6),Ge=r(44),Je=(r(787),function(e){var t=e.currentPage,r=e.displayFirstAndLastPages,n=e.displayNextAndPreviousArrows,c=e.pagesToDisplay,o=e.onPageChange,a=e.totalPages,s=function(e,t,r){if(r<=2)return{minIndex:null,maxIndex:null};var n=e-1,c=Math.max(Math.floor(t-n/2),2),o=Math.min(Math.ceil(t+(n-(t-c))),r-1);return{minIndex:Math.max(Math.floor(t-(n-(o-t))),2),maxIndex:o}}(c,t,a),l=s.minIndex,b=s.maxIndex,p=r&&Boolean(1!==l),d=r&&Boolean(b!==a),f=r&&Boolean(l>3),m=r&&Boolean(b<a-2);p&&3===l&&(l-=1),d&&b===a-2&&(b+=1);var O=[];if(l&&b)for(var j=l;j<=b;j++)O.push(j);return Object(i.createElement)("div",{className:"wc-block-pagination"},Object(i.createElement)(Ge.a,{screenReaderLabel:Object(u.__)("Navigate to another page","woo-gutenberg-products-block")}),n&&Object(i.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return o(t-1)},title:Object(u.__)("Previous page","woo-gutenberg-products-block"),disabled:t<=1},Object(i.createElement)(Ge.a,{label:"<",screenReaderLabel:Object(u.__)("Previous page","woo-gutenberg-products-block")})),p&&Object(i.createElement)("button",{className:g()("wc-block-pagination-page",{"wc-block-pagination-page--active":1===t}),onClick:function(){return o(1)},disabled:1===t},Object(i.createElement)(Ge.a,{label:1,screenReaderLabel:Object(u.sprintf)(Object(u.__)("Page %d","woo-gutenberg-products-block"),1)})),f&&Object(i.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(u.__)("…","woo-gutenberg-products-block")),O.map((function(e){return Object(i.createElement)("button",{key:e,className:g()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===e}),onClick:t===e?null:function(){return o(e)},disabled:t===e},Object(i.createElement)(Ge.a,{label:e,screenReaderLabel:Object(u.sprintf)(Object(u.__)("Page %d","woo-gutenberg-products-block"),e)}))})),m&&Object(i.createElement)("span",{className:"wc-block-pagination-ellipsis","aria-hidden":"true"},Object(u.__)("…","woo-gutenberg-products-block")),d&&Object(i.createElement)("button",{className:g()("wc-block-pagination-page",{"wc-block-pagination-page--active":t===a}),onClick:function(){return o(a)},disabled:t===a},Object(i.createElement)(Ge.a,{label:a,screenReaderLabel:Object(u.sprintf)(Object(u.__)("Page %d","woo-gutenberg-products-block"),a)})),n&&Object(i.createElement)("button",{className:"wc-block-pagination-page",onClick:function(){return o(t+1)},title:Object(u.__)("Next page","woo-gutenberg-products-block"),disabled:t>=a},Object(i.createElement)(Ge.a,{label:">",screenReaderLabel:Object(u.__)("Next page","woo-gutenberg-products-block")})))});Je.defaultProps={displayFirstAndLastPages:!0,displayNextAndPreviousArrows:!0,pagesToDisplay:3};var $e=Je,Xe=r(143),Ze=(r(786),function(e){var t=e.defaultValue,r=e.onChange,n=e.readOnly,c=e.value;return Object(i.createElement)(Xe.a,{className:"wc-block-product-sort-select",defaultValue:t,name:"orderby",onChange:r,options:[{key:"menu_order",label:Object(u.__)("Default sorting","woo-gutenberg-products-block")},{key:"popularity",label:Object(u.__)("Popularity","woo-gutenberg-products-block")},{key:"rating",label:Object(u.__)("Average rating","woo-gutenberg-products-block")},{key:"date",label:Object(u.__)("Latest","woo-gutenberg-products-block")},{key:"price",label:Object(u.__)("Price: low to high","woo-gutenberg-products-block")},{key:"price-desc",label:Object(u.__)("Price: high to low","woo-gutenberg-products-block")}],readOnly:n,screenReaderLabel:Object(u.__)("Order products by","woo-gutenberg-products-block"),value:c})}),et=r(182),tt=Object(et.a)((function(e){var t=e.product,r=e.attributes,n=e.instanceId,c=r.layoutConfig,o=Object(oe.useInnerBlockLayoutContext)(),u=o.parentClassName,s=o.parentName,l=0===Object.keys(t).length,b=g()("".concat(u,"__product"),{"is-loading":l,"wc-block-layout--is-loading":l});return Object(i.createElement)("li",{className:b,"aria-hidden":l},function e(t,r,n,c){if(n){var o=Object(Pe.a)(t);return n.map((function(n,u){var s=be()(n,2),l=s[0],b=s[1],p=void 0===b?{}:b,d=[];p.children&&p.children.length>0&&(d=e(t,r,p.children,c));var f=o[l];if(!f)return null;var g=r.id||0,m=["layout",l,u,c,g];return Object(i.createElement)(f,a()({key:m.join("_")},p,{children:d,product:r}))}))}}(s,t,c,n))})),rt=r(165),nt=r(197),ct=r(39),ot=r(57);function at(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function it(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?at(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):at(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ut=function(e){var t={namespace:"/wc/store",resourceName:"products"},r=Object(nt.a)(it(it({},t),{},{query:e})),n=r.results,c=r.isLoading,o=function(e,t){var r=t.namespace,n=t.resourceName,c=t.resourceValues,o=void 0===c?[]:c,a=t.query,i=void 0===a?{}:a;if(!r||!n)throw new Error("The options object must have valid values for the namespace and the resource name properties.");var u=Object(ot.a)(i),s=Object(ot.a)(o),l=Object(ye.useSelect)((function(t){var c=t(ct.COLLECTIONS_STORE_KEY),o=[e,r,n,u,s];return{value:c.getCollectionHeader.apply(c,o),isLoading:c.hasFinishedResolution("getCollectionHeader",o)}}),[e,r,n,s,u]),b=l.value,p=l.isLoading;return{value:b,isLoading:void 0===p||p}}("x-wp-total",it(it({},t),{},{query:e})).value;return{products:n,totalProducts:parseInt(o,10),productsLoading:c}},st=r(488),lt=r(250),bt=r(82),pt=(r(785),r(139)),dt=function(){var e=Object(oe.useInnerBlockLayoutContext)().parentClassName;return Object(i.createElement)("div",{className:"".concat(e,"__no-products")},Object(i.createElement)(b.a,{className:"".concat(e,"__no-products-image"),alt:"",srcElement:pt.a,size:100}),Object(i.createElement)("strong",{className:"".concat(e,"__no-products-title")},Object(u.__)("No products","woo-gutenberg-products-block")),Object(i.createElement)("p",{className:"".concat(e,"__no-products-description")},Object(u.__)("There are currently no products available to display.","woo-gutenberg-products-block")))},ft=r(777),gt=function(e){var t=e.resetCallback,r=void 0===t?function(){}:t,n=Object(oe.useInnerBlockLayoutContext)().parentClassName;return Object(i.createElement)("div",{className:"".concat(n,"__no-products")},Object(i.createElement)(b.a,{className:"".concat(n,"__no-products-image"),alt:"",srcElement:ft.a,size:100}),Object(i.createElement)("strong",{className:"".concat(n,"__no-products-title")},Object(u.__)("No products found","woo-gutenberg-products-block")),Object(i.createElement)("p",{className:"".concat(n,"__no-products-description")},Object(u.__)("We were unable to find any results based on your search.","woo-gutenberg-products-block")),Object(i.createElement)("button",{onClick:r},Object(u.__)("Reset Search","woo-gutenberg-products-block")))};function mt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ot(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var jt=Object(lt.a)((function(e){var t=e.attributes,r=e.currentPage,n=e.onPageChange,c=e.onSortChange,o=e.sortValue,a=e.scrollToTop,s=Object(rt.c)(function(e){var t=e.sortValue,r=e.currentPage,n=e.attributes,c=n.columns,o=n.rows;return Ot(Ot({},function(e){switch(e){case"menu_order":case"popularity":case"rating":case"price":return{orderby:e,order:"asc"};case"price-desc":return{orderby:"price",order:"desc"};case"date":return{orderby:"date",order:"desc"}}}(t)),{},{catalog_visibility:"catalog",per_page:c*o,page:r})}({attributes:t,sortValue:o,currentPage:r})),l=be()(s,1)[0],b=ut(l),p=b.products,d=b.totalProducts,f=b.productsLoading,m=Object(oe.useInnerBlockLayoutContext)().parentClassName,O=function(e){e.order,e.orderby,e.page,e.per_page;return Ke()(e,["order","orderby","page","per_page"])}(l),j=Object(rt.b)("attributes",[]),v=be()(j,2),h=v[0],w=v[1],y=Object(rt.b)("min_price"),_=be()(y,2),E=_[0],k=_[1],P=Object(rt.b)("max_price"),C=be()(P,2),S=C[0],N=C[1],x=Object(st.a)({totalQuery:O,totalProducts:d},(function(e){var t=e.totalQuery,r=e.totalProducts,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=n.totalQuery;return!Object(We.isEqual)(t,c)&&Number.isFinite(r)})),D="object"===Qe()(x)&&Object(We.isEqual)(O,x.totalQuery);Object(i.useEffect)((function(){D||(n(1),x&&function(e){Number.isFinite(e)&&(0===e?Object(bt.speak)(Object(u.__)("No products found","woo-gutenberg-products-block")):Object(bt.speak)(Object(u.sprintf)(Object(u._n)("%d product found","%d products found",e,"woo-gutenberg-products-block"),e)))}(d))}),[l]);var B,L,R,T,I,V=t.contentVisibility,z=t.columns*t.rows,M=!Number.isFinite(d)&&D?Math.ceil(x.totalProducts/z):Math.ceil(d/z),A=p.length?p:Array.from({length:z}),H=0!==p.length||f,F=h.length>0||Number.isFinite(E)||Number.isFinite(S);return Object(i.createElement)("div",{className:(B=t.columns,L=t.rows,R=t.alignButtons,T=t.align,I=void 0!==T?"align"+T:"",g()(m,I,"has-"+B+"-columns",{"has-multiple-rows":L>1,"has-aligned-buttons":R}))},V.orderBy&&H&&Object(i.createElement)(Ze,{onChange:c,value:o}),!H&&F&&Object(i.createElement)(gt,{resetCallback:function(){w([]),k(null),N(null)}}),!H&&!F&&Object(i.createElement)(dt,null),H&&Object(i.createElement)("ul",{className:"".concat(m,"__products")},A.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return Object(i.createElement)(tt,{key:e.id||r,attributes:t,product:e})}))),M>1&&Object(i.createElement)($e,{currentPage:r,onPageChange:function(e){a({focusableSelector:"a, button"}),n(e)},totalPages:M}))})),vt=function(e){var t=e.attributes,r=Object(i.useState)(1),n=be()(r,2),c=n[0],o=n[1],a=Object(i.useState)(t.orderby),u=be()(a,2),s=u[0],l=u[1];Object(i.useEffect)((function(){l(t.orderby)}),[t.orderby]);return Object(i.createElement)(jt,{attributes:t,currentPage:c,onPageChange:function(e){o(e)},onSortChange:function(e){var t=e.target.value;l(t),o(1)},sortValue:s})},ht=r(167);function wt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=we()(e);if(t){var c=we()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return ve()(this,r)}}var yt=function(e){Oe()(r,e);var t=wt(r);function r(){return de()(this,r),t.apply(this,arguments)}return Fe()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.urlParameterSuffix;return t.isPreview?ht.a:Object(i.createElement)(oe.InnerBlockLayoutContextProvider,{parentName:"woocommerce/all-products",parentClassName:"wc-block-grid"},Object(i.createElement)(vt,{attributes:t,urlParameterSuffix:r}))}}]),r}(Ue.Component);function _t(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=we()(e);if(t){var c=we()(this).constructor;r=Reflect.construct(n,arguments,c)}else r=n.apply(this,arguments);return ve()(this,r)}}var Et=function(e){Oe()(r,e);var t=_t(r);function r(){var e;de()(this,r);for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),c()(ge()(e),"state",{isEditing:!1,innerBlocks:[]}),c()(ge()(e),"blockMap",Object(Pe.a)("woocommerce/all-products")),c()(ge()(e),"componentDidMount",(function(){var t=e.props.block;e.setState({innerBlocks:t.innerBlocks})})),c()(ge()(e),"getTitle",(function(){return Object(u.__)("All Products","woo-gutenberg-products-block")})),c()(ge()(e),"getIcon",(function(){return Object(i.createElement)(b.a,{srcElement:d})})),c()(ge()(e),"togglePreview",(function(){var t=e.props.debouncedSpeak;e.setState({isEditing:!e.state.isEditing}),e.state.isEditing||t(Object(u.__)("Showing All Products block preview.","woo-gutenberg-products-block"))})),c()(ge()(e),"getInspectorControls",(function(){var t=e.props,r=t.attributes,n=t.setAttributes,c=r.columns,o=r.rows,a=r.alignButtons;return Object(i.createElement)(s.InspectorControls,{key:"inspector"},Object(i.createElement)(v.PanelBody,{title:Object(u.__)("Layout Settings","woo-gutenberg-products-block"),initialOpen:!0},Object(i.createElement)(Ee.a,{columns:c,rows:o,alignButtons:a,setAttributes:n})),Object(i.createElement)(v.PanelBody,{title:Object(u.__)("Content Settings","woo-gutenberg-products-block")},Me(r,n),Ae(r,n)))})),c()(ge()(e),"getBlockControls",(function(){var t=e.state.isEditing;return Object(i.createElement)(s.BlockControls,null,Object(i.createElement)(v.Toolbar,{controls:[{icon:"edit",title:Object(u.__)("Edit","woo-gutenberg-products-block"),onClick:function(){return e.togglePreview()},isActive:t}]}))})),c()(ge()(e),"renderEditMode",(function(){var t={template:e.props.attributes.layoutConfig,templateLock:!1,allowedBlocks:Object.keys(e.blockMap)};return 0!==e.props.attributes.layoutConfig.length&&(t.renderAppender=!1),Object(i.createElement)(v.Placeholder,{icon:e.getIcon(),label:e.getTitle()},Object(u.__)("Display all products from your store as a grid.","woo-gutenberg-products-block"),Object(i.createElement)("div",{className:"wc-block-all-products-grid-item-template"},Object(i.createElement)(v.Tip,null,Object(u.__)("Edit the blocks inside the preview below to change the content displayed for each product within the product grid.","woo-gutenberg-products-block")),Object(i.createElement)(oe.InnerBlockLayoutContextProvider,{parentName:"woocommerce/all-products",parentClassName:"wc-block-grid"},Object(i.createElement)("div",{className:"wc-block-grid has-1-columns"},Object(i.createElement)("ul",{className:"wc-block-grid__products"},Object(i.createElement)("li",{className:"wc-block-grid__product"},Object(i.createElement)(oe.ProductDataContextProvider,{product:Ce.a[0]},Object(i.createElement)(s.InnerBlocks,t)))))),Object(i.createElement)("div",{className:"wc-block-all-products__actions"},Object(i.createElement)(v.Button,{className:"wc-block-all-products__done-button",isPrimary:!0,isLarge:!0,onClick:function(){var t=e.props,r=t.block;(0,t.setAttributes)({layoutConfig:Ie(r.innerBlocks)}),e.setState({innerBlocks:r.innerBlocks}),e.togglePreview()}},Object(u.__)("Done","woo-gutenberg-products-block")),Object(i.createElement)(v.Button,{className:"wc-block-all-products__cancel-button",isTertiary:!0,onClick:function(){var t=e.props,r=t.block,n=t.replaceInnerBlocks,c=e.state.innerBlocks;n(r.clientId,c,!1),e.togglePreview()}},Object(u.__)("Cancel","woo-gutenberg-products-block")),Object(i.createElement)(v.IconButton,{className:"wc-block-all-products__reset-button",icon:Object(i.createElement)(b.a,{srcElement:d}),label:Object(u.__)("Reset layout to default","woo-gutenberg-products-block"),onClick:function(){var t=e.props,r=t.block,n=t.replaceInnerBlocks,c=[];Te.map((function(e){var t=be()(e,2),r=t[0],n=t[1];return c.push(Object(l.createBlock)(r,n)),!0})),n(r.clientId,c,!1),e.setState({innerBlocks:r.innerBlocks})}},Object(u.__)("Reset Layout","woo-gutenberg-products-block")))))})),c()(ge()(e),"renderViewMode",(function(){var t=e.props.attributes,r=t.layoutConfig,n=r&&0!==r.length,c=e.getTitle(),o=e.getIcon();return n?Object(i.createElement)(v.Disabled,null,Object(i.createElement)(yt,{attributes:t})):Be(c,o)})),c()(ge()(e),"render",(function(){var t=e.props.attributes,r=e.state.isEditing,n=e.getTitle(),c=e.getIcon();return ke.q?Object(i.createElement)("div",{className:xe("wc-block-all-products",t)},e.getBlockControls(),e.getInspectorControls(),r?e.renderEditMode():e.renderViewMode()):De(n,c)})),e}return r}(i.Component),kt=Object(_e.compose)(v.withSpokenMessages,Object(ye.withSelect)((function(e,t){var r=t.clientId;return{block:(0,e("core/block-editor").getBlock)(r)}})),Object(ye.withDispatch)((function(e){return{replaceInnerBlocks:e("core/block-editor").replaceInnerBlocks}})))(Et),Pt={columns:ke.l,rows:ke.n,alignButtons:!1,contentVisibility:{orderBy:!0},orderby:"date",layoutConfig:Te,isPreview:!1};function Ct(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function St(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ct(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ct(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Nt={title:Object(u.__)("All Products","woo-gutenberg-products-block"),icon:{src:Object(i.createElement)(b.a,{srcElement:d}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(u.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(u.__)("Display products from your store in a grid layout.","woo-gutenberg-products-block"),supports:{align:["wide","full"],html:!1,multiple:!1},example:{attributes:{isPreview:!0}},attributes:{columns:{type:"number"},rows:{type:"number"},alignButtons:{type:"boolean"},contentVisibility:{type:"object"},orderby:{type:"string"},layoutConfig:{type:"array"},isPreview:{type:"boolean",default:!1}},defaults:Pt,edit:function(e){return Object(i.createElement)(kt,e)},save:function(e){var t=e.attributes,r={};Object.keys(t).sort().forEach((function(e){r[e]=t[e]}));var n={"data-attributes":JSON.stringify(r)};return Object(i.createElement)("div",a()({className:xe("wc-block-all-products",t)},n),Object(i.createElement)(s.InnerBlocks.Content,null))}};Object(l.registerBlockType)("woocommerce/all-products",St(St({},Nt),{},{deprecated:[{attributes:Object.assign({},Nt.attributes,{rows:{type:"number",default:1}}),save:function(e){var t=e.attributes,r={"data-attributes":JSON.stringify(t)};return Object(i.createElement)("div",a()({className:xe("wc-block-all-products",t)},r),Object(i.createElement)(s.InnerBlocks.Content,null))}}]}))},848:function(e,t,r){"use strict";r.d(t,"a",(function(){return k}));var n=r(8),c=r.n(n),o=r(130),a=r(198),i=r(25),u=r(10),s=r.n(u),l=r(0),b=function(e,t){var r=[];return Object.keys(e).forEach((function(n){if(void 0!==t[n])switch(e[n].type){case"boolean":r[n]="false"!==t[n];break;case"number":r[n]=parseInt(t[n],10);break;case"array":case"object":r[n]=JSON.parse(t[n]);break;default:r[n]=t[n]}else r[n]=e[n].default})),r},p=function(e){return function(t){return function(r){var n=b(e,r);return Object(l.createElement)(t,s()({},r,n))}}},d=r(193),f=r(192),g=Object(i.compose)(p(f.a))(d.a),m=r(191),O=r(194),j=r(133),v=r(195),h=r(190),w=r(189),y=Object(i.compose)(p(w.a))(h.a),_=r(196);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var k=function(e){return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){c()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({"woocommerce/product-price":m.a,"woocommerce/product-image":g,"woocommerce/product-title":y,"woocommerce/product-rating":O.a,"woocommerce/product-button":a.a,"woocommerce/product-summary":v.a,"woocommerce/product-sale-badge":j.a,"woocommerce/product-sku":_.a},Object(o.getRegisteredInnerBlocks)(e))}},9:function(e,t){!function(){e.exports=this.React}()},96:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0),c=Object(n.createContext)("page"),o=function(){return Object(n.useContext)(c)};c.Provider}});
build/all-reviews-legacy.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'react', 'wc-settings', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill'), 'version' => 'ef1a22e0f587ced633d3ae7c92dd0163');
1
+ <?php return array('dependencies' => array('lodash', 'react', 'wc-settings', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill'), 'version' => '15ecfdb3683e3deb338152f5df2c523f');
build/all-reviews-legacy.js CHANGED
@@ -1 +1 @@
1
- this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["all-reviews"]=function(e){function t(t){for(var n,a,i=t[0],s=t[1],l=t[2],b=0,d=[];b<i.length;b++)a=i[b],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&d.push(o[a][0]),o[a]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);for(u&&u(t);d.length;)d.shift()();return c.push.apply(c,l||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,i=1;i<r.length;i++){var s=r[i];0!==o[s]&&(n=!1)}n&&(c.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={4:0},c=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var i=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],s=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var u=s;return c.push([628,2,0,1]),r()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},100:function(e,t,r){},103:function(e,t,r){},104:function(e,t,r){"use strict";t.a={editMode:{type:"boolean",default:!0},imageType:{type:"string",default:"reviewer"},orderby:{type:"string",default:"most-recent"},reviewsOnLoadMore:{type:"number",default:10},reviewsOnPageLoad:{type:"number",default:10},showLoadMore:{type:"boolean",default:!0},showOrderby:{type:"boolean",default:!0},showReviewDate:{type:"boolean",default:!0},showReviewerName:{type:"boolean",default:!0},showReviewImage:{type:"boolean",default:!0},showReviewRating:{type:"boolean",default:!0},showReviewContent:{type:"boolean",default:!0},previewReviews:{type:"array",default:null}}},105:function(e,t,r){"use strict";var n=r(15),o=r.n(n),c=r(0),a=(r(103),r(45));t.a=function(e){var t=e.attributes,r=t.categoryIds,n=t.imageType,i=t.orderby,s=t.productId,l={"data-image-type":n,"data-orderby":i,"data-reviews-on-page-load":t.reviewsOnPageLoad,"data-reviews-on-load-more":t.reviewsOnLoadMore,"data-show-load-more":t.showLoadMore,"data-show-orderby":t.showOrderby},u="wc-block-all-reviews";return s&&(l["data-product-id"]=s,u="wc-block-reviews-by-product"),Array.isArray(r)&&(l["data-category-ids"]=r.join(","),u="wc-block-reviews-by-category"),Object(c.createElement)("div",o()({className:Object(a.a)(u,t)},l))}},106:function(e,t,r){"use strict";var n=r(17),o=r.n(n),c=r(18),a=r.n(c),i=r(19),s=r.n(i),l=r(20),u=r.n(l),b=r(10),d=r.n(b),p=r(0),g=r(1),w=r(11),m=(r(2),r(5)),v=r(4),f=r(6),h=r(59),O=r(8),j=r.n(O),y=r(7),_=r.n(y);function k(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?k(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):k(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var E=function(e){var t,r=e.label,n=e.screenReaderLabel,o=e.wrapperElement,c=e.wrapperProps,a=null!=r,i=null!=n;return!a&&i?(t=o||"span",c=R(R({},c),{},{className:_()(c.className,"screen-reader-text")}),Object(p.createElement)(t,c,n)):(t=o||w.Fragment,a&&i&&r!==n?Object(p.createElement)(t,c,Object(p.createElement)("span",{"aria-hidden":"true"},r),Object(p.createElement)("span",{className:"screen-reader-text"},n)):Object(p.createElement)(t,c,r))};E.defaultProps={wrapperProps:{}};var A=E,P=(r(217),function(e){var t=e.onClick,r=e.label,n=e.screenReaderLabel;return Object(p.createElement)("div",{className:"wp-block-button wc-block-load-more"},Object(p.createElement)("button",{className:"wp-block-button__link",onClick:t},Object(p.createElement)(A,{label:r,screenReaderLabel:n})))});P.defaultProps={label:Object(g.__)("Load more","woo-gutenberg-products-block")};var S=P,C=r(21),B=(r(214),Object(C.withInstanceId)((function(e){var t=e.className,r=e.instanceId,n=e.defaultValue,o=e.label,c=e.onChange,a=e.options,i=e.screenReaderLabel,s=e.readOnly,l=e.value,u="wc-block-sort-select__select-".concat(r);return Object(p.createElement)("div",{className:_()("wc-block-sort-select",t)},Object(p.createElement)(A,{label:o,screenReaderLabel:i,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:u}}),Object(p.createElement)("select",{id:u,className:"wc-block-sort-select__select",defaultValue:n,onChange:c,readOnly:s,value:l},a.map((function(e){return Object(p.createElement)("option",{key:e.key,value:e.key},e.label)}))))}))),N=(r(213),function(e){var t=e.defaultValue,r=e.onChange,n=e.readOnly,o=e.value;return Object(p.createElement)(B,{className:"wc-block-review-sort-select",defaultValue:t,label:Object(g.__)("Order by","woo-gutenberg-products-block"),onChange:r,options:[{key:"most-recent",label:Object(g.__)("Most recent","woo-gutenberg-products-block")},{key:"highest-rating",label:Object(g.__)("Highest rating","woo-gutenberg-products-block")},{key:"lowest-rating",label:Object(g.__)("Lowest rating","woo-gutenberg-products-block")}],readOnly:n,screenReaderLabel:Object(g.__)("Order reviews by","woo-gutenberg-products-block"),value:o})}),x=r(16),D=r.n(x),T=r(130),L=r.n(T),Q=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"...",n=L()(e,{suffix:r,limit:t});return n.html},I=function(e,t,r,n){var o=M(e,t,r);return Q(e,o-n.length,n)},M=function(e,t,r){for(var n={start:0,middle:0,end:e.length};n.start<=n.end;)n.middle=Math.floor((n.start+n.end)/2),t.innerHTML=Q(e,n.middle),n=F(n,t.clientHeight,r);return n.middle},F=function(e,t,r){return t<=r?e.start=e.middle+1:e.end=e.middle-1,e};function U(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}var H=function(e){s()(r,e);var t=U(r);function r(e){var n;return o()(this,r),(n=t.apply(this,arguments)).state={isExpanded:!1,clampEnabled:null,content:e.children,summary:"."},n.reviewSummary=Object(w.createRef)(),n.reviewContent=Object(w.createRef)(),n.getButton=n.getButton.bind(D()(n)),n.onClick=n.onClick.bind(D()(n)),n}return a()(r,[{key:"componentDidMount",value:function(){if(this.props.children){var e=this.props,t=e.maxLines,r=e.ellipsis,n=(this.reviewSummary.current.clientHeight+1)*t+1,o=this.reviewContent.current.clientHeight+1>n;this.setState({clampEnabled:o}),o&&this.setState({summary:I(this.reviewContent.current.innerHTML,this.reviewSummary.current,n,r)})}}},{key:"getButton",value:function(){var e=this.state.isExpanded,t=this.props,r=t.className,n=t.lessText,o=t.moreText,c=e?n:o;if(c)return Object(p.createElement)("a",{href:"#more",className:r+"__read_more",onClick:this.onClick,"aria-expanded":!e,role:"button"},c)}},{key:"onClick",value:function(e){e.preventDefault();var t=this.state.isExpanded;this.setState({isExpanded:!t})}},{key:"render",value:function(){var e=this.props.className,t=this.state,r=t.content,n=t.summary,o=t.clampEnabled,c=t.isExpanded;return r?!1===o?Object(p.createElement)("div",{className:e},Object(p.createElement)("div",{ref:this.reviewContent},r)):Object(p.createElement)("div",{className:e},(!c||null===o)&&Object(p.createElement)("div",{ref:this.reviewSummary,"aria-hidden":c,dangerouslySetInnerHTML:{__html:n}}),(c||null===o)&&Object(p.createElement)("div",{ref:this.reviewContent,"aria-hidden":!c},r),this.getButton()):null}}]),r}(w.Component);H.defaultProps={maxLines:3,ellipsis:"&hellip;",moreText:Object(g.__)("Read more","woo-gutenberg-products-block"),lessText:Object(g.__)("Read less","woo-gutenberg-products-block"),className:"read-more-content"};var V=H;r(216);var W=function(e){var t=e.attributes,r=e.review,n=void 0===r?{}:r,o=t.imageType,c=t.showReviewDate,a=t.showReviewerName,i=t.showReviewImage,s=t.showReviewRating,l=t.showReviewContent,u=t.showProductName,b=n.rating,d=!Object.keys(n).length>0,w=Number.isFinite(b)&&s;return Object(p.createElement)("li",{className:_()("wc-block-review-list-item__item",{"is-loading":d}),"aria-hidden":d},(u||c||a||i||w)&&Object(p.createElement)("div",{className:"wc-block-review-list-item__info"},i&&function(e,t,r){var n,o;return r||!e?Object(p.createElement)("div",{className:"wc-block-review-list-item__image",width:"48",height:"48"}):Object(p.createElement)("div",{className:"wc-block-review-list-item__image"},"product"===t?Object(p.createElement)("img",{"aria-hidden":"true",alt:(null===(n=e.product_image)||void 0===n?void 0:n.alt)||"",src:(null===(o=e.product_image)||void 0===o?void 0:o.src)||"",className:"wc-block-review-list-item__image",width:"48",height:"48"}):Object(p.createElement)("img",{"aria-hidden":"true",alt:"",src:e.reviewer_avatar_urls[48]||"",srcSet:e.reviewer_avatar_urls[96]+" 2x",className:"wc-block-review-list-item__image",width:"48",height:"48"}),e.verified&&Object(p.createElement)("div",{className:"wc-block-review-list-item__verified",title:Object(g.__)("Verified buyer","woo-gutenberg-products-block")},Object(g.__)("Verified buyer","woo-gutenberg-products-block")))}(n,o,d),(u||a||w||c)&&Object(p.createElement)("div",{className:"wc-block-review-list-item__meta"},w&&function(e){var t=e.rating,r={width:t/5*100+"%"};return Object(p.createElement)("div",{className:"wc-block-review-list-item__rating"},Object(p.createElement)("div",{className:"wc-block-review-list-item__rating__stars",role:"img"},Object(p.createElement)("span",{style:r},Object(g.sprintf)(Object(g.__)("Rated %f out of 5","woo-gutenberg-products-block"),t))))}(n),u&&function(e){return Object(p.createElement)("div",{className:"wc-block-review-list-item__product"},Object(p.createElement)("a",{href:e.product_permalink,dangerouslySetInnerHTML:{__html:e.product_name}}))}(n),a&&function(e){var t=e.reviewer,r=void 0===t?"":t;return Object(p.createElement)("div",{className:"wc-block-review-list-item__author"},r)}(n),c&&function(e){var t=e.date_created,r=e.formatted_date_created;return Object(p.createElement)("time",{className:"wc-block-review-list-item__published-date",dateTime:t},r)}(n))),l&&function(e){return Object(p.createElement)(V,{maxLines:10,moreText:Object(g.__)("Read full review","woo-gutenberg-products-block"),lessText:Object(g.__)("Hide full review","woo-gutenberg-products-block"),className:"wc-block-review-list-item__text"},Object(p.createElement)("div",{dangerouslySetInnerHTML:{__html:e.review||""}}))}(n))};r(215);function J(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?J(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var G=function(e){var t=e.attributes,r=e.reviews,n=(f.n||"product"===t.imageType)&&t.showReviewImage,o=f.m&&t.showReviewRating,c=z(z({},t),{},{showReviewImage:n,showReviewRating:o});return Object(p.createElement)("ul",{className:"wc-block-review-list"},0===r.length?Object(p.createElement)(W,{attributes:c}):r.map((function(e,t){return Object(p.createElement)(W,{key:e.id||t,attributes:c,review:e})})))},K=r(15),X=r.n(K),Y=r(13),Z=r.n(Y),q=r(23),$=r.n(q),ee=r(70),te=r.n(ee),re=r(45),ne=r(26);function oe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}function ce(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}var ae=function(e){var t=function(t){s()(n,t);var r=oe(n);function n(){var e;o()(this,n);for(var t=arguments.length,c=new Array(t),a=0;a<t;a++)c[a]=arguments[a];return e=r.call.apply(r,[this].concat(c)),j()(D()(e),"isPreview",!!e.props.attributes.previewReviews),j()(D()(e),"delayedAppendReviews",e.props.delayFunction(e.appendReviews)),j()(D()(e),"state",{error:null,loading:!0,reviews:e.isPreview?e.props.attributes.previewReviews:[],totalReviews:e.isPreview?e.props.attributes.previewReviews.length:0}),j()(D()(e),"setError",function(){var t=$()(Z.a.mark((function t(r){var n,o;return Z.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.props.onReviewsLoadError,t.next=3,Object(ne.a)(r);case 3:o=t.sent,e.setState({reviews:[],loading:!1,error:o}),n(o);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),e}return a()(n,[{key:"componentDidMount",value:function(){this.replaceReviews()}},{key:"componentDidUpdate",value:function(e){e.reviewsToDisplay<this.props.reviewsToDisplay?this.delayedAppendReviews():this.shouldReplaceReviews(e,this.props)&&this.replaceReviews()}},{key:"shouldReplaceReviews",value:function(e,t){return e.orderby!==t.orderby||e.order!==t.order||e.productId!==t.productId||!te()(e.categoryIds,t.categoryIds)}},{key:"componentWillUnMount",value:function(){this.delayedAppendReviews.cancel&&this.delayedAppendReviews.cancel()}},{key:"getArgs",value:function(e){var t=this.props,r=t.categoryIds,n=t.order,o=t.orderby,c=t.productId,a={order:n,orderby:o,per_page:t.reviewsToDisplay-e,offset:e};return r&&r.length&&(a.category_id=Array.isArray(r)?r.join(","):r),c&&(a.product_id=c),a}},{key:"replaceReviews",value:function(){if(!this.isPreview){var e=this.props.onReviewsReplaced;this.updateListOfReviews().then(e)}}},{key:"appendReviews",value:function(){if(!this.isPreview){var e=this.props,t=e.onReviewsAppended,r=e.reviewsToDisplay,n=this.state.reviews;r<=n.length||this.updateListOfReviews(n).then(t)}}},{key:"updateListOfReviews",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=this.props.reviewsToDisplay,n=this.state.totalReviews,o=Math.min(n,r)-t.length;return this.setState({loading:!0,reviews:t.concat(Array(o).fill({}))}),Object(re.b)(this.getArgs(t.length)).then((function(r){var n=r.reviews,o=r.totalReviews;return e.setState({reviews:t.filter((function(e){return Object.keys(e).length})).concat(n),totalReviews:o,loading:!1,error:null}),{newReviews:n}})).catch(this.setError)}},{key:"render",value:function(){var t=this.props.reviewsToDisplay,r=this.state,n=r.error,o=r.loading,c=r.reviews,a=r.totalReviews;return Object(p.createElement)(e,X()({},this.props,{error:n,isLoading:o,reviews:c.slice(0,t),totalReviews:a}))}}]),n}(w.Component);j()(t,"defaultProps",{delayFunction:function(e){return e},onReviewsAppended:function(){},onReviewsLoadError:function(){},onReviewsReplaced:function(){}});var r=e.displayName,n=void 0===r?e.name||"Component":r;return t.displayName="WithReviews( ".concat(n," )"),t}(function(e){s()(r,e);var t=ce(r);function r(){return o()(this,r),t.apply(this,arguments)}return a()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.error,n=e.isLoading,o=e.noReviewsPlaceholder,c=e.reviews,a=e.totalReviews;return r?Object(p.createElement)(h.a,{className:"wc-block-featured-product-error",error:r,isLoading:n}):0!==c.length||n?Object(p.createElement)(v.Disabled,null,t.showOrderby&&f.m&&Object(p.createElement)(N,{readOnly:!0,value:t.orderby}),Object(p.createElement)(G,{attributes:t,reviews:c}),t.showLoadMore&&a>c.length&&Object(p.createElement)(S,{screenReaderLabel:Object(g.__)("Load more reviews","woo-gutenberg-products-block")})):Object(p.createElement)(o,{attributes:t})}}]),r}(w.Component));function ie(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}var se=function(e){s()(r,e);var t=ie(r);function r(){return o()(this,r),t.apply(this,arguments)}return a()(r,[{key:"renderHiddenContentPlaceholder",value:function(){var e=this.props,t=e.icon,r=e.name;return Object(p.createElement)(v.Placeholder,{icon:t,label:r},Object(g.__)("The content for this block is hidden due to block settings.","woo-gutenberg-products-block"))}},{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.className,n=e.noReviewsPlaceholder,o=t.categoryIds,c=t.productId,a=t.reviewsOnPageLoad,i=t.showProductName,s=t.showReviewDate,l=t.showReviewerName,u=t.showReviewContent,b=t.showReviewImage,d=t.showReviewRating,g=Object(re.c)(t.orderby),w=g.order,v=g.orderby;return!(u||d||s||l||b||i)?this.renderHiddenContentPlaceholder():Object(p.createElement)("div",{className:Object(re.a)(r,t)},Object(p.createElement)(ae,{attributes:t,categoryIds:o,delayFunction:function(e){return Object(m.debounce)(e,400)},noReviewsPlaceholder:n,orderby:v,order:w,productId:c,reviewsToDisplay:a}))}}]),r}(w.Component);t.a=se},11:function(e,t){!function(){e.exports=this.React}()},13:function(e,t){!function(){e.exports=this.regeneratorRuntime}()},21:function(e,t){!function(){e.exports=this.wp.compose}()},22:function(e,t){!function(){e.exports=this.wp.blockEditor}()},24:function(e,t){!function(){e.exports=this.wp.blocks}()},26:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(13),o=r.n(n),c=r(23),a=r.n(c),i=function(){var e=a()(o.a.mark((function e(t){var r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.json){e.next=11;break}return e.prev=1,e.next=4,t.json();case 4:return r=e.sent,e.abrupt("return",{message:r.message,type:r.type||"api"});case 8:return e.prev=8,e.t0=e.catch(1),e.abrupt("return",{message:e.t0.message,type:"general"});case 11:return e.abrupt("return",{message:t.message,type:t.type||"general"});case 12:case"end":return e.stop()}}),e,null,[[1,8]])})));return function(t){return e.apply(this,arguments)}}()},29:function(e,t){!function(){e.exports=this.wp.escapeHtml}()},3:function(e,t){!function(){e.exports=this.wc.wcSettings}()},30:function(e,t,r){"use strict";var n=r(0),o=r(1),c=(r(2),r(29));t.a=function(e){var t,r,a,i=e.error;return Object(n.createElement)("div",{className:"wc-block-error-message"},(r=(t=i).message,a=t.type,r?"general"===a?Object(n.createElement)("span",null,Object(o.__)("The following error was returned","woo-gutenberg-products-block"),Object(n.createElement)("br",null),Object(n.createElement)("code",null,Object(c.escapeHTML)(r))):"api"===a?Object(n.createElement)("span",null,Object(o.__)("The following error was returned from the API","woo-gutenberg-products-block"),Object(n.createElement)("br",null),Object(n.createElement)("code",null,Object(c.escapeHTML)(r))):r:Object(o.__)("An unknown error occurred which prevented the block from being updated.","woo-gutenberg-products-block")))}},4:function(e,t){!function(){e.exports=this.wp.components}()},45:function(e,t,r){"use strict";r.d(t,"c",(function(){return s})),r.d(t,"b",(function(){return l})),r.d(t,"a",(function(){return u}));var n=r(9),o=r.n(n),c=r(7),a=r.n(c),i=r(6),s=function(e){if(i.m){if("lowest-rating"===e)return{order:"asc",orderby:"rating"};if("highest-rating"===e)return{order:"desc",orderby:"rating"}}return{order:"desc",orderby:"date_gmt"}},l=function(e){return o()({path:"/wc/store/products/reviews?"+Object.entries(e).map((function(e){return e.join("=")})).join("&"),parse:!1}).then((function(e){return e.json().then((function(t){return{reviews:t,totalReviews:parseInt(e.headers.get("x-wp-total"),10)}}))}))},u=function(e,t){var r=t.className,n=t.showReviewDate,o=t.showReviewerName,c=t.showReviewContent,i=t.showProductName,s=t.showReviewImage,l=t.showReviewRating;return a()(e,r,{"has-image":s,"has-name":o,"has-date":n,"has-rating":l,"has-content":c,"has-product-name":i})}},5:function(e,t){!function(){e.exports=this.lodash}()},59:function(e,t,r){"use strict";var n=r(0),o=r(1),c=(r(2),r(64)),a=r(651),i=Object(n.createElement)(a.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})),s=r(7),l=r.n(s),u=r(4),b=r(30);r(100),t.a=function(e){var t=e.className,r=e.error,a=e.isLoading,s=e.onRetry;return Object(n.createElement)(u.Placeholder,{icon:Object(n.createElement)(c.a,{srcElement:i}),label:Object(o.__)("Sorry, an error occurred","woo-gutenberg-products-block"),className:l()("wc-block-api-error",t)},Object(n.createElement)(b.a,{error:r}),s&&Object(n.createElement)(n.Fragment,null,a?Object(n.createElement)(u.Spinner,null):Object(n.createElement)(u.Button,{isDefault:!0,onClick:s},Object(o.__)("Retry","woo-gutenberg-products-block"))))}},6:function(e,t,r){"use strict";r.d(t,"m",(function(){return o})),r.d(t,"n",(function(){return c})),r.d(t,"h",(function(){return a})),r.d(t,"j",(function(){return i})),r.d(t,"a",(function(){return s})),r.d(t,"i",(function(){return l})),r.d(t,"l",(function(){return u})),r.d(t,"c",(function(){return b})),r.d(t,"k",(function(){return d})),r.d(t,"b",(function(){return p})),r.d(t,"f",(function(){return g})),r.d(t,"g",(function(){return w})),r.d(t,"d",(function(){return m})),r.d(t,"e",(function(){return v})),r.d(t,"o",(function(){return f}));var n=r(3),o=(Object(n.getSetting)("currentUserIsAdmin",!1),Object(n.getSetting)("reviewRatingsEnabled",!0)),c=Object(n.getSetting)("showAvatars",!0),a=Object(n.getSetting)("max_columns",6),i=Object(n.getSetting)("min_columns",1),s=Object(n.getSetting)("default_columns",3),l=Object(n.getSetting)("max_rows",6),u=Object(n.getSetting)("min_rows",1),b=Object(n.getSetting)("default_rows",3),d=Object(n.getSetting)("min_height",500),p=Object(n.getSetting)("default_height",500),g=(Object(n.getSetting)("placeholderImgSrc",""),Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog")),w=Object(n.getSetting)("limitTags"),m=(Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0)),v=Object(n.getSetting)("homeUrl",""),f=(Object(n.getSetting)("couponsEnabled",!0),Object(n.getSetting)("shippingEnabled",!0),Object(n.getSetting)("taxesEnabled",!0),Object(n.getSetting)("displayItemizedTaxes",!1),Object(n.getSetting)("displayShopPricesIncludingTax",!1),Object(n.getSetting)("displayCartPricesIncludingTax",!1),Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[]),Object(n.getSetting)("isShippingCalculatorEnabled",!0),Object(n.getSetting)("isShippingCostHidden",!1),Object(n.getSetting)("wcBlocksAssetUrl","")),h=(Object(n.getSetting)("shippingCountries",{}),Object(n.getSetting)("allowedCountries",{}),Object(n.getSetting)("shippingStates",{}),Object(n.getSetting)("allowedStates",{}),Object(n.getSetting)("shippingMethodsExist",!1),Object(n.getSetting)("checkoutShowLoginReminder",!0),{id:0,title:"",permalink:""}),O=Object(n.getSetting)("storePages",{shop:h,cart:h,checkout:h,privacy:h,terms:h});O.shop.permalink,O.checkout.id,O.checkout.permalink,O.privacy.permalink,O.privacy.title,O.terms.permalink,O.terms.title,O.cart.id,O.cart.permalink,Object(n.getSetting)("checkoutAllowsGuest",!1),Object(n.getSetting)("checkoutAllowsSignup",!1)},628:function(e,t,r){"use strict";r.r(t);var n=r(8),o=r.n(n),c=r(0),a=r(1),i=r(24),s=r(64),l=r(651),u=Object(c.createElement)(l.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(c.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(c.createElement)("path",{d:"M15 4v7H5.17l-.59.59-.58.58V4h11m1-2H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm5 4h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1z"})),b=(r(103),r(22)),d=r(4),p=(r(2),r(106)),g=function(){return Object(c.createElement)(d.Placeholder,{className:"wc-block-all-reviews",icon:Object(c.createElement)(s.a,{srcElement:u,className:"block-editor-block-icon"}),label:Object(a.__)("All Reviews","woo-gutenberg-products-block")},Object(a.__)("This block shows a list of all product reviews. Your store does not have any reviews yet, but they will show up here when it does.","woo-gutenberg-products-block"))},w=r(71),m=function(e){var t=e.attributes,r=e.setAttributes;return Object(c.createElement)(c.Fragment,null,Object(c.createElement)(b.InspectorControls,{key:"inspector"},Object(c.createElement)(d.PanelBody,{title:Object(a.__)("Content","woo-gutenberg-products-block")},Object(c.createElement)(d.ToggleControl,{label:Object(a.__)("Product name","woo-gutenberg-products-block"),checked:t.showProductName,onChange:function(){return r({showProductName:!t.showProductName})}}),Object(w.b)(t,r)),Object(c.createElement)(d.PanelBody,{title:Object(a.__)("List Settings","woo-gutenberg-products-block")},Object(w.c)(t,r))),Object(c.createElement)(p.a,{attributes:t,className:"wc-block-all-reviews",icon:Object(c.createElement)(s.a,{icon:u,className:"block-editor-block-icon"}),name:Object(a.__)("All Reviews","woo-gutenberg-products-block"),noReviewsPlaceholder:g}))},v=r(104),f=r(105),h=r(92);function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}Object(i.registerBlockType)("woocommerce/all-reviews",{title:Object(a.__)("All Reviews","woo-gutenberg-products-block"),icon:{src:Object(c.createElement)(s.a,{srcElement:u}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(a.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(a.__)("Show a list of all product reviews.","woo-gutenberg-products-block"),supports:{html:!1},example:j(j({},h.a),{},{attributes:j(j({},h.a.attributes),{},{showProductName:!0})}),attributes:j(j({},v.a),{},{showProductName:{type:"boolean",default:!0}}),edit:function(e){return Object(c.createElement)(m,e)},save:f.a})},64:function(e,t,r){"use strict";var n=r(8),o=r.n(n),c=r(37),a=r.n(c),i=r(11);r(2);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,c=a()(e,["srcElement","size"]);return Object(i.isValidElement)(t)&&Object(i.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:n,height:n},c))}},70:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},71:function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return d})),r.d(t,"c",(function(){return p}));var n=r(0),o=r(1),c=r(132),a=r(4),i=r(22),s=r(3),l=r(6),u=r(91),b=function(e,t){return Object(n.createElement)(i.BlockControls,null,Object(n.createElement)(a.Toolbar,{controls:[{icon:"edit",title:Object(o.__)("Edit","woo-gutenberg-products-block"),onClick:function(){return t({editMode:!e})},isActive:e}]}))},d=function(e,t){return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Product rating","woo-gutenberg-products-block"),checked:e.showReviewRating,onChange:function(){return t({showReviewRating:!e.showReviewRating})}}),e.showReviewRating&&!l.m&&Object(n.createElement)(a.Notice,{className:"wc-block-base-control-notice",isDismissible:!1},Object(c.a)(Object(o.__)("Product rating is disabled in your <a>store settings</a>.","woo-gutenberg-products-block"),{a:Object(n.createElement)("a",{href:Object(s.getAdminLink)("admin.php?page=wc-settings&tab=products"),target:"_blank",rel:"noopener noreferrer"})})),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Reviewer name","woo-gutenberg-products-block"),checked:e.showReviewerName,onChange:function(){return t({showReviewerName:!e.showReviewerName})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Image","woo-gutenberg-products-block"),checked:e.showReviewImage,onChange:function(){return t({showReviewImage:!e.showReviewImage})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Review date","woo-gutenberg-products-block"),checked:e.showReviewDate,onChange:function(){return t({showReviewDate:!e.showReviewDate})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Review content","woo-gutenberg-products-block"),checked:e.showReviewContent,onChange:function(){return t({showReviewContent:!e.showReviewContent})}}),e.showReviewImage&&Object(n.createElement)(n.Fragment,null,Object(n.createElement)(u.a,{label:Object(o.__)("Review image","woo-gutenberg-products-block"),value:e.imageType,options:[{label:Object(o.__)("Reviewer photo","woo-gutenberg-products-block"),value:"reviewer"},{label:Object(o.__)("Product","woo-gutenberg-products-block"),value:"product"}],onChange:function(e){return t({imageType:e})}}),"reviewer"===e.imageType&&!l.n&&Object(n.createElement)(a.Notice,{className:"wc-block-base-control-notice",isDismissible:!1},Object(c.a)(Object(o.__)("Reviewer photo is disabled in your <a>site settings</a>.","woo-gutenberg-products-block"),{a:Object(n.createElement)("a",{href:Object(s.getAdminLink)("options-discussion.php"),target:"_blank",rel:"noopener noreferrer"})}))))},p=function(e,t){return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Order by","woo-gutenberg-products-block"),checked:e.showOrderby,onChange:function(){return t({showOrderby:!e.showOrderby})}}),Object(n.createElement)(a.SelectControl,{label:Object(o.__)("Order Product Reviews by","woo-gutenberg-products-block"),value:e.orderby,options:[{label:"Most recent",value:"most-recent"},{label:"Highest Rating",value:"highest-rating"},{label:"Lowest Rating",value:"lowest-rating"}],onChange:function(e){return t({orderby:e})}}),Object(n.createElement)(a.RangeControl,{label:Object(o.__)("Starting Number of Reviews","woo-gutenberg-products-block"),value:e.reviewsOnPageLoad,onChange:function(e){return t({reviewsOnPageLoad:e})},max:20,min:1}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Load more","woo-gutenberg-products-block"),checked:e.showLoadMore,onChange:function(){return t({showLoadMore:!e.showLoadMore})}}),e.showLoadMore&&Object(n.createElement)(a.RangeControl,{label:Object(o.__)("Load More Reviews","woo-gutenberg-products-block"),value:e.reviewsOnLoadMore,onChange:function(e){return t({reviewsOnLoadMore:e})},max:20,min:1}))}},9:function(e,t){!function(){e.exports=this.wp.apiFetch}()},91:function(e,t,r){"use strict";var n=r(15),o=r.n(n),c=r(17),a=r.n(c),i=r(18),s=r.n(i),l=r(16),u=r.n(l),b=r(19),d=r.n(b),p=r(20),g=r.n(p),w=r(10),m=r.n(w),v=r(0),f=r(5),h=r(7),O=r.n(h),j=r(4),y=r(21);r(165);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=m()(e);if(t){var o=m()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return g()(this,r)}}var k=function(e){d()(r,e);var t=_(r);function r(){var e;return a()(this,r),(e=t.apply(this,arguments)).onClick=e.onClick.bind(u()(e)),e}return s()(r,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,r=this.props,n=r.label,c=r.checked,a=r.instanceId,i=r.className,s=r.help,l=r.options,u=r.value,b="inspector-toggle-button-control-".concat(a);return s&&(e=Object(f.isFunction)(s)?s(c):s),Object(v.createElement)(j.BaseControl,{id:b,help:e,className:O()("components-toggle-button-control",i)},Object(v.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},n),Object(v.createElement)(j.ButtonGroup,{"aria-labelledby":b+"__label"},l.map((function(e,r){var c={};return u===e.value?(c.isPrimary=!0,c["aria-pressed"]=!0):(c.isDefault=!0,c["aria-pressed"]=!1),Object(v.createElement)(j.Button,o()({key:"".concat(e.label,"-").concat(e.value,"-").concat(r),value:e.value,onClick:t.onClick,"aria-label":n+": "+e.label},c),e.label)}))))}}]),r}(v.Component);t.a=Object(y.withInstanceId)(k)},92:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(1),o="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAMAAwAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A+t6KKtaXps2sahBZ24DTTNtXPQepPsBzQBVo/OvddD+H2j6Nbqr2sd7Pj5prhQ2T7A8Cl1z4f6PrNuyrax2c+Plmt1CkH3A4NAHhP50Vb1bTJtG1G4srgASwttOOh9CPYjBqp+VABXX/AAreNfF8If7zROEz/ex/hmuQq1pT3cepW7WAdrxXBiEYyS30oA+kKKp6RPeXOnwyX9strdEfPErBgD9f6UurT3dtp80ljbC7ugPkiZgoJ+tAHkHxWeNvFsgT7ywoHx/e6/yIrj6t6vJdy6lcvfh1vGcmUSDBB+lVKACvbvh/4Qj8PaYlxOgOozrudmHMYPRB/X3+leVeDrBdT8UabbuNyGUMwPcL8xH6V9BUAJRRRQByfxA8IR+IdMe4gjA1GBSyMo5kA6of6e/1rxGvpr/PWvn3xjYLpnijUrdBtQTFlHoGG4D9aAP/2Q==",c={attributes:{editMode:!1,imageType:"reviewer",orderby:"most-recent",reviewsOnLoadMore:10,reviewsOnPageLoad:10,showLoadMore:!0,showOrderby:!0,showReviewDate:!0,showReviewerName:!0,showReviewImage:!0,showReviewRating:!0,showReviewContent:!0,previewReviews:[{id:1,date_created:"2019-07-15T17:05:04",formatted_date_created:Object(n.__)("July 15, 2019","woo-gutenberg-products-block"),date_created_gmt:"2019-07-15T15:05:04",product_id:0,product_name:Object(n.__)("WordPress Pennant","woo-gutenberg-products-block"),product_permalink:"#",reviewer:Object(n.__)("Alice","woo-gutenberg-products-block"),review:"<p>".concat(Object(n.__)("I bought this product last week and I'm very happy with it.","woo-gutenberg-products-block"),"</p>\n"),reviewer_avatar_urls:{48:o,96:o},rating:5,verified:!0},{id:2,date_created:"2019-07-12T12:39:39",formatted_date_created:Object(n.__)("July 12, 2019","woo-gutenberg-products-block"),date_created_gmt:"2019-07-12T10:39:39",product_id:0,product_name:Object(n.__)("WordPress Pennant","woo-gutenberg-products-block"),product_permalink:"#",reviewer:Object(n.__)("Bob","woo-gutenberg-products-block"),review:"<p>".concat(Object(n.__)("This product is awesome, I love it!","woo-gutenberg-products-block"),"</p>\n"),reviewer_avatar_urls:{48:o,96:o},rating:null,verified:!1}]}}}});
1
+ this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["all-reviews"]=function(e){function t(t){for(var n,a,i=t[0],s=t[1],l=t[2],b=0,d=[];b<i.length;b++)a=i[b],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&d.push(o[a][0]),o[a]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);for(u&&u(t);d.length;)d.shift()();return c.push.apply(c,l||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,i=1;i<r.length;i++){var s=r[i];0!==o[s]&&(n=!1)}n&&(c.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={4:0},c=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var i=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],s=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var u=s;return c.push([611,2,0,1]),r()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},101:function(e,t,r){},102:function(e,t,r){"use strict";t.a={editMode:{type:"boolean",default:!0},imageType:{type:"string",default:"reviewer"},orderby:{type:"string",default:"most-recent"},reviewsOnLoadMore:{type:"number",default:10},reviewsOnPageLoad:{type:"number",default:10},showLoadMore:{type:"boolean",default:!0},showOrderby:{type:"boolean",default:!0},showReviewDate:{type:"boolean",default:!0},showReviewerName:{type:"boolean",default:!0},showReviewImage:{type:"boolean",default:!0},showReviewRating:{type:"boolean",default:!0},showReviewContent:{type:"boolean",default:!0},previewReviews:{type:"array",default:null}}},103:function(e,t,r){"use strict";var n=r(16),o=r.n(n),c=r(0),a=(r(101),r(44));t.a=function(e){var t=e.attributes,r=t.categoryIds,n=t.imageType,i=t.orderby,s=t.productId,l={"data-image-type":n,"data-orderby":i,"data-reviews-on-page-load":t.reviewsOnPageLoad,"data-reviews-on-load-more":t.reviewsOnLoadMore,"data-show-load-more":t.showLoadMore,"data-show-orderby":t.showOrderby},u="wc-block-all-reviews";return s&&(l["data-product-id"]=s,u="wc-block-reviews-by-product"),Array.isArray(r)&&(l["data-category-ids"]=r.join(","),u="wc-block-reviews-by-category"),Object(c.createElement)("div",o()({className:Object(a.a)(u,t)},l))}},104:function(e,t,r){"use strict";var n=r(18),o=r.n(n),c=r(19),a=r.n(c),i=r(20),s=r.n(i),l=r(21),u=r.n(l),b=r(10),d=r.n(b),p=r(0),g=r(1),w=r(11),m=(r(2),r(5)),v=r(4),f=r(6),h=r(57),O=r(8),j=r.n(O),y=r(7),_=r.n(y);function k(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?k(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):k(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var E=function(e){var t,r=e.label,n=e.screenReaderLabel,o=e.wrapperElement,c=e.wrapperProps,a=null!=r,i=null!=n;return!a&&i?(t=o||"span",c=R(R({},c),{},{className:_()(c.className,"screen-reader-text")}),Object(p.createElement)(t,c,n)):(t=o||w.Fragment,a&&i&&r!==n?Object(p.createElement)(t,c,Object(p.createElement)("span",{"aria-hidden":"true"},r),Object(p.createElement)("span",{className:"screen-reader-text"},n)):Object(p.createElement)(t,c,r))};E.defaultProps={wrapperProps:{}};var P=E,S=(r(212),function(e){var t=e.onClick,r=e.label,n=e.screenReaderLabel;return Object(p.createElement)("div",{className:"wp-block-button wc-block-load-more"},Object(p.createElement)("button",{className:"wp-block-button__link",onClick:t},Object(p.createElement)(P,{label:r,screenReaderLabel:n})))});S.defaultProps={label:Object(g.__)("Load more","woo-gutenberg-products-block")};var C=S,N=r(22),x=(r(209),Object(N.withInstanceId)((function(e){var t=e.className,r=e.instanceId,n=e.defaultValue,o=e.label,c=e.onChange,a=e.options,i=e.screenReaderLabel,s=e.readOnly,l=e.value,u="wc-block-sort-select__select-".concat(r);return Object(p.createElement)("div",{className:_()("wc-block-sort-select",t)},Object(p.createElement)(P,{label:o,screenReaderLabel:i,wrapperElement:"label",wrapperProps:{className:"wc-block-sort-select__label",htmlFor:u}}),Object(p.createElement)("select",{id:u,className:"wc-block-sort-select__select",defaultValue:n,onChange:c,readOnly:s,value:l},a.map((function(e){return Object(p.createElement)("option",{key:e.key,value:e.key},e.label)}))))}))),L=(r(208),function(e){var t=e.defaultValue,r=e.onChange,n=e.readOnly,o=e.value;return Object(p.createElement)(x,{className:"wc-block-review-sort-select",defaultValue:t,label:Object(g.__)("Order by","woo-gutenberg-products-block"),onChange:r,options:[{key:"most-recent",label:Object(g.__)("Most recent","woo-gutenberg-products-block")},{key:"highest-rating",label:Object(g.__)("Highest rating","woo-gutenberg-products-block")},{key:"lowest-rating",label:Object(g.__)("Lowest rating","woo-gutenberg-products-block")}],readOnly:n,screenReaderLabel:Object(g.__)("Order reviews by","woo-gutenberg-products-block"),value:o})}),T=r(17),D=r.n(T),I=r(123),M=r.n(I),A=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"...",n=M()(e,{suffix:r,limit:t});return n.html},H=function(e,t,r,n){var o=B(e,t,r);return A(e,o-n.length,n)},B=function(e,t,r){for(var n={start:0,middle:0,end:e.length};n.start<=n.end;)n.middle=Math.floor((n.start+n.end)/2),t.innerHTML=A(e,n.middle),n=F(n,t.clientHeight,r);return n.middle},F=function(e,t,r){return t<=r?e.start=e.middle+1:e.end=e.middle-1,e};function V(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}var z=function(e){s()(r,e);var t=V(r);function r(e){var n;return o()(this,r),(n=t.apply(this,arguments)).state={isExpanded:!1,clampEnabled:null,content:e.children,summary:"."},n.reviewSummary=Object(w.createRef)(),n.reviewContent=Object(w.createRef)(),n.getButton=n.getButton.bind(D()(n)),n.onClick=n.onClick.bind(D()(n)),n}return a()(r,[{key:"componentDidMount",value:function(){if(this.props.children){var e=this.props,t=e.maxLines,r=e.ellipsis,n=(this.reviewSummary.current.clientHeight+1)*t+1,o=this.reviewContent.current.clientHeight+1>n;this.setState({clampEnabled:o}),o&&this.setState({summary:H(this.reviewContent.current.innerHTML,this.reviewSummary.current,n,r)})}}},{key:"getButton",value:function(){var e=this.state.isExpanded,t=this.props,r=t.className,n=t.lessText,o=t.moreText,c=e?n:o;if(c)return Object(p.createElement)("a",{href:"#more",className:r+"__read_more",onClick:this.onClick,"aria-expanded":!e,role:"button"},c)}},{key:"onClick",value:function(e){e.preventDefault();var t=this.state.isExpanded;this.setState({isExpanded:!t})}},{key:"render",value:function(){var e=this.props.className,t=this.state,r=t.content,n=t.summary,o=t.clampEnabled,c=t.isExpanded;return r?!1===o?Object(p.createElement)("div",{className:e},Object(p.createElement)("div",{ref:this.reviewContent},r)):Object(p.createElement)("div",{className:e},(!c||null===o)&&Object(p.createElement)("div",{ref:this.reviewSummary,"aria-hidden":c,dangerouslySetInnerHTML:{__html:n}}),(c||null===o)&&Object(p.createElement)("div",{ref:this.reviewContent,"aria-hidden":!c},r),this.getButton()):null}}]),r}(w.Component);z.defaultProps={maxLines:3,ellipsis:"&hellip;",moreText:Object(g.__)("Read more","woo-gutenberg-products-block"),lessText:Object(g.__)("Read less","woo-gutenberg-products-block"),className:"read-more-content"};var W=z;r(211);var U=function(e){var t=e.attributes,r=e.review,n=void 0===r?{}:r,o=t.imageType,c=t.showReviewDate,a=t.showReviewerName,i=t.showReviewImage,s=t.showReviewRating,l=t.showReviewContent,u=t.showProductName,b=n.rating,d=!Object.keys(n).length>0,w=Number.isFinite(b)&&s;return Object(p.createElement)("li",{className:_()("wc-block-review-list-item__item",{"is-loading":d}),"aria-hidden":d},(u||c||a||i||w)&&Object(p.createElement)("div",{className:"wc-block-review-list-item__info"},i&&function(e,t,r){var n,o;return r||!e?Object(p.createElement)("div",{className:"wc-block-review-list-item__image",width:"48",height:"48"}):Object(p.createElement)("div",{className:"wc-block-review-list-item__image"},"product"===t?Object(p.createElement)("img",{"aria-hidden":"true",alt:(null===(n=e.product_image)||void 0===n?void 0:n.alt)||"",src:(null===(o=e.product_image)||void 0===o?void 0:o.src)||"",className:"wc-block-review-list-item__image",width:"48",height:"48"}):Object(p.createElement)("img",{"aria-hidden":"true",alt:"",src:e.reviewer_avatar_urls[48]||"",srcSet:e.reviewer_avatar_urls[96]+" 2x",className:"wc-block-review-list-item__image",width:"48",height:"48"}),e.verified&&Object(p.createElement)("div",{className:"wc-block-review-list-item__verified",title:Object(g.__)("Verified buyer","woo-gutenberg-products-block")},Object(g.__)("Verified buyer","woo-gutenberg-products-block")))}(n,o,d),(u||a||w||c)&&Object(p.createElement)("div",{className:"wc-block-review-list-item__meta"},w&&function(e){var t=e.rating,r={width:t/5*100+"%"};return Object(p.createElement)("div",{className:"wc-block-review-list-item__rating"},Object(p.createElement)("div",{className:"wc-block-review-list-item__rating__stars",role:"img"},Object(p.createElement)("span",{style:r},Object(g.sprintf)(Object(g.__)("Rated %f out of 5","woo-gutenberg-products-block"),t))))}(n),u&&function(e){return Object(p.createElement)("div",{className:"wc-block-review-list-item__product"},Object(p.createElement)("a",{href:e.product_permalink,dangerouslySetInnerHTML:{__html:e.product_name}}))}(n),a&&function(e){var t=e.reviewer,r=void 0===t?"":t;return Object(p.createElement)("div",{className:"wc-block-review-list-item__author"},r)}(n),c&&function(e){var t=e.date_created,r=e.formatted_date_created;return Object(p.createElement)("time",{className:"wc-block-review-list-item__published-date",dateTime:t},r)}(n))),l&&function(e){return Object(p.createElement)(W,{maxLines:10,moreText:Object(g.__)("Read full review","woo-gutenberg-products-block"),lessText:Object(g.__)("Hide full review","woo-gutenberg-products-block"),className:"wc-block-review-list-item__text"},Object(p.createElement)("div",{dangerouslySetInnerHTML:{__html:e.review||""}}))}(n))};r(210);function J(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?J(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var q=function(e){var t=e.attributes,r=e.reviews,n=(f.n||"product"===t.imageType)&&t.showReviewImage,o=f.m&&t.showReviewRating,c=G(G({},t),{},{showReviewImage:n,showReviewRating:o});return Object(p.createElement)("ul",{className:"wc-block-review-list"},0===r.length?Object(p.createElement)(U,{attributes:c}):r.map((function(e,t){return Object(p.createElement)(U,{key:e.id||t,attributes:c,review:e})})))},Y=r(16),K=r.n(Y),Q=r(13),X=r.n(Q),Z=r(24),$=r.n(Z),ee=r(70),te=r.n(ee),re=r(44),ne=r(26);function oe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}function ce(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}var ae=function(e){var t=function(t){s()(n,t);var r=oe(n);function n(){var e;o()(this,n);for(var t=arguments.length,c=new Array(t),a=0;a<t;a++)c[a]=arguments[a];return e=r.call.apply(r,[this].concat(c)),j()(D()(e),"isPreview",!!e.props.attributes.previewReviews),j()(D()(e),"delayedAppendReviews",e.props.delayFunction(e.appendReviews)),j()(D()(e),"state",{error:null,loading:!0,reviews:e.isPreview?e.props.attributes.previewReviews:[],totalReviews:e.isPreview?e.props.attributes.previewReviews.length:0}),j()(D()(e),"setError",function(){var t=$()(X.a.mark((function t(r){var n,o;return X.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.props.onReviewsLoadError,t.next=3,Object(ne.a)(r);case 3:o=t.sent,e.setState({reviews:[],loading:!1,error:o}),n(o);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),e}return a()(n,[{key:"componentDidMount",value:function(){this.replaceReviews()}},{key:"componentDidUpdate",value:function(e){e.reviewsToDisplay<this.props.reviewsToDisplay?this.delayedAppendReviews():this.shouldReplaceReviews(e,this.props)&&this.replaceReviews()}},{key:"shouldReplaceReviews",value:function(e,t){return e.orderby!==t.orderby||e.order!==t.order||e.productId!==t.productId||!te()(e.categoryIds,t.categoryIds)}},{key:"componentWillUnMount",value:function(){this.delayedAppendReviews.cancel&&this.delayedAppendReviews.cancel()}},{key:"getArgs",value:function(e){var t=this.props,r=t.categoryIds,n=t.order,o=t.orderby,c=t.productId,a={order:n,orderby:o,per_page:t.reviewsToDisplay-e,offset:e};return r&&r.length&&(a.category_id=Array.isArray(r)?r.join(","):r),c&&(a.product_id=c),a}},{key:"replaceReviews",value:function(){if(!this.isPreview){var e=this.props.onReviewsReplaced;this.updateListOfReviews().then(e)}}},{key:"appendReviews",value:function(){if(!this.isPreview){var e=this.props,t=e.onReviewsAppended,r=e.reviewsToDisplay,n=this.state.reviews;r<=n.length||this.updateListOfReviews(n).then(t)}}},{key:"updateListOfReviews",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=this.props.reviewsToDisplay,n=this.state.totalReviews,o=Math.min(n,r)-t.length;return this.setState({loading:!0,reviews:t.concat(Array(o).fill({}))}),Object(re.b)(this.getArgs(t.length)).then((function(r){var n=r.reviews,o=r.totalReviews;return e.setState({reviews:t.filter((function(e){return Object.keys(e).length})).concat(n),totalReviews:o,loading:!1,error:null}),{newReviews:n}})).catch(this.setError)}},{key:"render",value:function(){var t=this.props.reviewsToDisplay,r=this.state,n=r.error,o=r.loading,c=r.reviews,a=r.totalReviews;return Object(p.createElement)(e,K()({},this.props,{error:n,isLoading:o,reviews:c.slice(0,t),totalReviews:a}))}}]),n}(w.Component);j()(t,"defaultProps",{delayFunction:function(e){return e},onReviewsAppended:function(){},onReviewsLoadError:function(){},onReviewsReplaced:function(){}});var r=e.displayName,n=void 0===r?e.name||"Component":r;return t.displayName="WithReviews( ".concat(n," )"),t}(function(e){s()(r,e);var t=ce(r);function r(){return o()(this,r),t.apply(this,arguments)}return a()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.error,n=e.isLoading,o=e.noReviewsPlaceholder,c=e.reviews,a=e.totalReviews;return r?Object(p.createElement)(h.a,{className:"wc-block-featured-product-error",error:r,isLoading:n}):0!==c.length||n?Object(p.createElement)(v.Disabled,null,t.showOrderby&&f.m&&Object(p.createElement)(L,{readOnly:!0,value:t.orderby}),Object(p.createElement)(q,{attributes:t,reviews:c}),t.showLoadMore&&a>c.length&&Object(p.createElement)(C,{screenReaderLabel:Object(g.__)("Load more reviews","woo-gutenberg-products-block")})):Object(p.createElement)(o,{attributes:t})}}]),r}(w.Component));function ie(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u()(this,r)}}var se=function(e){s()(r,e);var t=ie(r);function r(){return o()(this,r),t.apply(this,arguments)}return a()(r,[{key:"renderHiddenContentPlaceholder",value:function(){var e=this.props,t=e.icon,r=e.name;return Object(p.createElement)(v.Placeholder,{icon:t,label:r},Object(g.__)("The content for this block is hidden due to block settings.","woo-gutenberg-products-block"))}},{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.className,n=e.noReviewsPlaceholder,o=t.categoryIds,c=t.productId,a=t.reviewsOnPageLoad,i=t.showProductName,s=t.showReviewDate,l=t.showReviewerName,u=t.showReviewContent,b=t.showReviewImage,d=t.showReviewRating,g=Object(re.c)(t.orderby),w=g.order,v=g.orderby;return!(u||d||s||l||b||i)?this.renderHiddenContentPlaceholder():Object(p.createElement)("div",{className:Object(re.a)(r,t)},Object(p.createElement)(ae,{attributes:t,categoryIds:o,delayFunction:function(e){return Object(m.debounce)(e,400)},noReviewsPlaceholder:n,orderby:v,order:w,productId:c,reviewsToDisplay:a}))}}]),r}(w.Component);t.a=se},11:function(e,t){!function(){e.exports=this.React}()},13:function(e,t){!function(){e.exports=this.regeneratorRuntime}()},15:function(e,t){!function(){e.exports=this.wp.blocks}()},22:function(e,t){!function(){e.exports=this.wp.compose}()},23:function(e,t){!function(){e.exports=this.wp.blockEditor}()},26:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=r(13),o=r.n(n),c=r(24),a=r.n(c),i=function(){var e=a()(o.a.mark((function e(t){var r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.json){e.next=11;break}return e.prev=1,e.next=4,t.json();case 4:return r=e.sent,e.abrupt("return",{message:r.message,type:r.type||"api"});case 8:return e.prev=8,e.t0=e.catch(1),e.abrupt("return",{message:e.t0.message,type:"general"});case 11:return e.abrupt("return",{message:t.message,type:t.type||"general"});case 12:case"end":return e.stop()}}),e,null,[[1,8]])})));return function(t){return e.apply(this,arguments)}}()},28:function(e,t){!function(){e.exports=this.wp.escapeHtml}()},3:function(e,t){!function(){e.exports=this.wc.wcSettings}()},30:function(e,t,r){"use strict";var n=r(0),o=r(1),c=(r(2),r(28));t.a=function(e){var t,r,a,i=e.error;return Object(n.createElement)("div",{className:"wc-block-error-message"},(r=(t=i).message,a=t.type,r?"general"===a?Object(n.createElement)("span",null,Object(o.__)("The following error was returned","woo-gutenberg-products-block"),Object(n.createElement)("br",null),Object(n.createElement)("code",null,Object(c.escapeHTML)(r))):"api"===a?Object(n.createElement)("span",null,Object(o.__)("The following error was returned from the API","woo-gutenberg-products-block"),Object(n.createElement)("br",null),Object(n.createElement)("code",null,Object(c.escapeHTML)(r))):r:Object(o.__)("An unknown error occurred which prevented the block from being updated.","woo-gutenberg-products-block")))}},4:function(e,t){!function(){e.exports=this.wp.components}()},44:function(e,t,r){"use strict";r.d(t,"c",(function(){return s})),r.d(t,"b",(function(){return l})),r.d(t,"a",(function(){return u}));var n=r(9),o=r.n(n),c=r(7),a=r.n(c),i=r(6),s=function(e){if(i.m){if("lowest-rating"===e)return{order:"asc",orderby:"rating"};if("highest-rating"===e)return{order:"desc",orderby:"rating"}}return{order:"desc",orderby:"date_gmt"}},l=function(e){return o()({path:"/wc/store/products/reviews?"+Object.entries(e).map((function(e){return e.join("=")})).join("&"),parse:!1}).then((function(e){return e.json().then((function(t){return{reviews:t,totalReviews:parseInt(e.headers.get("x-wp-total"),10)}}))}))},u=function(e,t){var r=t.className,n=t.showReviewDate,o=t.showReviewerName,c=t.showReviewContent,i=t.showProductName,s=t.showReviewImage,l=t.showReviewRating;return a()(e,r,{"has-image":s,"has-name":o,"has-date":n,"has-rating":l,"has-content":c,"has-product-name":i})}},5:function(e,t){!function(){e.exports=this.lodash}()},57:function(e,t,r){"use strict";var n=r(0),o=r(1),c=(r(2),r(63)),a=r(633),i=Object(n.createElement)(a.a,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})),s=r(7),l=r.n(s),u=r(4),b=r(30);r(98),t.a=function(e){var t=e.className,r=e.error,a=e.isLoading,s=e.onRetry;return Object(n.createElement)(u.Placeholder,{icon:Object(n.createElement)(c.a,{srcElement:i}),label:Object(o.__)("Sorry, an error occurred","woo-gutenberg-products-block"),className:l()("wc-block-api-error",t)},Object(n.createElement)(b.a,{error:r}),s&&Object(n.createElement)(n.Fragment,null,a?Object(n.createElement)(u.Spinner,null):Object(n.createElement)(u.Button,{isDefault:!0,onClick:s},Object(o.__)("Retry","woo-gutenberg-products-block"))))}},6:function(e,t,r){"use strict";r.d(t,"m",(function(){return o})),r.d(t,"n",(function(){return c})),r.d(t,"h",(function(){return a})),r.d(t,"j",(function(){return i})),r.d(t,"a",(function(){return s})),r.d(t,"i",(function(){return l})),r.d(t,"l",(function(){return u})),r.d(t,"c",(function(){return b})),r.d(t,"k",(function(){return d})),r.d(t,"b",(function(){return p})),r.d(t,"f",(function(){return g})),r.d(t,"g",(function(){return w})),r.d(t,"d",(function(){return m})),r.d(t,"e",(function(){return v})),r.d(t,"o",(function(){return f}));var n=r(3),o=(Object(n.getSetting)("currentUserIsAdmin",!1),Object(n.getSetting)("reviewRatingsEnabled",!0)),c=Object(n.getSetting)("showAvatars",!0),a=Object(n.getSetting)("max_columns",6),i=Object(n.getSetting)("min_columns",1),s=Object(n.getSetting)("default_columns",3),l=Object(n.getSetting)("max_rows",6),u=Object(n.getSetting)("min_rows",1),b=Object(n.getSetting)("default_rows",3),d=Object(n.getSetting)("min_height",500),p=Object(n.getSetting)("default_height",500),g=(Object(n.getSetting)("placeholderImgSrc",""),Object(n.getSetting)("thumbnail_size",300),Object(n.getSetting)("isLargeCatalog")),w=Object(n.getSetting)("limitTags"),m=(Object(n.getSetting)("hasProducts",!0),Object(n.getSetting)("hasTags",!0)),v=Object(n.getSetting)("homeUrl",""),f=(Object(n.getSetting)("couponsEnabled",!0),Object(n.getSetting)("shippingEnabled",!0),Object(n.getSetting)("taxesEnabled",!0),Object(n.getSetting)("displayItemizedTaxes",!1),Object(n.getSetting)("displayShopPricesIncludingTax",!1),Object(n.getSetting)("displayCartPricesIncludingTax",!1),Object(n.getSetting)("productCount",0),Object(n.getSetting)("attributes",[]),Object(n.getSetting)("isShippingCalculatorEnabled",!0),Object(n.getSetting)("isShippingCostHidden",!1),Object(n.getSetting)("woocommerceBlocksPhase",1),Object(n.getSetting)("wcBlocksAssetUrl","")),h=(Object(n.getSetting)("shippingCountries",{}),Object(n.getSetting)("allowedCountries",{}),Object(n.getSetting)("shippingStates",{}),Object(n.getSetting)("allowedStates",{}),Object(n.getSetting)("shippingMethodsExist",!1),Object(n.getSetting)("checkoutShowLoginReminder",!0),{id:0,title:"",permalink:""}),O=Object(n.getSetting)("storePages",{shop:h,cart:h,checkout:h,privacy:h,terms:h});O.shop.permalink,O.checkout.id,O.checkout.permalink,O.privacy.permalink,O.privacy.title,O.terms.permalink,O.terms.title,O.cart.id,O.cart.permalink,Object(n.getSetting)("checkoutAllowsGuest",!1),Object(n.getSetting)("checkoutAllowsSignup",!1),r(15)},611:function(e,t,r){"use strict";r.r(t);var n=r(8),o=r.n(n),c=r(0),a=r(1),i=r(15),s=r(63),l=r(633),u=Object(c.createElement)(l.a,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(c.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),Object(c.createElement)("path",{d:"M15 4v7H5.17l-.59.59-.58.58V4h11m1-2H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm5 4h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1z"})),b=(r(101),r(23)),d=r(4),p=(r(2),r(104)),g=function(){return Object(c.createElement)(d.Placeholder,{className:"wc-block-all-reviews",icon:Object(c.createElement)(s.a,{srcElement:u,className:"block-editor-block-icon"}),label:Object(a.__)("All Reviews","woo-gutenberg-products-block")},Object(a.__)("This block shows a list of all product reviews. Your store does not have any reviews yet, but they will show up here when it does.","woo-gutenberg-products-block"))},w=r(71),m=function(e){var t=e.attributes,r=e.setAttributes;return Object(c.createElement)(c.Fragment,null,Object(c.createElement)(b.InspectorControls,{key:"inspector"},Object(c.createElement)(d.PanelBody,{title:Object(a.__)("Content","woo-gutenberg-products-block")},Object(c.createElement)(d.ToggleControl,{label:Object(a.__)("Product name","woo-gutenberg-products-block"),checked:t.showProductName,onChange:function(){return r({showProductName:!t.showProductName})}}),Object(w.b)(t,r)),Object(c.createElement)(d.PanelBody,{title:Object(a.__)("List Settings","woo-gutenberg-products-block")},Object(w.c)(t,r))),Object(c.createElement)(p.a,{attributes:t,className:"wc-block-all-reviews",icon:Object(c.createElement)(s.a,{icon:u,className:"block-editor-block-icon"}),name:Object(a.__)("All Reviews","woo-gutenberg-products-block"),noReviewsPlaceholder:g}))},v=r(102),f=r(103),h=r(90);function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}Object(i.registerBlockType)("woocommerce/all-reviews",{title:Object(a.__)("All Reviews","woo-gutenberg-products-block"),icon:{src:Object(c.createElement)(s.a,{srcElement:u}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(a.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(a.__)("Show a list of all product reviews.","woo-gutenberg-products-block"),supports:{html:!1},example:j(j({},h.a),{},{attributes:j(j({},h.a.attributes),{},{showProductName:!0})}),attributes:j(j({},v.a),{},{showProductName:{type:"boolean",default:!0}}),edit:function(e){return Object(c.createElement)(m,e)},save:f.a})},63:function(e,t,r){"use strict";var n=r(8),o=r.n(n),c=r(37),a=r.n(c),i=r(11);r(2);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,c=a()(e,["srcElement","size"]);return Object(i.isValidElement)(t)&&Object(i.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:n,height:n},c))}},70:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},71:function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return d})),r.d(t,"c",(function(){return p}));var n=r(0),o=r(1),c=r(125),a=r(4),i=r(23),s=r(3),l=r(6),u=r(89),b=function(e,t){return Object(n.createElement)(i.BlockControls,null,Object(n.createElement)(a.Toolbar,{controls:[{icon:"edit",title:Object(o.__)("Edit","woo-gutenberg-products-block"),onClick:function(){return t({editMode:!e})},isActive:e}]}))},d=function(e,t){return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Product rating","woo-gutenberg-products-block"),checked:e.showReviewRating,onChange:function(){return t({showReviewRating:!e.showReviewRating})}}),e.showReviewRating&&!l.m&&Object(n.createElement)(a.Notice,{className:"wc-block-base-control-notice",isDismissible:!1},Object(c.a)(Object(o.__)("Product rating is disabled in your <a>store settings</a>.","woo-gutenberg-products-block"),{a:Object(n.createElement)("a",{href:Object(s.getAdminLink)("admin.php?page=wc-settings&tab=products"),target:"_blank",rel:"noopener noreferrer"})})),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Reviewer name","woo-gutenberg-products-block"),checked:e.showReviewerName,onChange:function(){return t({showReviewerName:!e.showReviewerName})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Image","woo-gutenberg-products-block"),checked:e.showReviewImage,onChange:function(){return t({showReviewImage:!e.showReviewImage})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Review date","woo-gutenberg-products-block"),checked:e.showReviewDate,onChange:function(){return t({showReviewDate:!e.showReviewDate})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Review content","woo-gutenberg-products-block"),checked:e.showReviewContent,onChange:function(){return t({showReviewContent:!e.showReviewContent})}}),e.showReviewImage&&Object(n.createElement)(n.Fragment,null,Object(n.createElement)(u.a,{label:Object(o.__)("Review image","woo-gutenberg-products-block"),value:e.imageType,options:[{label:Object(o.__)("Reviewer photo","woo-gutenberg-products-block"),value:"reviewer"},{label:Object(o.__)("Product","woo-gutenberg-products-block"),value:"product"}],onChange:function(e){return t({imageType:e})}}),"reviewer"===e.imageType&&!l.n&&Object(n.createElement)(a.Notice,{className:"wc-block-base-control-notice",isDismissible:!1},Object(c.a)(Object(o.__)("Reviewer photo is disabled in your <a>site settings</a>.","woo-gutenberg-products-block"),{a:Object(n.createElement)("a",{href:Object(s.getAdminLink)("options-discussion.php"),target:"_blank",rel:"noopener noreferrer"})}))))},p=function(e,t){return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Order by","woo-gutenberg-products-block"),checked:e.showOrderby,onChange:function(){return t({showOrderby:!e.showOrderby})}}),Object(n.createElement)(a.SelectControl,{label:Object(o.__)("Order Product Reviews by","woo-gutenberg-products-block"),value:e.orderby,options:[{label:"Most recent",value:"most-recent"},{label:"Highest Rating",value:"highest-rating"},{label:"Lowest Rating",value:"lowest-rating"}],onChange:function(e){return t({orderby:e})}}),Object(n.createElement)(a.RangeControl,{label:Object(o.__)("Starting Number of Reviews","woo-gutenberg-products-block"),value:e.reviewsOnPageLoad,onChange:function(e){return t({reviewsOnPageLoad:e})},max:20,min:1}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Load more","woo-gutenberg-products-block"),checked:e.showLoadMore,onChange:function(){return t({showLoadMore:!e.showLoadMore})}}),e.showLoadMore&&Object(n.createElement)(a.RangeControl,{label:Object(o.__)("Load More Reviews","woo-gutenberg-products-block"),value:e.reviewsOnLoadMore,onChange:function(e){return t({reviewsOnLoadMore:e})},max:20,min:1}))}},89:function(e,t,r){"use strict";var n=r(16),o=r.n(n),c=r(18),a=r.n(c),i=r(19),s=r.n(i),l=r(17),u=r.n