@total_onion/onion-library 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. package/.github/workflows/npm-publish.yml +34 -0
  2. package/.prettierrc +22 -0
  3. package/README.md +33 -0
  4. package/__spec__/copyBlockComponent.spec.js +94 -0
  5. package/__spec__/copyFile.spec.js +78 -0
  6. package/__spec__/copyFileKeeping.spec.js +74 -0
  7. package/__spec__/files/source.txt +1 -0
  8. package/__spec__/update-all-components.spec.js +99 -0
  9. package/__spec__/update-component.spec.js +165 -0
  10. package/components/admin-filter-pages-by-block/filter-pages-by-block.php +81 -0
  11. package/components/admin-resizable-editor-sidebar/resizable-editor-sidebar.php +224 -0
  12. package/components/block-animated-sections/animated-sections-extra.scss +631 -0
  13. package/components/block-animated-sections/animated-sections.js +1642 -0
  14. package/components/block-animated-sections/animated-sections.php +14 -0
  15. package/components/block-animated-sections/animated-sections.scss +470 -0
  16. package/components/block-animated-sections/animated-sections.twig +324 -0
  17. package/components/block-animated-sections/group_63f350c04d418.json +4122 -0
  18. package/components/block-back-to-top-button/back-to-top-button-extra.scss +6 -0
  19. package/components/block-back-to-top-button/back-to-top-button.js +12 -0
  20. package/components/block-back-to-top-button/back-to-top-button.php +14 -0
  21. package/components/block-back-to-top-button/back-to-top-button.scss +71 -0
  22. package/components/block-back-to-top-button/back-to-top-button.twig +40 -0
  23. package/components/block-back-to-top-button/group_63e24e04a1e61.json +315 -0
  24. package/components/block-bambuser-display/bambuser-display-extra.scss +6 -0
  25. package/components/block-bambuser-display/bambuser-display.js +43 -0
  26. package/components/block-bambuser-display/bambuser-display.php +14 -0
  27. package/components/block-bambuser-display/bambuser-display.scss +7 -0
  28. package/components/block-bambuser-display/bambuser-display.twig +43 -0
  29. package/components/block-bambuser-display/group_671658042eba7.json +489 -0
  30. package/components/block-bazaarvoice-display/bazaarvoice-display-extra.scss +5 -0
  31. package/components/block-bazaarvoice-display/bazaarvoice-display.js +7 -0
  32. package/components/block-bazaarvoice-display/bazaarvoice-display.php +14 -0
  33. package/components/block-bazaarvoice-display/bazaarvoice-display.scss +42 -0
  34. package/components/block-bazaarvoice-display/bazaarvoice-display.twig +38 -0
  35. package/components/block-bazaarvoice-display/group_64f744285585d.json +382 -0
  36. package/components/block-better-reviews/better-reviews-extra.scss +5 -0
  37. package/components/block-betterreviews-display/betterreviews-display-extra.scss +309 -0
  38. package/components/block-betterreviews-display/betterreviews-display.js +8 -0
  39. package/components/block-betterreviews-display/betterreviews-display.php +14 -0
  40. package/components/block-betterreviews-display/betterreviews-display.scss +25 -0
  41. package/components/block-betterreviews-display/betterreviews-display.twig +31 -0
  42. package/components/block-betterreviews-display/group_651c206555d43.json +331 -0
  43. package/components/block-breadcrumb-display/breadcrumb-display-extra.scss +6 -0
  44. package/components/block-breadcrumb-display/breadcrumb-display.js +8 -0
  45. package/components/block-breadcrumb-display/breadcrumb-display.php +14 -0
  46. package/components/block-breadcrumb-display/breadcrumb-display.scss +17 -0
  47. package/components/block-breadcrumb-display/breadcrumb-display.twig +50 -0
  48. package/components/block-breadcrumb-display/group_652aea92326b9.json +211 -0
  49. package/components/block-card-carousel-v2/card-carousel-v2.js +138 -0
  50. package/components/block-card-carousel-v2/card-carousel-v2.php +17 -0
  51. package/components/block-card-carousel-v2/card-carousel-v2.scss +408 -0
  52. package/components/block-card-carousel-v2/card-carousel-v2.twig +145 -0
  53. package/components/block-card-carousel-v2/group_64f46e5ea695b.json +1171 -0
  54. package/components/block-carousel-multi-layout-v2/carousel-multi-layout-v2-extra.js +1 -0
  55. package/components/block-carousel-multi-layout-v2/carousel-multi-layout-v2-extra.scss +5 -0
  56. package/components/block-carousel-multi-layout-v2/carousel-multi-layout-v2.js +223 -0
  57. package/components/block-carousel-multi-layout-v2/carousel-multi-layout-v2.php +17 -0
  58. package/components/block-carousel-multi-layout-v2/carousel-multi-layout-v2.scss +155 -0
  59. package/components/block-carousel-multi-layout-v2/carousel-multi-layout-v2.twig +137 -0
  60. package/components/block-carousel-multi-layout-v2/group_63f1ff16340b1.json +687 -0
  61. package/components/block-carousel-thumbnail-gallery/carousel-thumbnail-gallery-extra.scss +6 -0
  62. package/components/block-carousel-thumbnail-gallery/carousel-thumbnail-gallery.js +89 -0
  63. package/components/block-carousel-thumbnail-gallery/carousel-thumbnail-gallery.php +17 -0
  64. package/components/block-carousel-thumbnail-gallery/carousel-thumbnail-gallery.scss +87 -0
  65. package/components/block-carousel-thumbnail-gallery/carousel-thumbnail-gallery.twig +70 -0
  66. package/components/block-carousel-thumbnail-gallery/group_63dfd38732f6c.json +605 -0
  67. package/components/block-collection-carousel/collection-carousel-extra.scss +5 -0
  68. package/components/block-collection-carousel/collection-carousel.js +132 -0
  69. package/components/block-collection-carousel/collection-carousel.php +14 -0
  70. package/components/block-collection-carousel/collection-carousel.scss +59 -0
  71. package/components/block-collection-carousel/collection-carousel.twig +87 -0
  72. package/components/block-collection-carousel/group_645b93da4e5d5.json +225 -0
  73. package/components/block-current-post-info/current-post-info-extra.js +1 -0
  74. package/components/block-current-post-info/current-post-info-extra.scss +6 -0
  75. package/components/block-current-post-info/current-post-info.js +11 -0
  76. package/components/block-current-post-info/current-post-info.php +17 -0
  77. package/components/block-current-post-info/current-post-info.scss +173 -0
  78. package/components/block-current-post-info/current-post-info.twig +44 -0
  79. package/components/block-current-post-info/group_681f29c027d42.json +2535 -0
  80. package/components/block-debrain-label-shop/debrain-label-shop.js +7 -0
  81. package/components/block-debrain-label-shop/debrain-label-shop.php +73 -0
  82. package/components/block-debrain-label-shop/debrain-label-shop.scss +4 -0
  83. package/components/block-debrain-label-shop/debrain-label-shop.twig +116 -0
  84. package/components/block-debrain-label-shop/group_63935b63f198c.json +1613 -0
  85. package/components/block-debrain-wtb/debrain-wtb-extra.scss +6 -0
  86. package/components/block-debrain-wtb/debrain-wtb.js +8 -0
  87. package/components/block-debrain-wtb/debrain-wtb.php +14 -0
  88. package/components/block-debrain-wtb/debrain-wtb.scss +7 -0
  89. package/components/block-debrain-wtb/debrain-wtb.twig +18 -0
  90. package/components/block-debrain-wtb/group_66349f620692e.json +73 -0
  91. package/components/block-divider/divider-extra.scss +5 -0
  92. package/components/block-divider/divider.js +8 -0
  93. package/components/block-divider/divider.php +14 -0
  94. package/components/block-divider/divider.scss +86 -0
  95. package/components/block-divider/divider.twig +48 -0
  96. package/components/block-divider/group_63a4486b818b1.json +888 -0
  97. package/components/block-event-details-banner/event-details-banner-extra.scss +15 -0
  98. package/components/block-event-details-banner/event-details-banner.js +9 -0
  99. package/components/block-event-details-banner/event-details-banner.php +14 -0
  100. package/components/block-event-details-banner/event-details-banner.scss +216 -0
  101. package/components/block-event-details-banner/event-details-banner.twig +78 -0
  102. package/components/block-event-details-banner/group_63d934fc2895a.json +736 -0
  103. package/components/block-floating-links/floating-links-extra.scss +4 -0
  104. package/components/block-floating-links/floating-links.js +8 -0
  105. package/components/block-floating-links/floating-links.php +14 -0
  106. package/components/block-floating-links/floating-links.scss +73 -0
  107. package/components/block-floating-links/floating-links.twig +25 -0
  108. package/components/block-floating-links/group_63d7ab19e9b15.json +531 -0
  109. package/components/block-gradient-layer/gradient-layer-extra.scss +6 -0
  110. package/components/block-gradient-layer/gradient-layer.js +7 -0
  111. package/components/block-gradient-layer/gradient-layer.php +14 -0
  112. package/components/block-gradient-layer/gradient-layer.scss +11 -0
  113. package/components/block-gradient-layer/gradient-layer.twig +17 -0
  114. package/components/block-gradient-layer/group_6787dab17f83e.json +215 -0
  115. package/components/block-group-container/group-container-extra.scss +2 -0
  116. package/components/block-group-container/group-container.js +8 -0
  117. package/components/block-group-container/group-container.php +14 -0
  118. package/components/block-group-container/group-container.scss +34 -0
  119. package/components/block-group-container/group-container.twig +49 -0
  120. package/components/block-group-container/group_644ce9a48943b.json +5097 -0
  121. package/components/block-iframe-container/group_645d4a0c3e5ca.json +459 -0
  122. package/components/block-iframe-container/iframe-container-extra.scss +2 -0
  123. package/components/block-iframe-container/iframe-container.js +31 -0
  124. package/components/block-iframe-container/iframe-container.php +14 -0
  125. package/components/block-iframe-container/iframe-container.scss +26 -0
  126. package/components/block-iframe-container/iframe-container.twig +23 -0
  127. package/components/block-list-builder/group_640ebbadc584f.json +739 -0
  128. package/components/block-list-builder/list-builder-extra.scss +6 -0
  129. package/components/block-list-builder/list-builder.js +7 -0
  130. package/components/block-list-builder/list-builder.php +14 -0
  131. package/components/block-list-builder/list-builder.scss +62 -0
  132. package/components/block-list-builder/list-builder.twig +47 -0
  133. package/components/block-map-container/group_670fe49f73f13.json +406 -0
  134. package/components/block-map-container/map-container-extra.scss +2 -0
  135. package/components/block-map-container/map-container.js +230 -0
  136. package/components/block-map-container/map-container.php +14 -0
  137. package/components/block-map-container/map-container.scss +70 -0
  138. package/components/block-map-container/map-container.twig +35 -0
  139. package/components/block-menu-presentation/group_63d7ea144187d.json +489 -0
  140. package/components/block-menu-presentation/menu-presentation-extra.scss +2 -0
  141. package/components/block-menu-presentation/menu-presentation.js +11 -0
  142. package/components/block-menu-presentation/menu-presentation.php +14 -0
  143. package/components/block-menu-presentation/menu-presentation.scss +111 -0
  144. package/components/block-menu-presentation/menu-presentation.twig +60 -0
  145. package/components/block-mikmak-wtb/group_6674604cd3920.json +54 -0
  146. package/components/block-mikmak-wtb/mikmak-wtb-extra.scss +6 -0
  147. package/components/block-mikmak-wtb/mikmak-wtb.js +7 -0
  148. package/components/block-mikmak-wtb/mikmak-wtb.php +14 -0
  149. package/components/block-mikmak-wtb/mikmak-wtb.scss +7 -0
  150. package/components/block-mikmak-wtb/mikmak-wtb.twig +19 -0
  151. package/components/block-nav-menu-container/group_65d29435959e5.json +185 -0
  152. package/components/block-nav-menu-container/nav-menu-container-extra.scss +6 -0
  153. package/components/block-nav-menu-container/nav-menu-container.js +21 -0
  154. package/components/block-nav-menu-container/nav-menu-container.php +14 -0
  155. package/components/block-nav-menu-container/nav-menu-container.scss +13 -0
  156. package/components/block-nav-menu-container/nav-menu-container.twig +19 -0
  157. package/components/block-post-info/group_64ef2bc27ec59.json +13315 -0
  158. package/components/block-post-info/post-info/article-description.twig +7 -0
  159. package/components/block-post-info/post-info/bazaarvoice-inline.twig +10 -0
  160. package/components/block-post-info/post-info/better-reviews.twig +13 -0
  161. package/components/block-post-info/post-info/buy-now.twig +79 -0
  162. package/components/block-post-info/post-info/cocktail-glass-type.twig +21 -0
  163. package/components/block-post-info/post-info/cocktail-ingredients-description.twig +7 -0
  164. package/components/block-post-info/post-info/cocktail-ingredients-title.twig +7 -0
  165. package/components/block-post-info/post-info/cocktail-instructions-description.twig +7 -0
  166. package/components/block-post-info/post-info/cocktail-instructions-title.twig +7 -0
  167. package/components/block-post-info/post-info/cocktail-prep-time.twig +26 -0
  168. package/components/block-post-info/post-info/cocktail-recipe-ingredients.twig +132 -0
  169. package/components/block-post-info/post-info/cocktail-recipe-instructions.twig +19 -0
  170. package/components/block-post-info/post-info/cocktail-skill-level.twig +26 -0
  171. package/components/block-post-info/post-info/cocktail-taste.twig +26 -0
  172. package/components/block-post-info/post-info/cocktail-tasting-notes.twig +5 -0
  173. package/components/block-post-info/post-info/divider.twig +3 -0
  174. package/components/block-post-info/post-info/drink-description.twig +7 -0
  175. package/components/block-post-info/post-info/global-image.twig +23 -0
  176. package/components/block-post-info/post-info/gradient-overlay.twig +6 -0
  177. package/components/block-post-info/post-info/person-email.twig +10 -0
  178. package/components/block-post-info/post-info/person-name.twig +7 -0
  179. package/components/block-post-info/post-info/person-questionaire.twig +15 -0
  180. package/components/block-post-info/post-info/person-rating.twig +24 -0
  181. package/components/block-post-info/post-info/post-author.twig +7 -0
  182. package/components/block-post-info/post-info/post-categories.twig +6 -0
  183. package/components/block-post-info/post-info/post-headline.twig +6 -0
  184. package/components/block-post-info/post-info/post-image.twig +47 -0
  185. package/components/block-post-info/post-info/post-info-description.twig +5 -0
  186. package/components/block-post-info/post-info/post-info-subtitle.twig +5 -0
  187. package/components/block-post-info/post-info/post-link.twig +40 -0
  188. package/components/block-post-info/post-info/post-name.twig +5 -0
  189. package/components/block-post-info/post-info/post-publish-date.twig +7 -0
  190. package/components/block-post-info/post-info/post-tags.twig +16 -0
  191. package/components/block-post-info/post-info/post-text-alternative-style.twig +5 -0
  192. package/components/block-post-info/post-info/post-title.twig +5 -0
  193. package/components/block-post-info/post-info/product-abv.twig +7 -0
  194. package/components/block-post-info/post-info/product-age-statement.twig +8 -0
  195. package/components/block-post-info/post-info/product-cask-type.twig +7 -0
  196. package/components/block-post-info/post-info/product-country.twig +7 -0
  197. package/components/block-post-info/post-info/product-details-brand.twig +5 -0
  198. package/components/block-post-info/post-info/product-details-description.twig +5 -0
  199. package/components/block-post-info/post-info/product-details-name.twig +5 -0
  200. package/components/block-post-info/post-info/product-details-price.twig +5 -0
  201. package/components/block-post-info/post-info/product-finish.twig +7 -0
  202. package/components/block-post-info/post-info/product-history.twig +7 -0
  203. package/components/block-post-info/post-info/product-logo.twig +3 -0
  204. package/components/block-post-info/post-info/product-name.twig +5 -0
  205. package/components/block-post-info/post-info/product-nose.twig +7 -0
  206. package/components/block-post-info/post-info/product-price.twig +5 -0
  207. package/components/block-post-info/post-info/product-taste.twig +7 -0
  208. package/components/block-post-info/post-info/product-whisky-type.twig +7 -0
  209. package/components/block-post-info/post-info/reservebar-add-to-cart.twig +28 -0
  210. package/components/block-post-info/post-info/shopify-add-to-cart.twig +31 -0
  211. package/components/block-post-info/post-info/social-media-item.twig +34 -0
  212. package/components/block-post-info/post-info/spacer-v2.twig +5 -0
  213. package/components/block-post-info/post-info/treat-recipe-ingredients.twig +83 -0
  214. package/components/block-post-info/post-info-extra.js +1 -0
  215. package/components/block-post-info/post-info-extra.scss +14 -0
  216. package/components/block-post-info/post-info.js +11 -0
  217. package/components/block-post-info/post-info.php +17 -0
  218. package/components/block-post-info/post-info.scss +174 -0
  219. package/components/block-post-info/post-info.twig +51 -0
  220. package/components/block-post-type-filter-grid-v2/group_64690c62487bc.json +4359 -0
  221. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/better-reviews-widget.vue +15 -0
  222. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/buy-now-widget.vue +72 -0
  223. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/cocktail-category.vue +54 -0
  224. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/cocktail-tasting-notes.vue +15 -0
  225. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/divider-widget.vue +11 -0
  226. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/drink-tastes.vue +26 -0
  227. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/featured-post-component.vue +61 -0
  228. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/global-image-widget.vue +23 -0
  229. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/media-widget.vue +23 -0
  230. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-email-widget.vue +20 -0
  231. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-name-widget.vue +15 -0
  232. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-questionaire-widget.vue +17 -0
  233. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/person-rating-widget.vue +25 -0
  234. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-author-widget.vue +15 -0
  235. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-category-widget.vue +20 -0
  236. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-component.vue +130 -0
  237. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-headline-widget.vue +16 -0
  238. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-image-widget.vue +60 -0
  239. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-info-description.vue +14 -0
  240. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-info-subtitle.vue +14 -0
  241. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-link-widget.vue +44 -0
  242. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-publish-widget.vue +44 -0
  243. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-tags-widget.vue +20 -0
  244. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-text-alternative-style.vue +18 -0
  245. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/post-title-widget.vue +20 -0
  246. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/pre-render-posts-html.twig +17 -0
  247. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-abv.vue +18 -0
  248. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-age-statement.vue +17 -0
  249. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-bazaarvoice.vue +15 -0
  250. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-brand.vue +16 -0
  251. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-cask-type.vue +16 -0
  252. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-country.vue +14 -0
  253. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-description.vue +15 -0
  254. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-details-name.vue +18 -0
  255. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-details-price.vue +15 -0
  256. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-finish.vue +15 -0
  257. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-history.vue +16 -0
  258. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-link.vue +15 -0
  259. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-logo-widget.vue +22 -0
  260. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-name.vue +17 -0
  261. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-nose.vue +16 -0
  262. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-price.vue +15 -0
  263. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-slug.vue +14 -0
  264. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-taste.vue +16 -0
  265. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/product-whisky-type.vue +25 -0
  266. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/ptfg-posts.twig +404 -0
  267. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/ptfg-utils.vue +38 -0
  268. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/shopify-add-to-cart.vue +31 -0
  269. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/social-media-item.vue +58 -0
  270. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/spacer-widget.vue +13 -0
  271. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2/text-search.vue +10 -0
  272. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2-extra.scss +6 -0
  273. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.js +15 -0
  274. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.php +48 -0
  275. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.scss +989 -0
  276. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.twig +148 -0
  277. package/components/block-post-type-filter-grid-v2/post-type-filter-grid-v2.vue +888 -0
  278. package/components/block-post-type-scroller/group_65de1e6cda9fd.json +405 -0
  279. package/components/block-post-type-scroller/post-type-scroller-extra.scss +6 -0
  280. package/components/block-post-type-scroller/post-type-scroller.js +15 -0
  281. package/components/block-post-type-scroller/post-type-scroller.php +14 -0
  282. package/components/block-post-type-scroller/post-type-scroller.scss +4 -0
  283. package/components/block-post-type-scroller/post-type-scroller.twig +14 -0
  284. package/components/block-responsive-image/responsive-image.js +14 -0
  285. package/components/block-responsive-image/responsive-image.scss +3 -0
  286. package/components/block-responsive-table/group_6617ecc987ddd.json +461 -0
  287. package/components/block-responsive-table/responsive-table-extra.scss +6 -0
  288. package/components/block-responsive-table/responsive-table.js +7 -0
  289. package/components/block-responsive-table/responsive-table.php +14 -0
  290. package/components/block-responsive-table/responsive-table.scss +51 -0
  291. package/components/block-responsive-table/responsive-table.twig +45 -0
  292. package/components/block-section-separator/group_63e635d6a198a.json +576 -0
  293. package/components/block-section-separator/section-separator.js +8 -0
  294. package/components/block-section-separator/section-separator.php +14 -0
  295. package/components/block-section-separator/section-separator.scss +38 -0
  296. package/components/block-section-separator/section-separator.twig +46 -0
  297. package/components/block-single-column-container/group_656858f72acd7.json +1065 -0
  298. package/components/block-single-column-container/single-column-container-extra.scss +6 -0
  299. package/components/block-single-column-container/single-column-container.js +8 -0
  300. package/components/block-single-column-container/single-column-container.php +14 -0
  301. package/components/block-single-column-container/single-column-container.scss +20 -0
  302. package/components/block-single-column-container/single-column-container.twig +31 -0
  303. package/components/block-single-content-box/group_65b776f4d75a3.json +1734 -0
  304. package/components/block-single-content-box/single-content-box-extra.scss +7 -0
  305. package/components/block-single-content-box/single-content-box.js +15 -0
  306. package/components/block-single-content-box/single-content-box.php +14 -0
  307. package/components/block-single-content-box/single-content-box.scss +13 -0
  308. package/components/block-single-content-box/single-content-box.twig +21 -0
  309. package/components/block-single-lottie/group_65ccfe68d38cb.json +232 -0
  310. package/components/block-single-lottie/single-lottie-extra.scss +6 -0
  311. package/components/block-single-lottie/single-lottie.js +10 -0
  312. package/components/block-single-lottie/single-lottie.php +14 -0
  313. package/components/block-single-lottie/single-lottie.scss +10 -0
  314. package/components/block-single-lottie/single-lottie.twig +16 -0
  315. package/components/block-single-responsive-image/group_65a6674d41afa.json +354 -0
  316. package/components/block-single-responsive-image/single-responsive-image-extra.scss +7 -0
  317. package/components/block-single-responsive-image/single-responsive-image.js +7 -0
  318. package/components/block-single-responsive-image/single-responsive-image.php +14 -0
  319. package/components/block-single-responsive-image/single-responsive-image.scss +9 -0
  320. package/components/block-single-responsive-image/single-responsive-image.twig +17 -0
  321. package/components/block-single-video/group_65afa6aedbeac.json +280 -0
  322. package/components/block-single-video/single-video-extra.js +1 -0
  323. package/components/block-single-video/single-video-extra.scss +6 -0
  324. package/components/block-single-video/single-video.js +12 -0
  325. package/components/block-single-video/single-video.php +14 -0
  326. package/components/block-single-video/single-video.scss +36 -0
  327. package/components/block-single-video/single-video.twig +21 -0
  328. package/components/block-site-copyright-notice/group_66296c3716b4f.json +287 -0
  329. package/components/block-site-copyright-notice/site-copyright-notice-extra.scss +5 -0
  330. package/components/block-site-copyright-notice/site-copyright-notice.js +7 -0
  331. package/components/block-site-copyright-notice/site-copyright-notice.php +14 -0
  332. package/components/block-site-copyright-notice/site-copyright-notice.scss +32 -0
  333. package/components/block-site-copyright-notice/site-copyright-notice.twig +26 -0
  334. package/components/block-site-logo-container/group_65dda9cbda1a0.json +182 -0
  335. package/components/block-site-logo-container/site-logo-container-extra.scss +6 -0
  336. package/components/block-site-logo-container/site-logo-container.js +7 -0
  337. package/components/block-site-logo-container/site-logo-container.php +14 -0
  338. package/components/block-site-logo-container/site-logo-container.scss +30 -0
  339. package/components/block-site-logo-container/site-logo-container.twig +42 -0
  340. package/components/block-site-title-and-tagline/group_65d258a4d4ee1.json +393 -0
  341. package/components/block-site-title-and-tagline/site-title-and-tagline-extra.scss +5 -0
  342. package/components/block-site-title-and-tagline/site-title-and-tagline.js +7 -0
  343. package/components/block-site-title-and-tagline/site-title-and-tagline.php +14 -0
  344. package/components/block-site-title-and-tagline/site-title-and-tagline.scss +19 -0
  345. package/components/block-site-title-and-tagline/site-title-and-tagline.twig +24 -0
  346. package/components/block-slide-in-panel/group_644e7531c41b6.json +533 -0
  347. package/components/block-slide-in-panel/slide-in-panel-extra.scss +9 -0
  348. package/components/block-slide-in-panel/slide-in-panel.js +23 -0
  349. package/components/block-slide-in-panel/slide-in-panel.php +14 -0
  350. package/components/block-slide-in-panel/slide-in-panel.scss +40 -0
  351. package/components/block-slide-in-panel/slide-in-panel.twig +33 -0
  352. package/components/block-spacer-v2/group_64060dc280525.json +139 -0
  353. package/components/block-spacer-v2/spacer-v2.js +8 -0
  354. package/components/block-spacer-v2/spacer-v2.php +14 -0
  355. package/components/block-spacer-v2/spacer-v2.scss +20 -0
  356. package/components/block-spacer-v2/spacer-v2.twig +13 -0
  357. package/components/block-standard-content-v2/group_63a06c993ad35.json +2718 -0
  358. package/components/block-standard-content-v2/standard-content-v2-extra.js +1 -0
  359. package/components/block-standard-content-v2/standard-content-v2-extra.scss +21 -0
  360. package/components/block-standard-content-v2/standard-content-v2.js +51 -0
  361. package/components/block-standard-content-v2/standard-content-v2.php +17 -0
  362. package/components/block-standard-content-v2/standard-content-v2.scss +25 -0
  363. package/components/block-standard-content-v2/standard-content-v2.twig +20 -0
  364. package/components/block-sticky-link/group_63d78d7f41d23.json +134 -0
  365. package/components/block-sticky-link/sticky-link-extra.scss +1 -0
  366. package/components/block-sticky-link/sticky-link.js +8 -0
  367. package/components/block-sticky-link/sticky-link.php +14 -0
  368. package/components/block-sticky-link/sticky-link.scss +41 -0
  369. package/components/block-sticky-link/sticky-link.twig +25 -0
  370. package/components/block-sub-group-container/group_65de580781a2b.json +1524 -0
  371. package/components/block-sub-group-container/sub-group-container-extra.scss +2 -0
  372. package/components/block-sub-group-container/sub-group-container.js +9 -0
  373. package/components/block-sub-group-container/sub-group-container.php +14 -0
  374. package/components/block-sub-group-container/sub-group-container.scss +26 -0
  375. package/components/block-sub-group-container/sub-group-container.twig +42 -0
  376. package/components/block-sub-tabbed-content/group_6629506ec3a1e.json +1091 -0
  377. package/components/block-sub-tabbed-content/sub-tabbed-content-extra.scss +2 -0
  378. package/components/block-sub-tabbed-content/sub-tabbed-content.js +38 -0
  379. package/components/block-sub-tabbed-content/sub-tabbed-content.php +14 -0
  380. package/components/block-sub-tabbed-content/sub-tabbed-content.scss +74 -0
  381. package/components/block-sub-tabbed-content/sub-tabbed-content.twig +50 -0
  382. package/components/block-tabbed-content-v2/group_6471dffc728cf.json +1270 -0
  383. package/components/block-tabbed-content-v2/tabbed-content-v2-extra.scss +1 -0
  384. package/components/block-tabbed-content-v2/tabbed-content-v2.js +38 -0
  385. package/components/block-tabbed-content-v2/tabbed-content-v2.php +14 -0
  386. package/components/block-tabbed-content-v2/tabbed-content-v2.scss +73 -0
  387. package/components/block-tabbed-content-v2/tabbed-content-v2.twig +58 -0
  388. package/components/block-theme-switcher/group_674e319102e49.json +167 -0
  389. package/components/block-theme-switcher/theme-switcher-extra.scss +6 -0
  390. package/components/block-theme-switcher/theme-switcher.js +17 -0
  391. package/components/block-theme-switcher/theme-switcher.php +14 -0
  392. package/components/block-theme-switcher/theme-switcher.scss +7 -0
  393. package/components/block-theme-switcher/theme-switcher.twig +29 -0
  394. package/components/cache-cta-styles/cache-cta-styles.php +54 -0
  395. package/components/cache-custom-cache-config/custom-cache-config.php +8 -0
  396. package/components/cache-custom-cache-config/group_66f3e16f8c024.json +79 -0
  397. package/components/cache-global-settings/cache-global-settings.php +36 -0
  398. package/components/cache-market-settings/cache-market-settings.php +39 -0
  399. package/components/cache-themes/cache-themes.php +53 -0
  400. package/components/cache-typography/cache-typography.php +53 -0
  401. package/components/component-accent-image/accent-image.twig +75 -0
  402. package/components/component-accent-image/group_6265189d8a694.json +890 -0
  403. package/components/component-accent-image-v2/accent-image-v2.twig +114 -0
  404. package/components/component-accent-image-v2/group_6595613d07b2d.json +951 -0
  405. package/components/component-accent-text/accent-text-extra.scss +6 -0
  406. package/components/component-accent-text/accent-text.scss +61 -0
  407. package/components/component-accent-text/accent-text.twig +11 -0
  408. package/components/component-accent-text/group_63e10c602d136.json +220 -0
  409. package/components/component-accordion-v2/accordion-v2-extra.scss +6 -0
  410. package/components/component-accordion-v2/accordion-v2.js +113 -0
  411. package/components/component-accordion-v2/accordion-v2.scss +172 -0
  412. package/components/component-accordion-v2/accordion-v2.twig +38 -0
  413. package/components/component-accordion-v2/group_65086e92b21c1.json +516 -0
  414. package/components/component-accordion-v3/accordion-v3.js +113 -0
  415. package/components/component-accordion-v3/accordion-v3.scss +183 -0
  416. package/components/component-accordion-v3/accordion-v3.twig +39 -0
  417. package/components/component-accordion-v3/group_66ab7edfc6d63.json +535 -0
  418. package/components/component-acf-wysiwyg-options/acf-wysiwyg-options.php +221 -0
  419. package/components/component-animations/animations.scss +117 -0
  420. package/components/component-animations/animations.twig +18 -0
  421. package/components/component-animations/group_659e9c280bdda.json +458 -0
  422. package/components/component-animations-style/animations-style.twig +5 -0
  423. package/components/component-athena-body-close/athena-body-close.twig +1 -0
  424. package/components/component-athena-body-open/athena-body-open.twig +32 -0
  425. package/components/component-athena-head/athena-head.twig +4 -0
  426. package/components/component-better-reviews/better-reviews-extra.scss +5 -0
  427. package/components/component-better-reviews/better-reviews.scss +356 -0
  428. package/components/component-better-reviews/better-reviews.twig +6 -0
  429. package/components/component-better-reviews-display-settings/group_671f47cc17aa9.json +91 -0
  430. package/components/component-block-padding/block-padding.scss +62 -0
  431. package/components/component-block-padding/block-padding.twig +53 -0
  432. package/components/component-block-padding/group_638f4148bc10b.json +889 -0
  433. package/components/component-block-settings/block-settings.scss +42 -0
  434. package/components/component-block-settings/block-settings.twig +31 -0
  435. package/components/component-block-settings/group_65a45ada4e128.json +699 -0
  436. package/components/component-blockquote/blockquote.scss +64 -0
  437. package/components/component-blockquote/blockquote.twig +55 -0
  438. package/components/component-blockquote/group_659d2bbc948e1.json +280 -0
  439. package/components/component-box-shadow/box-shadow.scss +9 -0
  440. package/components/component-box-shadow/box-shadow.twig +7 -0
  441. package/components/component-box-shadow/group_666ed2bece4c3.json +210 -0
  442. package/components/component-buy-now-button/buy-now-button.js +15 -0
  443. package/components/component-buy-now-button/buy-now-button.twig +97 -0
  444. package/components/component-buy-now-button/group_658430fa58bf1.json +717 -0
  445. package/components/component-carousel-standard/group_6282c52bf38d7.json +2844 -0
  446. package/components/component-child-pattern-settings/group_670b7ac92563c.json +76 -0
  447. package/components/component-classic-nav-items-center/classic-nav-items-center.js +58 -0
  448. package/components/component-classic-nav-items-center/classic-nav-items-center.scss +811 -0
  449. package/components/component-classic-nav-items-center/classic-nav-items-center.twig +144 -0
  450. package/components/component-classic-nav-items-center/group_66a2b63ae5cad.json +277 -0
  451. package/components/component-code-block/code-block.scss +10 -0
  452. package/components/component-code-block/code-block.twig +7 -0
  453. package/components/component-code-block/group_657eeb3aeb09e.json +58 -0
  454. package/components/component-competition-selection/competition-selection.twig +5 -0
  455. package/components/component-content-container/content-container.js +92 -0
  456. package/components/component-content-container/content-container.scss +57 -0
  457. package/components/component-content-container/content-container.twig +34 -0
  458. package/components/component-content-container/group_65e3707a7a50f.json +89 -0
  459. package/components/component-content-container-settings/content-container-settings.scss +213 -0
  460. package/components/component-content-container-settings/content-container-settings.twig +156 -0
  461. package/components/component-content-container-settings/group_65b58da6d24b8.json +2495 -0
  462. package/components/component-content-image-v2/content-image-v2.scss +33 -0
  463. package/components/component-content-image-v2/content-image-v2.twig +85 -0
  464. package/components/component-content-image-v2/group_63d7ba80aeac7.json +647 -0
  465. package/components/component-content-tooltip/content-tooltip-extra.scss +6 -0
  466. package/components/component-content-tooltip/content-tooltip.js +44 -0
  467. package/components/component-content-tooltip/content-tooltip.scss +41 -0
  468. package/components/component-countdown/countdown-extra.scss +6 -0
  469. package/components/component-countdown/countdown.js +58 -0
  470. package/components/component-countdown/countdown.scss +15 -0
  471. package/components/component-countdown/countdown.twig +16 -0
  472. package/components/component-countdown/group_6520a0c1ae809.json +334 -0
  473. package/components/component-cover-link/cover-link.scss +11 -0
  474. package/components/component-cover-link/cover-link.twig +4 -0
  475. package/components/component-cover-link/group_65ca55f45368c.json +103 -0
  476. package/components/component-cta-selection/cta-selection.twig +313 -0
  477. package/components/component-cta-selection/group_64b24a4e10761.json +1262 -0
  478. package/components/component-eager-loading/eager-loading.twig +4 -0
  479. package/components/component-eager-loading/group_654bee047f2f0.json +55 -0
  480. package/components/component-element-positioning/element-positioning.scss +21 -0
  481. package/components/component-element-positioning/element-positioning.twig +34 -0
  482. package/components/component-element-positioning/group_65b0e17675b81.json +471 -0
  483. package/components/component-form-selection/form-selection-extra.scss +6 -0
  484. package/components/component-form-selection/form-selection.js +18 -0
  485. package/components/component-form-selection/form-selection.scss +41 -0
  486. package/components/component-form-selection/form-selection.twig +23 -0
  487. package/components/component-form-selection/group_63f4889ebf085.json +161 -0
  488. package/components/component-global-content-max-width/global-content-max-width.twig +11 -0
  489. package/components/component-global-content-max-width/group_63c83de4f0a99.json +55 -0
  490. package/components/component-global-image/group_65b7c7e412941.json +256 -0
  491. package/components/component-gradient-overlay/gradient-overlay.scss +46 -0
  492. package/components/component-gradient-overlay/gradient-overlay.twig +58 -0
  493. package/components/component-gradient-overlay/group_65995d4f1a4b5.json +467 -0
  494. package/components/component-grid-layout-container/grid-layout-container.scss +61 -0
  495. package/components/component-grid-layout-container/grid-layout-container.twig +38 -0
  496. package/components/component-grid-layout-container/group_6504a88c17463.json +886 -0
  497. package/components/component-grid-layout-element/grid-layout-element.scss +27 -0
  498. package/components/component-grid-layout-element/grid-layout-element.twig +39 -0
  499. package/components/component-grid-layout-element/group_6504a81a0623c.json +705 -0
  500. package/components/component-inline-raw-svg/group_6714e19ec95cc.json +55 -0
  501. package/components/component-lottie-animations/group_65cb36d6cb82e.json +250 -0
  502. package/components/component-lottie-animations/lottie-animations-extra.scss +2 -0
  503. package/components/component-lottie-animations/lottie-animations.js +25 -0
  504. package/components/component-lottie-animations/lottie-animations.scss +13 -0
  505. package/components/component-lottie-animations/lottie-animations.twig +8 -0
  506. package/components/component-market-selector/group_66a7b8ec15615.json +53 -0
  507. package/components/component-market-selector/market-selector-extra.scss +2 -0
  508. package/components/component-market-selector/market-selector.js +71 -0
  509. package/components/component-market-selector/market-selector.scss +247 -0
  510. package/components/component-market-selector/market-selector.twig +16 -0
  511. package/components/component-nav-menu/group_64b814182a570.json +432 -0
  512. package/components/component-nav-menu/nav-menu.scss +44 -0
  513. package/components/component-nav-menu/nav-menu.twig +76 -0
  514. package/components/component-nav-menu-slide-in-panel/group_65db1f6c9cba8.json +172 -0
  515. package/components/component-nav-menu-slide-in-panel/nav-menu-slide-in-panel-extra.scss +7 -0
  516. package/components/component-nav-menu-slide-in-panel/nav-menu-slide-in-panel.js +176 -0
  517. package/components/component-nav-menu-slide-in-panel/nav-menu-slide-in-panel.scss +638 -0
  518. package/components/component-nav-menu-slide-in-panel/nav-menu-slide-in-panel.twig +95 -0
  519. package/components/component-page-properties/page-properties.twig +27 -0
  520. package/components/component-parallax-animations/parallax-animations.js +40 -0
  521. package/components/component-post-author/group_67a1430a08630.json +482 -0
  522. package/components/component-post-author/post-author-extra.scss +6 -0
  523. package/components/component-post-author/post-author.scss +46 -0
  524. package/components/component-post-author/post-author.twig +80 -0
  525. package/components/component-post-image/group_65b375fc0d10d.json +460 -0
  526. package/components/component-post-tags/group_67090920e08e5.json +100 -0
  527. package/components/component-responsive-image/group_6258aff982b23.json +2415 -0
  528. package/components/component-responsive-image/responsive-image.scss +61 -0
  529. package/components/component-responsive-image/responsive-image.twig +138 -0
  530. package/components/component-responsive-show-hide/group_645a741c8da2e.json +108 -0
  531. package/components/component-responsive-show-hide/responsive-show-hide.twig +9 -0
  532. package/components/component-responsive-video/responsive-video.scss +8 -0
  533. package/components/component-scrolling-banner/group_626472bf26f5c.json +501 -0
  534. package/components/component-scrolling-banner/scrolling-banner-extra.scss +5 -0
  535. package/components/component-scrolling-banner/scrolling-banner.js +118 -0
  536. package/components/component-scrolling-banner/scrolling-banner.scss +98 -0
  537. package/components/component-scrolling-banner/scrolling-banner.twig +31 -0
  538. package/components/component-scrolling-posts/group_65de1ebc8e0bc.json +404 -0
  539. package/components/component-scrolling-posts/scrolling-posts.js +16 -0
  540. package/components/component-scrolling-posts/scrolling-posts.scss +52 -0
  541. package/components/component-scrolling-posts/scrolling-posts.twig +76 -0
  542. package/components/component-shopify/shop-shopify.js +390 -0
  543. package/components/component-shopify/shop.js +104 -0
  544. package/components/component-shopify/shopify.scss +250 -0
  545. package/components/component-single-image/single-image.twig +7 -0
  546. package/components/component-social-media-share/group_6807bb08ab942.json +596 -0
  547. package/components/component-social-media-share/social-media-share-extra.scss +6 -0
  548. package/components/component-social-media-share/social-media-share.js +69 -0
  549. package/components/component-social-media-share/social-media-share.scss +128 -0
  550. package/components/component-social-media-share/social-media-share.twig +213 -0
  551. package/components/component-social-networks/group_668c110442111.json +467 -0
  552. package/components/component-social-networks/social-networks.scss +65 -0
  553. package/components/component-social-networks/social-networks.twig +38 -0
  554. package/components/component-spotify-embed/group_67d04c4c4cf78.json +123 -0
  555. package/components/component-spotify-embed/spotify-embed-extra.scss +5 -0
  556. package/components/component-spotify-embed/spotify-embed.js +7 -0
  557. package/components/component-spotify-embed/spotify-embed.scss +17 -0
  558. package/components/component-spotify-embed/spotify-embed.twig +4 -0
  559. package/components/component-standard-content-box/group_62a5ca6aa81d7.json +973 -0
  560. package/components/component-standard-content-box/standard-content-box.twig +64 -0
  561. package/components/component-standard-content-box-v2/group_6580636e7794b.json +136 -0
  562. package/components/component-standard-content-box-v2/standard-content-box-v2.twig +89 -0
  563. package/components/component-text-editor-settings/group_657305390de77.json +1236 -0
  564. package/components/component-truncated-text/group_677bd1bc69968.json +379 -0
  565. package/components/component-truncated-text/truncated-text-extra.scss +6 -0
  566. package/components/component-truncated-text/truncated-text.js +76 -0
  567. package/components/component-truncated-text/truncated-text.scss +42 -0
  568. package/components/component-truncated-text/truncated-text.twig +31 -0
  569. package/components/component-typography-style-select/group_6511f390d8357.json +83 -0
  570. package/components/component-video-standard/group_6258a8ba5e629.json +887 -0
  571. package/components/controller-password-protected/password-protected.css +46 -0
  572. package/components/controller-password-protected/password-protected.php +14 -0
  573. package/components/controller-password-protected/password-protected.twig +9 -0
  574. package/components/entrypoint-data-attribute/entry-point-data-attribute.twig +6 -0
  575. package/components/entrypoint-entry-point-classes/entry-point-classes.twig +13 -0
  576. package/components/entrypoint-entry-point-html/entry-point-html.twig +36 -0
  577. package/components/entrypoint-entry-point-style/entry-point-style.twig +14 -0
  578. package/components/entrypoint-preview-info/entry-point-preview-info.twig +7 -0
  579. package/components/fields-add-manage-patterns/add-manage-patterns-menu-link.php +13 -0
  580. package/components/fields-add-svg-support/add-svg-support.php +50 -0
  581. package/components/fields-allowed-block-types/allowed-block-types.php +34 -0
  582. package/components/fields-animations-style/animations-style.twig +2 -0
  583. package/components/fields-archive-pages/group_635e777ce46d4.json +135 -0
  584. package/components/fields-background-image-body/background-image-body.twig +16 -0
  585. package/components/fields-background-image-footer/background-image-footer.twig +8 -0
  586. package/components/fields-background-image-main/background-image-main.twig +8 -0
  587. package/components/fields-background-video-body/background-video-body.twig +14 -0
  588. package/components/fields-bazaarvoice-review/bazaarvoice-review.scss +10 -0
  589. package/components/fields-block-categories/block-categories.php +18 -0
  590. package/components/fields-block-editor-assets/block-editor-assets.php +17 -0
  591. package/components/fields-blockquote/blockquote.scss +64 -0
  592. package/components/fields-blockquote/blockquote.twig +55 -0
  593. package/components/fields-blocks-post-type-public/blocks-post-type-public.php +18 -0
  594. package/components/fields-box-shadow/box-shadow.scss +9 -0
  595. package/components/fields-check-file-type/check-file-type.php +13 -0
  596. package/components/fields-cloudflare-configuration/cloudflare-configuration.php +72 -0
  597. package/components/fields-cocktail-info/group_64c29b7f188ca.json +1461 -0
  598. package/components/fields-content-image-v2/content-image-v2.scss +30 -0
  599. package/components/fields-content-image-v2/content-image-v2.twig +73 -0
  600. package/components/fields-core-acf-wysiwyg-toolbars/core-acf-wysiwyg-toolbars.php +38 -0
  601. package/components/fields-core-athena-block-render-function/core-athena-block-render-function.php +50 -0
  602. package/components/fields-core-colour-data-config/core-colour-data-config.js +2 -0
  603. package/components/fields-core-colour-data-config/core-colour-data-config.php +60 -0
  604. package/components/fields-core-critical/core-critical.scss +6 -0
  605. package/components/fields-core-critical-css/core-critical-css.php +6 -0
  606. package/components/fields-core-css-modules/core-css-modules.scss +12 -0
  607. package/components/fields-core-css-sizing-vars/core-css-sizing-vars.scss +156 -0
  608. package/components/fields-core-cta/core-cta.php +240 -0
  609. package/components/fields-core-cta/core-cta.scss +280 -0
  610. package/components/fields-core-design-settings/core-design-settings.twig +6 -0
  611. package/components/fields-core-design-system/core-design-system.php +44 -0
  612. package/components/fields-core-editor-cta-style-select/core-editor-cta-style-select.js +16 -0
  613. package/components/fields-core-editor-cta-style-select/core-editor-cta-style-select.php +18 -0
  614. package/components/fields-core-editor-theme-select/core-editor-theme-select.js +16 -0
  615. package/components/fields-core-editor-theme-select/core-editor-theme-select.php +19 -0
  616. package/components/fields-core-font-modifiers/core-font-modifiers.php +46 -0
  617. package/components/fields-core-font-modifiers/group_65abf0fc06efd.json +489 -0
  618. package/components/fields-core-functions/core-functions.scss +111 -0
  619. package/components/fields-core-generic/core-generic.scss +132 -0
  620. package/components/fields-core-gradient-designer/core-gradient-designer.scss +92 -0
  621. package/components/fields-core-mixins/core-mixins.scss +1076 -0
  622. package/components/fields-core-root-variables/core-root-variables.scss +48 -0
  623. package/components/fields-core-themes/core-themes.php +65 -0
  624. package/components/fields-core-typography/core-typography.php +194 -0
  625. package/components/fields-core-typography/core-typography.scss +384 -0
  626. package/components/fields-core-wordpress-block-editor-preview/core-wordpress-block-editor-preview.js +121 -0
  627. package/components/fields-core-wordpress-block-editor-preview/core-wordpress-block-editor-preview.scss +101 -0
  628. package/components/fields-cover-link/cover-link.scss +11 -0
  629. package/components/fields-cover-link/cover-link.twig +4 -0
  630. package/components/fields-cta-icon-map/cta-icon-map.php +11 -0
  631. package/components/fields-cta-icons/group_677ed96c3c64f.json +677 -0
  632. package/components/fields-cta-styles/group_65abe1a526214.json +3238 -0
  633. package/components/fields-cta-styles-ui-page/ui_options_page_66000817bcbaf.json +22 -0
  634. package/components/fields-data-enables/data-enables.twig +21 -0
  635. package/components/fields-debrain-label-shop/group_63dd19dc3ba18.json +271 -0
  636. package/components/fields-default-theme/group_663c9818d16ea.json +79 -0
  637. package/components/fields-design-system/group_63e7fd39c8e35.json +966 -0
  638. package/components/fields-dynamic-critical-css/dynamic-critical-css.php +113 -0
  639. package/components/fields-dynamic-critical-css/group_65abcd463e8d0.json +126 -0
  640. package/components/fields-dynamic-image-preload/group_665f1f240337a.json +56 -0
  641. package/components/fields-e-shop-settings/e-shop-settings.twig +69 -0
  642. package/components/fields-e-shop-settings/group_650b24b4e623d.json +702 -0
  643. package/components/fields-get-asset-uri/get-asset-uri.php +36 -0
  644. package/components/fields-get-pattern/get-pattern.php +639 -0
  645. package/components/fields-get-raw-svg/get_raw_svg.php +24 -0
  646. package/components/fields-get-svg-icon-content/get-svg-icon-content.php +10 -0
  647. package/components/fields-global-images/group_6519888a76006.json +121 -0
  648. package/components/fields-global-preload/global-preload.twig +18 -0
  649. package/components/fields-global-preload/group_65e0bd35e781b.json +289 -0
  650. package/components/fields-global-settings/ui_options_page_65d2558ee2392.json +22 -0
  651. package/components/fields-grid-gap-mults/grid-gap-mults.twig +10 -0
  652. package/components/fields-header-and-footer-patterns/group_67224e439992d.json +107 -0
  653. package/components/fields-image-management-service/group_677813165b633.json +149 -0
  654. package/components/fields-image-sizes/image-sizes.php +24 -0
  655. package/components/fields-imagekit-configuration/imagekit-configuration.php +250 -0
  656. package/components/fields-inline-css-file/inline-css-file.php +24 -0
  657. package/components/fields-library-images/blue-brick.svg +19 -0
  658. package/components/fields-library-images/brick.svg +19 -0
  659. package/components/fields-library-images/chevron-library.svg +3 -0
  660. package/components/fields-library-images/green-brick.svg +19 -0
  661. package/components/fields-market-settings-ui-page/ui_options_page_65d4926a854a9.json +22 -0
  662. package/components/fields-noscript/noscript.twig +11 -0
  663. package/components/fields-notes/group_66573c9838918.json +55 -0
  664. package/components/fields-pantheon-page-cache-config/pantheon-page-cache-config.php +61 -0
  665. package/components/fields-people/group_6525b74551434.json +179 -0
  666. package/components/fields-post-info/group_64c29bf97fba2.json +963 -0
  667. package/components/fields-preload/preload.twig +2 -0
  668. package/components/fields-product-info/group_64c29a6750b1c.json +501 -0
  669. package/components/fields-registers-menus/registers-menus.php +18 -0
  670. package/components/fields-reservebar-popup/reservebar-popup.js +44 -0
  671. package/components/fields-reservebar-popup/reservebar-popup.scss +33 -0
  672. package/components/fields-site-copyright-notice/group_66317dcfcb01a.json +78 -0
  673. package/components/fields-site-logos/group_67b50a5b01f1d.json +120 -0
  674. package/components/fields-site-menus/site-menus.php +19 -0
  675. package/components/fields-text-style/group_6509a986674f1.json +328 -0
  676. package/components/fields-text-style/text-style.twig +14 -0
  677. package/components/fields-theme-attribute/core-theme-attribute.twig +15 -0
  678. package/components/fields-theme-font-select/group_64e627319dd51.json +68 -0
  679. package/components/fields-themes/group_65ac3c7583bdf.json +1086 -0
  680. package/components/fields-themes-ui-page/ui_options_page_660007a245fa0.json +22 -0
  681. package/components/fields-twig-filters-functions/twig-filters-functions.php +321 -0
  682. package/components/fields-typography-settings/group_657438bf04b09.json +5668 -0
  683. package/components/fields-typography-ui-page/ui_options_page_65ff1174bed38.json +22 -0
  684. package/components/fields-upload-file-size-limit/upload-file-size-limit.php +36 -0
  685. package/components/fields-upload-filesize-limit/group_659d259760a1d.json +56 -0
  686. package/components/fields-video-management-services/group_67b4cac05cb30.json +144 -0
  687. package/components/fields-wysiwyg-add-content-tooltip/wysiwyg-add-content-tooltip.php +45 -0
  688. package/components/security-password-protected/password-protected.php +25 -0
  689. package/createJsAssets.js +31 -0
  690. package/createNewBlock.js +163 -0
  691. package/createNewChildBlock.js +76 -0
  692. package/duplicateBlock.js +215 -0
  693. package/esbuild.mjs +18 -0
  694. package/exportAllBlocks.js +121 -0
  695. package/exportBlock.js +109 -0
  696. package/exportChildBlock.js +102 -0
  697. package/exportCustomCachesToLibrary.js +73 -0
  698. package/exportEntrypointToLibrary.js +62 -0
  699. package/exportImagesToLibrary.js +68 -0
  700. package/exportSEOExtrasToLibrary.js +73 -0
  701. package/exportToLibrary.js +437 -0
  702. package/fields.json +4 -0
  703. package/importBlock.js +90 -0
  704. package/importChildBlock.js +76 -0
  705. package/index.js +0 -0
  706. package/install-component.js +206 -0
  707. package/list-components.js +9 -0
  708. package/new-block-templates/template-acf-pattern.js +25 -0
  709. package/new-block-templates/template-acf.js +19 -0
  710. package/new-block-templates/template-cypress.js +9 -0
  711. package/new-block-templates/template-default.js +31 -0
  712. package/new-block-templates/template-swiper.js +127 -0
  713. package/new-block-templates/template-vue.js +59 -0
  714. package/package.json +32 -0
  715. package/public/.gitkeep +0 -0
  716. package/public/block-back-to-top-button/back-to-top-button.js +15 -0
  717. package/public/block-divider/divider.js +10 -0
  718. package/update-all-components.js +134 -0
  719. package/update-component.js +543 -0
@@ -0,0 +1,390 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * Shopify Integration Code
4
+ *
5
+ * @see https://shopify.github.io/js-buy-sdk/
6
+ * @see https://shopify.github.io/buy-button-js/
7
+ * @see https://github.com/Shopify/buy-button-js/tree/master/src
8
+ */
9
+ const scriptURL =
10
+ 'https://sdks.shopifycdn.com/buy-button/latest/buy-button-storefront.min.js';
11
+
12
+ const moneyFormat = '£{{amount}}';
13
+
14
+ const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
15
+
16
+ const loadShopify = (options) => {
17
+ console.log('Requested to load Shopify...');
18
+ if (window.ShopifyBuy) {
19
+ console.log('Shopify already loaded, skipping.');
20
+ return false; // Shopify already initialized
21
+ }
22
+ import(
23
+ /* webpackChunkName: "shopify" */ 'Assets/scss/modules/library-modules/shopify/shopify.scss'
24
+ );
25
+ if (window.ShopifyBuy && window.ShopifyBuy.UI) {
26
+ return ShopifyBuyInit(options);
27
+ }
28
+ return loadScript(options);
29
+ };
30
+
31
+ const loadScript = (options) => {
32
+ const script = document.createElement('script');
33
+ script.async = true;
34
+ script.src = scriptURL;
35
+ (
36
+ document.getElementsByTagName('head')[0] ||
37
+ document.getElementsByTagName('body')[0]
38
+ ).appendChild(script);
39
+ script.onload = () => ShopifyBuyInit(options);
40
+ };
41
+
42
+ const addToCart = (product) => {
43
+ if (typeof dataLayer !== 'undefined' && product.typeKey === 'product') {
44
+ window.dataLayer.push({
45
+ event: 'sendEvent',
46
+ eventCategory: 'Product Sales',
47
+ eventAction: 'Buy Now',
48
+ eventLabel: product.model.title
49
+ });
50
+ }
51
+ sessionStorage.setItem('shopify-items', true);
52
+ };
53
+
54
+ const cartOptions = {
55
+ // @link https://github.com/Shopify/buy-button-js/blob/master/src/defaults/components.js#L195
56
+ iframe: false,
57
+ width: 375,
58
+ text: {
59
+ // @see footer.twig for these
60
+ trans: document.getElementById('cart-strings').dataset
61
+ },
62
+ contents: {
63
+ note: true
64
+ },
65
+ templates: {
66
+ // Override the original Shopify templates for the Cart
67
+ // @link https://github.com/Shopify/buy-button-js/blob/master/src/templates/cart.js
68
+ title: `<div class="{{data.classes.cart.header}}" data-element="cart.header">
69
+ <img class="shopify-buy__shopping-bag-icon" src="{{data.text.trans.shoppingBagVector}}">
70
+ {{^data.isEmpty}}<h2 class="{{data.classes.cart.title}}" data-element="cart.title">{{data.text.trans.cartTitle}}</h2>{{/data.isEmpty}}
71
+ {{#data.isEmpty}}<h2 class="{{data.classes.cart.title}}" data-element="cart.title">{{data.text.trans.emptyTitle}}</h2>{{/data.isEmpty}}
72
+ {{#data.isEmpty}}<p class="shopify-buy__cart__subtitle">{{data.text.trans.body}}</p>{{/data.isEmpty}}
73
+ <button class="{{data.classes.cart.close}}" data-element="cart.close">
74
+ <img aria-hidden="true" alt="close" role="presentation" src="{{data.text.trans.closeVector}}" width="24" height="26">
75
+ <span class="visuallyhidden">{{data.text.closeAccessibilityLabel}}</span>
76
+ </button>
77
+ {{#data.isEmpty}}<div class="shopify-buy__cart__eligibility"><div class="shopify-buy__cart__eligibility__progress"></div></div>{{/data.isEmpty}}
78
+ </div>`,
79
+ lineItems: `{{^data.isEmpty}}<div class="{{data.classes.cart.cartScroll}}{{#data.contents.note}} {{data.classes.cart.cartScrollWithCartNote}}{{/data.contents.note}}{{#data.discounts}} {{data.classes.cart.cartScrollWithDiscounts}}{{/data.discounts}}" data-element="cart.cartScroll">{{/data.isEmpty}}
80
+ {{#data.isEmpty}}
81
+ <div class="{{data.classes.cart.empty}} {{data.classes.cart.emptyCart}} cart-empty" data-element="cart.empty">
82
+ <div class="cart-empty__section">
83
+ <div class="cart-empty__section__title">{{data.text.trans.section1Title}}</div>
84
+ <div class="cart-empty__section__figure"><img class="cart-empty__section__image" src="{{data.text.trans.section1ImageUrl}}" height="{{data.text.trans.section1ImageHeight}}" width="{{data.text.trans.section1ImageWidth}}" alt="{{data.text.trans.section1ImageAlt}}" /></div>
85
+ <div class="cart-empty__section__body">{{data.text.trans.section1Body}}</div>
86
+ <div class="cart-empty__section__cta"><a href="{{data.text.trans.section1CtaUrl}}" class="cart-empty__section__button" target="{{data.text.trans.section1CtaTarget}}"><span class="text-modifier">{{data.text.trans.section1CtaTitle}}</span></a></div>
87
+ </div>
88
+ <div class="cart-empty__section">
89
+ <div class="cart-empty__section__title">{{data.text.trans.section2Title}}</div>
90
+ <div class="cart-empty__section__figure"><img class="cart-empty__section__image" src="{{data.text.trans.section2ImageUrl}}" height="{{data.text.trans.section2ImageHeight}}" width="{{data.text.trans.section2ImageWidth}}" alt="{{data.text.trans.section2ImageAlt}}" /></div>
91
+ <div class="cart-empty__section__body">{{data.text.trans.section2Body}}</div>
92
+ <div class="cart-empty__section__cta"><a href="{{data.text.trans.section2CtaUrl}}" class="cart-empty__section__button" target="{{data.text.trans.section2CtaTarget}}"><span class="text-modifier">{{data.text.trans.section2CtaTitle}}</span></a></div>
93
+ </div>
94
+ </div>
95
+ {{/data.isEmpty}}
96
+ {{^data.isEmpty}}
97
+ <ul role="list" class="{{data.classes.cart.lineItems}}" data-element="cart.lineItems">{{{data.lineItemsHtml}}}</ul>
98
+ {{/data.isEmpty}}
99
+ </div>`,
100
+ footer: `{{^data.isEmpty}}
101
+ <div class="{{data.classes.cart.footer}}" data-element="cart.footer">
102
+ {{#data.discounts}}
103
+ <div class="{{data.classes.cart.discount}}" data-element="cart.discount">
104
+ <span class="{{data.classes.cart.discountText}}" data-element="cart.discountText">
105
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" class="{{data.classes.cart.discountIcon}}" data-element="cart.discountIcon" aria-hidden="true">
106
+ <path d="M10.001 2.99856C9.80327 2.99856 9.61002 2.93994 9.44565 2.83011C9.28128 2.72029 9.15317 2.56418 9.07752 2.38155C9.00187 2.19891 8.98207 1.99794 9.02064 1.80405C9.05921 1.61016 9.1544 1.43207 9.29419 1.29228C9.43397 1.1525 9.61207 1.0573 9.80596 1.01874C9.99984 0.980171 10.2008 0.999965 10.3834 1.07562C10.5661 1.15127 10.7222 1.27938 10.832 1.44375C10.9418 1.60812 11.0005 1.80136 11.0005 1.99905C11.0005 2.26414 10.8952 2.51837 10.7077 2.70581C10.5203 2.89326 10.266 2.99856 10.001 2.99856ZM10.001 1.67062e-05H7.0024C6.87086 -0.000743818 6.74046 0.024469 6.61868 0.0742095C6.49691 0.12395 6.38614 0.19724 6.29275 0.289876L0.295655 6.28697C0.201972 6.37989 0.127614 6.49044 0.0768697 6.61224C0.0261256 6.73404 0 6.86468 0 6.99663C0 7.12857 0.0261256 7.25922 0.0768697 7.38102C0.127614 7.50282 0.201972 7.61336 0.295655 7.70628L4.29372 11.7043C4.38664 11.798 4.49718 11.8724 4.61898 11.9231C4.74078 11.9739 4.87143 12 5.00337 12C5.13532 12 5.26596 11.9739 5.38776 11.9231C5.50956 11.8724 5.62011 11.798 5.71303 11.7043C5.90294 11.5044 11.5102 5.89716 11.7101 5.70725C11.8028 5.61386 11.876 5.50309 11.9258 5.38132C11.9755 5.25954 12.0007 5.12914 12 4.99759V1.99905C12 1.46887 11.7894 0.96041 11.4145 0.585519C11.0396 0.210628 10.5311 1.67062e-05 10.001 1.67062e-05Z" />
107
+ </svg>
108
+ <span class="visuallyhidden">Discount:</span>
109
+ {{text}}
110
+ </span>
111
+ <span class="{{data.classes.cart.discountAmount}}" data-element="cart.discountAmount">{{amount}}</span>
112
+ </div>
113
+ {{/data.discounts}}
114
+ {{#data.contents.note}}
115
+ <div class="{{data.classes.cart.note}}" data-element="cart.note">
116
+ <label for="{{data.cartNoteId}}" class="{{data.classes.cart.noteDescription}}" data-element="cart.noteDescription">{{data.text.trans.engravingHeading}}</label>
117
+ <textarea id="{{data.cartNoteId}}" class="{{data.classes.cart.noteTextArea}}" data-element="cart.noteTextArea" rows="3" placeholder="{{data.text.trans.engravingInstructions}}"/>{{data.cartNote}}</textarea>
118
+ </div>
119
+ {{/data.contents.note}}
120
+ <div class="shopify-buy__cart__subtotal">
121
+ <p class="{{data.classes.cart.subtotalText}}" data-element="cart.total">{{data.text.trans.total}}</p>
122
+ <p class="{{data.classes.cart.subtotal}}" data-element="cart.subtotal">{{data.formattedTotal}}</p>
123
+ </div>
124
+ <p class="{{data.classes.cart.notice}}" data-element="cart.notice">{{data.text.trans.notice}}</p>
125
+ <button class="{{data.classes.cart.button}} cmpl-cta-style-4" type="button" data-element="cart.button"><span class="text-modifier">{{data.text.trans.checkout}}</span></button>
126
+ </div>
127
+ {{/data.isEmpty}}`
128
+ },
129
+ events: {
130
+ openCheckout(cart) {
131
+ if (
132
+ cart.model.attrs.webUrl.value &&
133
+ typeof ga !== 'undefined' && // extra check, in case browsers are blocking tracking
134
+ typeof ga.getAll === 'function' &&
135
+ typeof ga.getAll()[0] !== 'undefined'
136
+ ) {
137
+ // Adds google analytics tracking code to cart URL for tracking of session
138
+ const clientId = ga.getAll()[0].get('linkerParam');
139
+ if (clientId.length > 0) {
140
+ cart.model.attrs.webUrl.value += `&${clientId}`;
141
+ }
142
+ }
143
+ },
144
+ beforeInit() {
145
+ this.moneyFormat = moneyFormat; // @see TGL-972
146
+ },
147
+ afterRender(component) {
148
+ for (let i = 0; i < component.lineItemCache.length; i++) {
149
+ if (6 < component.lineItemCache[i].quantity) {
150
+ component.updateItem(component.lineItemCache[i].id, 6);
151
+ }
152
+ }
153
+ let hasEngraved = false;
154
+ document
155
+ .querySelectorAll('.shopify-buy__cart-item__title')
156
+ .forEach((item) => {
157
+ if (item.innerHTML.toLowerCase().includes('engraved')) {
158
+ hasEngraved = true;
159
+ }
160
+ });
161
+ const notes = document.querySelector('.shopify-buy__cart__note');
162
+ const scroll = document.querySelector('.shopify-buy__cart-scroll');
163
+ if (notes) {
164
+ if (!hasEngraved) {
165
+ notes.style.display = 'none';
166
+ scroll.classList.remove(
167
+ 'shopify-buy__cart-scroll--cart-note'
168
+ );
169
+ }
170
+ }
171
+ if (window.innerWidth < 768) {
172
+ const quantities = document.querySelectorAll(
173
+ '.shopify-buy__cart-item__quantity-input'
174
+ );
175
+ if (quantities.length) {
176
+ quantities.forEach((item) => {
177
+ item.setAttribute('readonly', 'readonly');
178
+ });
179
+ }
180
+ }
181
+ }
182
+ }
183
+ };
184
+ const toggleOptions = {
185
+ // @link https://shopify.github.io/buy-button-js/customization/#toggle-component
186
+ // @link https://github.com/Shopify/buy-button-js/blob/master/src/defaults/components.js#L288
187
+ iframe: false,
188
+ classes: {
189
+ toggle: 'hide'
190
+ },
191
+ events: {
192
+ afterRender(component) {
193
+ const items = parseInt(
194
+ document.querySelector('.shopify-buy__cart-toggle__count')
195
+ .innerHTML,
196
+ 10
197
+ );
198
+ const cartCount = document.querySelector('.shopify__cart-count');
199
+ if (cartCount) {
200
+ cartCount.innerHTML = '';
201
+ }
202
+ if (items) {
203
+ if (cartCount) {
204
+ cartCount.innerHTML = `&nbsp;${items}`;
205
+ }
206
+ sessionStorage.setItem('shopify-items', true);
207
+ }
208
+ }
209
+ }
210
+ };
211
+
212
+ const ShopifyBuyInit = (options) => {
213
+ const client = ShopifyBuy.buildClient({
214
+ domain: 'aberlour.myshopify.com',
215
+ storefrontAccessToken: '1a39f42c4a34e1c1d74f01a2f17f7804'
216
+ });
217
+
218
+ return ShopifyBuy.UI.onReady(client).then((ui) => {
219
+ const shopifyButtonArray = document.querySelectorAll(
220
+ '.shopify-add-to-cart'
221
+ );
222
+ for (let index = 0; index < shopifyButtonArray.length; index++) {
223
+ const shopifyButton = shopifyButtonArray[index];
224
+ if (shopifyButton.dataset.shopifyLoading) {
225
+ console.log(
226
+ `Skipping already initialized Shopify button ${index}`
227
+ );
228
+ continue; // Skipping already initialized button
229
+ }
230
+ shopifyButton.dataset.shopifyLoading = true;
231
+ ui.createComponent('product', {
232
+ id: shopifyButton.dataset.pim,
233
+ node: shopifyButton,
234
+ moneyFormat,
235
+ options: {
236
+ product: {
237
+ // @link https://shopify.github.io/buy-button-js/customization/#product
238
+ // @link https://github.com/Shopify/buy-button-js/blob/master/src/defaults/components.js#L9
239
+ iframe: false,
240
+ buttonDestination: 'cart',
241
+ contents: {
242
+ button: true,
243
+ buttonWithQuantity: false,
244
+ img: false,
245
+ title: false,
246
+ price: false,
247
+ options: false
248
+ },
249
+ templates: {
250
+ button: '<div class="{{data.classes.product.buttonWrapper}}" data-element="product.buttonWrapper"><button {{#data.buttonDisabled}}disabled{{/data.buttonDisabled}} class="{{data.classes.product.button}} price-button {{^data.selectedVariant.available}}shopify-cta--not-available{{/data.selectedVariant.available}} {{data.text.buttonStyle}}" data-element="product.button"><div class="shopify-cta__title price-button__title"><span class="text-modifier">{{data.buttonText}}</span></div></button></div>'
251
+ },
252
+ classes: {
253
+ button:
254
+ options && options.buttonClasses
255
+ ? options.buttonClasses.join(' ')
256
+ : `shopify-cta${
257
+ shopifyButton.dataset.engraved
258
+ ? ' shopify-cta--engraved'
259
+ : ''
260
+ }`
261
+ },
262
+ text: {
263
+ button: shopifyButton.dataset.label,
264
+ regularPriceAccessibilityLabel:
265
+ shopifyButton.dataset.price,
266
+ buttonStyle:
267
+ shopifyButton.dataset.shopifya2cbtnstyle
268
+ },
269
+ events: {
270
+ addVariantToCart(product) {
271
+ wait(100).then(() => ui.openCart());
272
+ addToCart(product);
273
+ },
274
+ afterRender(component) {
275
+ document.dispatchEvent(
276
+ new Event('buynow-updated')
277
+ );
278
+ }
279
+ }
280
+ },
281
+ productSet: {
282
+ styles: {
283
+ products: {
284
+ '@media (min-width: 601px)': {
285
+ 'margin-left': '-20px'
286
+ }
287
+ }
288
+ }
289
+ },
290
+ modalProduct: {
291
+ iframe: false,
292
+ contents: {
293
+ img: false,
294
+ imgWithCarousel: true,
295
+ button: true,
296
+ buttonWithQuantity: false
297
+ },
298
+ text: {
299
+ button: 'Add to cart'
300
+ }
301
+ },
302
+ cart: cartOptions,
303
+ toggle: toggleOptions
304
+ }
305
+ });
306
+ console.log('Shopify initialized on element');
307
+ }
308
+
309
+ if (!shopifyButtonArray.length) {
310
+ // no shopify items on the page, let's just initialize the cart
311
+ if (document.body.dataset.shopifyLoading) {
312
+ console.log('Skipping already initialized Shopify cart+toggle');
313
+ return; // already initialized
314
+ }
315
+ document.body.dataset.shopifyLoading = true;
316
+ ui.createComponent('cart', {
317
+ options: {
318
+ cart: cartOptions,
319
+ toggle: toggleOptions
320
+ }
321
+ });
322
+ console.log('Shopify initialized cart+toggle only');
323
+ }
324
+
325
+ const cartIcon = document.querySelector('.shopify__cart');
326
+
327
+ cartIcon.addEventListener('click', (e) => {
328
+ e.preventDefault();
329
+ e.stopPropagation();
330
+ ui.openCart();
331
+ });
332
+
333
+ cartIcon.addEventListener('touchend', (e) => {
334
+ e.preventDefault();
335
+ e.stopPropagation();
336
+ ui.openCart();
337
+ });
338
+
339
+ if (options && options.openCart) {
340
+ ui.openCart();
341
+ }
342
+ });
343
+ };
344
+
345
+ document.addEventListener(
346
+ 'shop-refresh',
347
+ () => {
348
+ if (typeof ShopifyBuy !== 'undefined') {
349
+ ShopifyBuyInit();
350
+ }
351
+ },
352
+ false
353
+ );
354
+
355
+ let isLoading = false;
356
+
357
+ const load = (options) => {
358
+ if (isLoading) {
359
+ return false;
360
+ }
361
+ console.log('%c Loading Shopify...', 'background: #222; color: #bada55');
362
+ isLoading = true;
363
+ if (options && options.skipWait) {
364
+ return loadShopify(options);
365
+ }
366
+ const shopifyCallback = (entries, observer) => {
367
+ entries.forEach((entry) => {
368
+ // Each entry describes an intersection change for one observed
369
+ if (entry.isIntersecting) {
370
+ shopifyObserver.unobserve(shopify);
371
+ return loadShopify(options);
372
+ }
373
+ });
374
+ };
375
+ const shopifyObserver = new IntersectionObserver(shopifyCallback);
376
+ const shopify = document.querySelector('.shopify-add-to-cart');
377
+ if (shopify) {
378
+ shopifyObserver.observe(shopify);
379
+ }
380
+ // Initializing Shopify with a delay, in case the user doesn't scroll
381
+ // This is useful to show the floating cart toggle and to ensure the Shopify Buy Now
382
+ // is not delayed as the user scrolls down.
383
+ return wait(3500).then(() => loadShopify(options));
384
+ };
385
+
386
+ const api = {
387
+ load
388
+ };
389
+
390
+ export default api;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Initialize Shopify
3
+ *
4
+ * @param {Object} options Custom options such as CTA class
5
+ */
6
+ const shopShopify = (options) =>
7
+ import('Assets/js/modules/library-modules/shopify/shop-shopify').then(
8
+ (api) => api.default.load(options)
9
+ );
10
+ /**
11
+ * Determine which shop-related engines are required
12
+ * on the page and initialize them.
13
+ *
14
+ * @param {Object} options Custom options such as CTA class
15
+ */
16
+ const loadShops = (options) => {
17
+ const shops = document.getElementsByClassName('has-shop');
18
+
19
+ if (!shops) {
20
+ // console.log('No shopping elements found, skipping.');
21
+ return false; // no shops on this page
22
+ }
23
+
24
+ const promises = [];
25
+
26
+ [].forEach.call(shops, (element) => {
27
+ if (element.classList.contains('shop-shopify')) {
28
+ promises.push(shopShopify(options));
29
+ }
30
+ });
31
+
32
+ const prom = Promise.all(promises).then((values) => {
33
+ return values;
34
+ });
35
+ return prom;
36
+ };
37
+
38
+ const forceLoadShops = (options) => {
39
+ const promises = [];
40
+
41
+ if (options && options.shops) {
42
+ if (options.shops.includes('__shopify')) {
43
+ promises.push(shopShopify(options));
44
+ }
45
+ }
46
+ const prom = Promise.all(promises).then((values) => {
47
+ return values;
48
+ });
49
+ return prom;
50
+ };
51
+
52
+ /**
53
+ * Check if we have any previously added items
54
+ * in the Shopify card and immediately initialize
55
+ * Shopify if we do, and add handlers to immediately
56
+ * load Shopify and open the cart if the user clicks
57
+ * the Cart icon.
58
+ *
59
+ * @return {Promise} The Shopify initialization promise
60
+ */
61
+ const checkCart = () => {
62
+ if (sessionStorage.getItem('shopify-items')) {
63
+ if (document.querySelector('.shop-shopify')) {
64
+ // product-hero Shopify options (get them from product-here.js)
65
+ return shopShopify({
66
+ // buttonClasses: [ 'product-hero__cta-button' ], // optional classes
67
+ });
68
+ }
69
+ // generically load Shopify
70
+ return shopShopify({skipWait: true});
71
+ }
72
+ // Hook on the cart icon
73
+ const cartButton = document.querySelector('.shopify__cart');
74
+
75
+ if (!cartButton) {
76
+ console.log('No Cart Button found.');
77
+ return;
78
+ }
79
+
80
+ const loadOpenCart = (event) => {
81
+ event.preventDefault();
82
+ event.stopPropagation();
83
+ cartButton.removeEventListener('click', loadOpenCart);
84
+ cartButton.removeEventListener('touchend', loadOpenCart);
85
+ return shopShopify({skipWait: true, openCart: true});
86
+ };
87
+ // console.log('Hooking up on the Cart link');
88
+ cartButton.addEventListener('click', loadOpenCart);
89
+ cartButton.addEventListener('touchend', loadOpenCart);
90
+
91
+ const prealoadShopify = () => {
92
+ cartButton.removeEventListener('mouseover', prealoadShopify);
93
+ return shopShopify({skipWait: true});
94
+ };
95
+ cartButton.addEventListener('mouseover', prealoadShopify);
96
+ };
97
+
98
+ const api = {
99
+ loadShops,
100
+ forceLoadShops,
101
+ checkCart
102
+ };
103
+
104
+ export default api;