@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,888 @@
1
+ <template>
2
+ <div id="app" :class="`${blockClassName}__main-container ${blockClassName}__main-container ${!showFilters && 'post-type-filter-grid-v2__main-container--hide-filters'
3
+ }`" :data-layout="filterLayout">
4
+ <TextSearch v-if="enableTextSearch" v-model="textSearchInput" ref="textSearchInput"
5
+ :placeholder="textSearchInputPlaceholder" />
6
+ <div ref="filterBlock" v-if="showFilters" :class="`${blockClassName}__filter`" :data-layout="filterLayout">
7
+ <button :class="`${blockClassName}__open-filter-toggle cmpl-cta-style-${toggleFilterButtonStyle}`">
8
+ {{ modalOpen ? closeFilterText : openFilterText }}
9
+ </button>
10
+ <div :class="`${blockClassName}__filter-container ${modalOpen ? 'post-type-filter-grid-v2__filter-container--open' : ''
11
+ }`" :data-layout="filterLayout">
12
+ <button v-if="fields.enable_show_all_button"
13
+ :class="`${blockClassName}__show-all cmpl-cta-style-${showAllButtonStyle}`"
14
+ v-on:click.prevent="clearAllFilters()" :data-layout="filterLayout">
15
+ {{ showAllText }}
16
+ </button>
17
+ <div v-if="
18
+ filterLayout == 1 ||
19
+ filterLayout == 2 ||
20
+ filterLayout == 4 ||
21
+ filterLayout == 5
22
+ " :class="`${blockClassName}__filter-categories`" :data-layout="filterLayout">
23
+ <div v-if="filterLayout == 4" :class="`${blockClassName}__filter-categories-label`">
24
+ Filter
25
+ <button @click="modalOpen = !modalOpen"></button>
26
+ </div>
27
+ <div v-for="(topCategory, index) in computedCategories.topLevelCategories" :class="`${blockClassName}__filter-category ${blockClassName}__cta cmpl-cta-style-${showTopLevelFilters ? topLevelCategoryButtonStyle : 'none'
28
+ }`" v-bind:key="index" :data-layout="filterLayout">
29
+ <h6 v-if="showTopLevelFilters" :class="`${blockClassName}__filter-top-level-category-name`"
30
+ :data-layout="filterLayout">
31
+ {{ topCategory.name }}
32
+ </h6>
33
+ <ul :class="`${blockClassName}__filter-subcategory-list`" :data-layout="filterLayout" :style="`${subFilterOverflowStyles}`">
34
+ <li v-for="(subCategory, index) in computedCategories.subCategories[
35
+ topCategory.term_id
36
+ ]" :key="index" :data-categoryid="subCategory.term_id"
37
+ :class="`${blockClassName}__filter-subcategory-list-item`" :data-layout="filterLayout">
38
+ <button :class="`${blockClassName}__filter-subcategory-button ${updateCategoryButtonActiveStatus(
39
+ subCategory.term_id
40
+ )} ${blockClassName}__cta cmpl-cta-style-${categoryButtonStyle} cmpl-cta-style-${categoryButtonStyle}--${updateActiveCategoryButtonStyle(subCategory.term_id) ? 'selected' : ''
41
+ }`" :data-categoryid="subCategory.term_id" @click="addOrRemoveIdFromActiveFilters(subCategory.term_id)"
42
+ :disabled="updateDisabledStatus(subCategory.term_id)">
43
+ <span v-html="subCategory.name"></span>
44
+ <img v-if="enableFilterIcon" :src="ctaIcons.cta_filter_icon"
45
+ :class="`${blockClassName}__filter-subcategory-button-icon`" />
46
+ </button>
47
+ </li>
48
+ </ul>
49
+ </div>
50
+ <div :class="`${blockClassName}__filter-update-button`" v-if="filterLayout == 4">
51
+ <button @click="modalOpen = false">{{ updateFilterText }}</button>
52
+ </div>
53
+ </div>
54
+ <div v-if="filterLayout == 3" :class="`${blockClassName}__filter-categories`"
55
+ :data-layout="filterLayout">
56
+ <div :class="`${blockClassName}__filter-categories-container`">
57
+ <ul v-if="showTopLevelFilters" @click="toggleTopLevelContainerStatus" :class="`${blockClassName}__filter-top-level-categories ${blockClassName}__filter-top-level-category-container ${topLevelContainerStatus ? 'open' : ''
58
+ }`" :data-layout="filterLayout">
59
+ <li :class="`${blockClassName}__filter-top-level-category ${placeholderFilterStatus ? 'currently-selected' : ''
60
+ }`" @click="toggleActiveTopLevelCategory('placeholder')" v-if="enablePlaceholderFilter"
61
+ data-categoryid="placeholder">
62
+ <button :class="`${blockClassName}__cta cmpl-cta-style-${showTopLevelFilters ? topLevelCategoryButtonStyle : 'none'
63
+ } `">
64
+ <span>{{ placeholderFilterText }}</span><img v-if="enableTopLevelFilterIcon"
65
+ :src="ctaIcons.cta_filter_icon"
66
+ :class="`${blockClassName}__filter-top-level-category-button-icon style-svg`" />
67
+ </button>
68
+ </li>
69
+ <li v-for="(topCategory, index) in computedCategories?.topLevelCategories" v-bind:key="index"
70
+ :class="`${blockClassName}__filter-top-level-category ${topLevelCategoryActiveStatus(topCategory.term_id)
71
+ ? 'currently-selected'
72
+ : ''
73
+ }`" :data-categoryid="topCategory.term_id" :data-layout="filterLayout"
74
+ @click="toggleActiveTopLevelCategory(topCategory.term_id)">
75
+ <button :class="`${blockClassName}__cta ${topLevelCategoryActiveStatus(topCategory.term_id)
76
+ ? blockClassName +
77
+ '__cta-style-' +
78
+ topLevelCategoryButtonStyle +
79
+ '--selected'
80
+ : ''
81
+ } cmpl-cta-style-${showTopLevelFilters ? topLevelCategoryButtonStyle : 'none'
82
+ } `">
83
+ <span v-html="topCategory?.name"></span><img v-if="enableTopLevelFilterIcon"
84
+ :src="ctaIcons.cta_filter_icon"
85
+ :class="`${blockClassName}__filter-top-level-category-button-icon style-svg`" />
86
+ </button>
87
+ </li>
88
+ </ul>
89
+ </div>
90
+ <div :class="`${blockClassName}__filter-subcategories-container`">
91
+ <!-- <ul v-if="enablePlaceholderFilter">
92
+ <li :class="`${blockClassName}__filter-subcategory-list-item ${placeholderFilterActiveStatus ? 'active' : ''}`"
93
+ v-if="enablePlaceholderFilter" data-categoryid="placeholder">
94
+ <button
95
+ :class="`${blockClassName}__filter-subcategory-button ${placeholderFilterActiveStatus ? 'active' : ''} cmpl-cta-style-${categoryButtonStyle}`">
96
+ Choose country <img v-if="enableFilterIcon" :src="ctaIcons.cta_filter_icon"
97
+ :class="`${blockClassName}__filter-subcategory-button-icon style-svg`">
98
+ </button>
99
+
100
+ </li>
101
+ </ul>-->
102
+ <ul v-for="(topCategory, index) in computedCategories?.topLevelCategories" v-bind:key="index"
103
+ @click="toggleSubcategoryListContainer(topCategory?.term_id)" :class="`${blockClassName}__filter-subcategory-list ${topLevelCategoryActiveStatus(topCategory?.term_id)
104
+ ? blockClassName + '__filter-subcategory-list--active'
105
+ : ''
106
+ } ${subCategoryListOpenStatus(topCategory?.term_id) ? 'open' : ''}`" :data-layout="filterLayout"
107
+ :data-topcategoryid="topCategory?.term_id" :style="`${subFilterOverflowStyles}`">
108
+ <li v-for="(subCategory, index) in computedCategories.subCategories[
109
+ topCategory?.term_id
110
+ ]" :key="index" :data-categoryid="subCategory.term_id" :class="`${blockClassName}__filter-subcategory-list-item ${updateCategoryButtonActiveStatus(
111
+ subCategory.term_id
112
+ )}`" :data-layout="filterLayout">
113
+ <button :class="`${blockClassName}__filter-subcategory-button ${updateCategoryButtonActiveStatus(
114
+ subCategory.term_id
115
+ )} ${blockClassName}__cta cmpl-cta-style-${categoryButtonStyle} cmpl-cta-style-${categoryButtonStyle}--${updateActiveCategoryButtonStyle(subCategory.term_id) ? 'selected' : ''
116
+ }`" :data-categoryid="subCategory.term_id" @click="addOrRemoveIdFromActiveFilters(subCategory.term_id)"
117
+ :disabled="updateDisabledStatus(subCategory.term_id)">
118
+ <span v-html="subCategory.name"></span>
119
+ <img v-if="enableFilterIcon" :src="ctaIcons.cta_filter_icon"
120
+ :class="`${blockClassName}__filter-subcategory-button-icon style-svg`" />
121
+ </button>
122
+ </li>
123
+ </ul>
124
+ </div>
125
+ </div>
126
+ </div>
127
+ </div>
128
+
129
+ <div :class="`${blockClassName}__featured-post`" v-if="enableFeaturedPost && activeFilterCategories.length < 1" :style="featuredPostBackgroundColour">
130
+ <TransitionGroup>
131
+ <div :class="`${blockClassName}__featured-post-container`" v-if="featuredPost">
132
+ <FeaturedPostComponent :featuredpost="featuredPost" :fields="fields" :options="options" :mappedIcons="mappedIcons" :ctaStyles="ctaStyles" :ctaIcons="ctaIcons">
133
+ </FeaturedPostComponent>
134
+ </div>
135
+ </TransitionGroup>
136
+ </div>
137
+
138
+ <div :class="`${blockClassName}__grid`">
139
+ <TransitionGroup :name="fields.filter_results_transition">
140
+ <div :class="`${blockClassName}__post-container`" :style="`
141
+ --post-container-background-colour: ${postContainerBackgroundColour(
142
+ post
143
+ )}; --post-container-grid-gap-mobile: ${fields.post_container_grid_gap_mobile
144
+ }; --post-container-grid-gap-portrait: ${fields.post_container_grid_gap_portrait
145
+ }; --post-container-grid-gap-desktop: ${fields.post_container_grid_gap_desktop
146
+ }; --post-container-grid-auto-rows: ${fields.post_container_grid_auto_rows?.slice(
147
+ 2
148
+ )}; --post-container-grid-auto-columns: ${fields.post_container_grid_auto_columns?.slice(
149
+ 2
150
+ )}; --post-container-grid-template-rows: ${fields.post_container_grid_template_rows
151
+ }; --post-container-grid-template-columns: ${fields.post_container_grid_template_columns
152
+ };`" v-for="post in pagedPosts" :key="post.slug">
153
+ <PostComponent :postDataConfig="postDataConfig" :post="post" :fields="fields" :options="options"
154
+ :mappedIcons="mappedIcons" :ctaStyles="ctaStyles" :globalImages="globalImages"
155
+ :imageSizesAttribute="imageSizesAttribute"
156
+ :gradientOverlayColour="postContainerGradientOverlayColour(post)">
157
+ </PostComponent>
158
+ </div>
159
+ </TransitionGroup>
160
+ </div>
161
+
162
+ <div :class="`${blockClassName}__load-more-container`" ref="loadMore"
163
+ v-if="computedLoadMore && enableLoadMoreButton">
164
+ <a :href="`${nextPage}`" ref="loadButton" @click.prevent="
165
+ page = page + 1;
166
+ incrementLoadMoreStatus();
167
+ " :class="`${blockClassName}__load-more-button ${blockClassName}__cta cmpl-cta-style-${loadMoreButtonStyle} cmpl-cta-animation-style-${loadMoreAnimationStyle}`">
168
+ <span :class="`cmpl-cta-span ${isLoading ? 'hide-text' : ''}`">{{ loadMoreText }}</span> <span
169
+ :class="`loader ${isLoading ? 'show-spinner' : ''}`"></span>
170
+ <span :class="`${blockClassName}__cta-icon cmpl-cta-icon`" v-if="enableLoadMoreIcon"
171
+ v-html="loadmoreIconImage"></span>
172
+ </a>
173
+ </div>
174
+
175
+ </div>
176
+ </template>
177
+
178
+ <script setup>
179
+ import { ref, reactive, onMounted, useAttrs, computed, watch } from "vue";
180
+ // import likes from "WpPlugins/cbl-better-reviews/public/src/modules/likes.js";
181
+ import reviews from "WpPlugins/cbl-better-reviews/public/src/modules/reviews.js";
182
+ import shop from "Assets/js/modules/library-modules/shopify/shop.js";
183
+ import reviewModal from "WpPlugins/cbl-better-reviews/public/src/modules/review-modal.js";
184
+ import reservebarPopup from "Assets/js/modules/library-modules/reservebar-popup/reservebar-popup.js";
185
+ import { isWpAdmin, ctbCTAClickHandler } from "@pernod-ricard-global-cms/jsutils";
186
+ import PostComponent from "./post-type-filter-grid-v2/post-component.vue";
187
+ import FeaturedPostComponent from "./post-type-filter-grid-v2/featured-post-component.vue";
188
+ import TextSearch from "./post-type-filter-grid-v2/text-search.vue";
189
+
190
+ // get content data from window
191
+ const attrs = useAttrs();
192
+ const ptfgData = window["ptfgData" + attrs.blockid];
193
+ // if (!ptfgData) {
194
+ // console.log('No ptfgData found');
195
+ // return;
196
+ // }
197
+
198
+ // defining refs
199
+ let page = ref(0);
200
+ let loadMoreStatus = ref(1);
201
+ let topLevelContainerStatus = ref(false);
202
+ let activeTopLevelCategories = ref([]);
203
+ let placeholderFilterStatus = ref(true);
204
+
205
+ let activeFilterCategories = ref([]);
206
+ let openSubCategoryListContainers = ref([]);
207
+ let enableCategoryDisabledStatus = ref(false);
208
+
209
+ // ref dom elements
210
+ const textSearchInput = ref(null);
211
+ const filterBlock = ref(null);
212
+
213
+ // defining constant variables
214
+ const blockClassName = "post-type-filter-grid-v2";
215
+ const fields = ptfgData.fields;
216
+ let modalOpen = ref(false);
217
+
218
+ const sortText = "Sort";
219
+ const sortByText = fields.sort_by_text;
220
+
221
+ const openFilterText = fields.mobile_filter_label
222
+ ? fields.mobile_filter_label
223
+ : "Open Filter";
224
+ const closeFilterText = "Close Filter";
225
+ const updateFilterText = fields.mobile_filter_update_label
226
+ ? fields.mobile_filter_update_label
227
+ : "Update Filter";
228
+
229
+ const ajaxUrl = ptfgData.ajaxUrl;
230
+ const isLoading = ref(false);
231
+ const options = ptfgData.options;
232
+ const allPosts = reactive({ items: ptfgData.posts });
233
+ const allProducts = ptfgData.allProducts;
234
+ const postDataConfig = ptfgData.postDataConfig;
235
+ const allCategories = ptfgData.taxonomies;
236
+ const featuredPost = ptfgData.featuredPost;
237
+ const mappedIcons = ptfgData.mappedIcons;
238
+ const ctaStyles = ptfgData.ctaStyles;
239
+ const totalPosts = ptfgData.total;
240
+
241
+ const ctaIcons = ptfgData.theme_cta_icons;
242
+ const globalImages = ptfgData.global_images;
243
+ const gridColumnsDesktop = fields.columns_desktop;
244
+ const gridColumnsPortrait = fields.columns_tablet_portrait;
245
+ const gridColumnsMobile = fields.columns_mobile;
246
+ const containerWidth = 100;
247
+ const defaultImageSizes = `(min-width: 1440px) ${containerWidth / gridColumnsDesktop}vw, (min-width: 1024px) ${containerWidth / gridColumnsDesktop}vw, (min-width: 768px) ${containerWidth / gridColumnsPortrait}vw, (min-width: 500px) ${containerWidth / gridColumnsMobile}vw, ${containerWidth / gridColumnsMobile}vw`;
248
+ const customSizesAttribute = fields.custom_image_sizes;
249
+ const imageSizesAttribute = customSizesAttribute ? customSizesAttribute : defaultImageSizes;
250
+ const postType = fields.post_type?.replace("__", "");
251
+ const sorting = fields.sorting?.replace("__", "");
252
+ const filterLayout = fields.filter_layout?.toString().replace("__", "");
253
+ const topLevelCategoryButtonStyle = fields.top_level_category_button_style
254
+ ?.toString()
255
+ .replace("__", "");
256
+ const categoryButtonStyle = fields.category_button_style?.toString().replace("__", "");
257
+ const loadMoreButtonStyle = fields.load_more_button_style?.toString().replace("__", "");
258
+ const loadMoreAnimationStyle =
259
+ ctaStyles[parseInt(loadMoreButtonStyle) - 1]?.cta_settings
260
+ ?.cta_animation_style;
261
+ const toggleFilterButtonStyle = fields.toggle_filter_button_style
262
+ ?.toString()
263
+ .replace("__", "");
264
+ const showAllButtonStyle = fields.show_all_button_style?.toString().replace("__", "");
265
+ const enableLoadMoreButton = fields.enable_load_more_button;
266
+ const showFilters = fields.show_filters;
267
+ const showTopLevelFilters = fields.show_top_level_filters;
268
+ const topLevelFiltersActiveOnLoad = fields.top_level_filters_active_on_load;
269
+ const singleActiveTopLevelCategory = fields.single_active_top_level_category;
270
+ const singleActiveFilter = ref(fields.single_active_filter);
271
+ const limitPostsToCategories = fields.limit_posts_to_selected_categories;
272
+ const loadMoreText = fields.load_more_button_text;
273
+ const showAllText = fields.show_all_button_text;
274
+ const showAllPosts = fields.show_all_posts;
275
+ const postContainerBackgroundColourStyle = fields.post_container_background_style?.replace(
276
+ "__",
277
+ ""
278
+ );
279
+ let loadmoreIconImage = '';
280
+ if (mappedIcons['cta_link_icon']) {
281
+ loadmoreIconImage = mappedIcons['cta_link_icon']['type'] == 'image/svg+xml' ? mappedIcons['cta_link_icon']['image'] : '<img src="' + mappedIcons['cta_link_icon']['image'] + '">';
282
+ }
283
+ const enableLoadMoreIcon = ctaStyles[parseInt(loadMoreButtonStyle) - 1]?.cta_settings?.include_cta_icon;
284
+ const enableTextSearch = fields.enable_text_search;
285
+ const textSearchInputPlaceholder = fields.text_filter_placeholder;
286
+ const enableFilterIcon = fields.enable_filter_icon;
287
+ const enableTopLevelFilterIcon = fields.enable_top_level_filter_icon;
288
+ const enableStartingFilter = fields.enable_starting_filter;
289
+ const enablePlaceholderFilter = fields.enable_placeholder_filter;
290
+ const enableShopify = JSON.parse(localStorage.getItem("enableShopify"));
291
+ const placeholderFilterText = fields.placeholder_filter_text;
292
+ const enableFeaturedPost = fields.enable_featured_post;
293
+ const featuredPostBackgroundColour = `--featured-post-background-colour: ${fields.featured_post_background_colour}`;
294
+ const initialPostsPerPageDesktop = fields.initial_posts_per_page_desktop;
295
+ const initialPostsPerPageTablet = fields.initial_posts_per_page_portrait;
296
+ const initialPostsPerPageMobile = fields.initial_posts_per_page_mobile;
297
+ const postsPerPageDesktop = showAllPosts ? 999999 : Number(fields.posts_per_page_desktop);
298
+ const postsPerPageTablet = showAllPosts ? 999999 : Number(fields.posts_per_page_tablet);
299
+ const postsPerPageMobile = showAllPosts ? 999999 : Number(fields.posts_per_page_mobile);
300
+ const loadedCategories = [];
301
+ const subFilterOverflowMobileValue = fields.sub_filter_overflow ? fields.sub_filter_overflow.mobile_overflow.toString().replace("__", "") : 'scroll';
302
+ const subFilterOverflowTabletValue = fields.sub_filter_overflow ? fields.sub_filter_overflow.tablet_overflow.toString().replace("__", "") : 'scroll';
303
+ const subFilterOverflowDesktopValue = fields.sub_filter_overflow ? fields.sub_filter_overflow.desktop_overflow.toString().replace("__", "") : 'scroll';
304
+ const subFilterOverflowMobile = `--sub-filter-overflow-mobile: ${subFilterOverflowMobileValue};`;
305
+ const subFilterOverflowTablet = `--sub-filter-overflow-tablet: ${subFilterOverflowTabletValue};`;
306
+ const subFilterOverflowDesktop = `--sub-filter-overflow-desktop: ${subFilterOverflowDesktopValue};`;
307
+ const subFilterOverflowCenterMobile = `--sub-filter-overflow-center-mobile: ${subFilterOverflowMobileValue === 'wrap'? 'center' : ''};`;
308
+ const subFilterOverflowCenterTablet = `--sub-filter-overflow-center-tablet: ${subFilterOverflowTabletValue === 'wrap'? 'center' : ''};`;
309
+ const subFilterOverflowCenterDesktop = `--sub-filter-overflow-center-desktop: ${subFilterOverflowDesktopValue === 'wrap'? 'center' : ''};`;
310
+ const subFilterOverflowStyles = subFilterOverflowMobile + subFilterOverflowTablet + subFilterOverflowDesktop + subFilterOverflowCenterMobile + subFilterOverflowCenterTablet + subFilterOverflowCenterDesktop
311
+
312
+ let devicePostsPerPage = postsPerPageDesktop;
313
+ let deviceInitialPostsPerPage = initialPostsPerPageDesktop;
314
+ if (window.innerWidth < 1024) {
315
+ devicePostsPerPage = postsPerPageTablet;
316
+ deviceInitialPostsPerPage = initialPostsPerPageTablet;
317
+ }
318
+ if (window.innerWidth < 768) {
319
+ devicePostsPerPage = postsPerPageMobile;
320
+ deviceInitialPostsPerPage = initialPostsPerPageMobile;
321
+ }
322
+ watch(
323
+ () => modalOpen.value,
324
+ () => {
325
+ if (modalOpen.value) {
326
+ document.body.classList.add("mobile-menu-active");
327
+ } else {
328
+ document.body.classList.remove("mobile-menu-active");
329
+ }
330
+ }
331
+ );
332
+
333
+
334
+ // computed variables
335
+ const computedAllPosts = computed(() => {
336
+ if (limitPostsToCategories) {
337
+ const allSubcategories = [];
338
+ const allParentIds = Object.keys(computedCategories.value.subCategories);
339
+ allParentIds.forEach((id) => {
340
+ computedCategories.value.subCategories[id].forEach((category) => {
341
+ allSubcategories.push(category.term_id);
342
+ });
343
+ });
344
+ return filterPosts(allPosts.items, allSubcategories);
345
+ } else {
346
+ return allPosts.items;
347
+ }
348
+ });
349
+ const computedFilteredPosts = computed(() => {
350
+ let computedPosts = computedAllPosts.value;
351
+ if (enableFeaturedPost) {
352
+ computedPosts = computedAllPosts.value.filter(
353
+ (post) => post.post_data.ID != fields.featured_post
354
+ );
355
+ }
356
+ const posts = filterPosts(computedPosts, activeFilterCategories.value);
357
+ return sortPosts(posts);
358
+ });
359
+
360
+ const computedLoadMore = computed(() => {
361
+ if (showAllPosts) {
362
+ return false;
363
+ }
364
+ let postsPerPage = devicePostsPerPage;
365
+ if (page.value == 1) {
366
+ postsPerPage = deviceInitialPostsPerPage;
367
+ }
368
+ if (activeFilterCategories.value.length) {
369
+ if (computedFilteredPosts.value.length <= (page.value * postsPerPage)) {
370
+ return false;
371
+ }
372
+ }
373
+ if (
374
+ page.value * postsPerPage < totalPosts
375
+ ) {
376
+ return true;
377
+ }
378
+ return false;
379
+ });
380
+
381
+ const nextPage = computed(() => {
382
+ const path = `https://${window.location.host}${window.location.pathname}`;
383
+ return `${path}?pages=${page.value + 1}`;
384
+ });
385
+
386
+ const resetPage = () => {
387
+ const path = `https://${window.location.host}${window.location.pathname}${window.location.search}`;
388
+ page.value = 1;
389
+ window.history.pushState({}, "", path);
390
+ };
391
+
392
+ const computedFeaturedPost = computed(() => {
393
+ const featuredPost = computedAllPosts.value.filter(
394
+ (post) => post.id == fields.featured_post
395
+ );
396
+ const [post] = featuredPost;
397
+ return post;
398
+ });
399
+
400
+ const computedProducts = computed(() => {
401
+ // const updatedProducts = [];
402
+ // allProducts.forEach((product) => {
403
+ // product.slug = product["post_name"];
404
+ // product.name = product["post_title"];
405
+ // product.taxonomy = "products";
406
+ // updatedProducts.push(product);
407
+ // });
408
+ // return updatedProducts;
409
+ });
410
+
411
+ const pagedPosts = computed(() => {
412
+ if (showAllPosts) {
413
+ return computedFilteredPosts.value;
414
+ } else {
415
+ return computedFilteredPosts.value.slice(
416
+ 0,
417
+ page.value == 1
418
+ ? Number(deviceInitialPostsPerPage)
419
+ : Number(deviceInitialPostsPerPage) +
420
+ Number(page.value - 1) * Number(devicePostsPerPage)
421
+ );
422
+ }
423
+ });
424
+
425
+ const computedCategories = computed(() => {
426
+ let topLevelCategories = [];
427
+ const subCategories = {};
428
+ allCategories.forEach((taxonomy) => {
429
+ if (taxonomy.parent === 0) {
430
+ topLevelCategories.push(taxonomy);
431
+ } else {
432
+ if (subCategories[taxonomy.parent]) {
433
+ subCategories[taxonomy.parent].push(taxonomy);
434
+ } else {
435
+ subCategories[taxonomy.parent] = [];
436
+ subCategories[taxonomy.parent].push(taxonomy);
437
+ }
438
+ }
439
+ });
440
+ return {
441
+ topLevelCategories: topLevelCategories,
442
+ subCategories: subCategories,
443
+ };
444
+ });
445
+
446
+ // functions
447
+
448
+ const addOrRemoveIdFromActiveFilters = async (categoryId) => {
449
+ if (singleActiveFilter.value) {
450
+ activeFilterCategories.value = [];
451
+ activeFilterCategories.value.push(categoryId);
452
+
453
+ return;
454
+ }
455
+ if (!activeFilterCategories.value.find((element) => Number(element) === Number(categoryId))
456
+ ) {
457
+ activeFilterCategories.value.push(categoryId);
458
+ } else {
459
+ activeFilterCategories.value = activeFilterCategories.value.filter(
460
+ (element) => element !== categoryId
461
+ );
462
+ }
463
+ };
464
+
465
+ const filterPosts = (posts, filterCategoryIds = activeFilterCategories.value) => {
466
+ let filteredPosts = [];
467
+ if (filterCategoryIds.length === 0) {
468
+ filteredPosts = posts;
469
+ } else {
470
+ filteredPosts = posts.filter((post) => {
471
+ const postSubCategories = post.categories.filter(
472
+ (category) => category.parent != 0
473
+ );
474
+ let categoryMatch = false;
475
+ filterCategoryIds.forEach((categoryId) => {
476
+ if (
477
+ postSubCategories.find(
478
+ (subCategory) => Number(subCategory.term_id) == Number(categoryId)
479
+ )
480
+ ) {
481
+ categoryMatch = true;
482
+ return;
483
+ }
484
+ });
485
+ return categoryMatch;
486
+ });
487
+ }
488
+
489
+ //filter by text
490
+
491
+ //Split the search term by , to get 'or' functionality then trim the spaces and filter empty search terms
492
+ let searchTerm = textSearchInput.value ? textSearchInput.value : null;
493
+ if (searchTerm) {
494
+ const searchTerm = searchTerm
495
+ .toLowerCase()
496
+ .split(",")
497
+ .map((term) => term.trim())
498
+ .filter((term) => term != "");
499
+
500
+ //Filter drinks based on the search terms
501
+ const textFilteredPosts = filteredPosts.filter((post) => {
502
+ return searchTerm.some((item) =>
503
+ post.post_data.post_title.toLowerCase().includes(item)
504
+ );
505
+ });
506
+ }
507
+ filteredPosts = searchTerm == null ? filteredPosts : textFilteredPosts;
508
+ setTimeout(() => {
509
+ const gridContainer = document.querySelector(".post-type-filter-grid-v2__grid");
510
+ ctbCTAClickHandler(gridContainer);
511
+ reservebarPopup();
512
+ if (enableShopify) {
513
+ refreshShopifyBuyButtons();
514
+ }
515
+ }, 50);
516
+
517
+ return filteredPosts;
518
+ };
519
+
520
+ const sortPosts = (posts) => {
521
+ switch (fields.sorting?.replace("__", "")) {
522
+ case "menu-order":
523
+ return posts.sort((a, b) => a.menu_order - b.menu_order); // Sort by menu order (ascending)
524
+ case "date-desc":
525
+ return posts.sort((a, b) => new Date(b.post_data.post_date) - new Date(a.post_data.post_date)); // Newest first
526
+ case "date-asc":
527
+ return posts.sort((a, b) => new Date(a.post_data.post_date) - new Date(b.post_data.post_date)); // Oldest first
528
+ case "post-order":
529
+ return posts; // Respect post type order plugin
530
+ default:
531
+ return posts;
532
+ }
533
+ };
534
+
535
+ const incrementLoadMoreStatus = () => {
536
+ const url = new URL(window.location);
537
+ loadMoreStatus.value = Number(loadMoreStatus.value) + 1;
538
+ url.searchParams.set("pages", loadMoreStatus.value);
539
+ setTimeout(() => {
540
+ reviews.init();
541
+ if (enableShopify) {
542
+ refreshShopifyBuyButtons();
543
+ }
544
+ }, 0);
545
+ if (!isWpAdmin()) {
546
+ window.history.pushState({}, "", url);
547
+ }
548
+ };
549
+
550
+ const postContainerBackgroundColour = (post) => {
551
+ switch (postContainerBackgroundColourStyle) {
552
+ case "none":
553
+ return "none";
554
+ break;
555
+
556
+ case "colour-palette":
557
+ return fields.post_container_background_colour;
558
+ break;
559
+
560
+ case "post-colour":
561
+ return post.post_data.post_colour;
562
+ break;
563
+ case "post-colour-secondary":
564
+ return post.post_data.post_colour_secondary;
565
+ break;
566
+
567
+ default:
568
+ break;
569
+ }
570
+ };
571
+
572
+ const postContainerGradientOverlayColour = (post) => {
573
+ switch (fields.gradient_overlay_colour_type?.slice(2)) {
574
+ case "colour-palette":
575
+ return fields.gradient_overlay_colour;
576
+ break;
577
+
578
+ case "post-colour":
579
+ return post.post_data.post_colour;
580
+ break;
581
+ case "post-colour-secondary":
582
+ return post.post_data.post_colour_secondary;
583
+ break;
584
+
585
+ default:
586
+ break;
587
+ }
588
+ };
589
+
590
+ const getLoadMoreStatusParam = async () => {
591
+ const urlParams = new URLSearchParams(window.location.search);
592
+ const loadMore = urlParams.get("pages");
593
+ if (loadMore) {
594
+ loadMoreStatus.value = Number(loadMore);
595
+ page.value += loadMoreStatus.value;
596
+
597
+ let demandedPosts = Number(initialPostsPerPageDesktop) + (Number(page.value - 1) * Number(postsPerPageDesktop));
598
+ let actualMaxPages = Math.ceil(Number((Number(totalPosts.value) - Number(initialPostsPerPageDesktop)) / Number(postsPerPageDesktop)));
599
+ let retrievedPosts = Number(initialPostsPerPageDesktop);
600
+
601
+ for (let i = 2; i <= loadMore; i++) {
602
+ if (retrievedPosts <= totalPosts.value) {
603
+ retrievedPosts += Number(postsPerPageDesktop);
604
+ page.value = i;
605
+ }
606
+ }
607
+
608
+ if (demandedPosts > totalPosts.value) {
609
+ page.value = actualMaxPages;
610
+ window.history.pushState({}, "?pages=" + page.value);
611
+ }
612
+ loadMoreStatus.value = loadMore;
613
+ } else {
614
+ resetPage();
615
+ }
616
+ };
617
+
618
+ const setupFilterLayout = () => {
619
+ if (!showFilters) {
620
+ return;
621
+ }
622
+ if (filterLayout == 1 || filterLayout == 2 || filterLayout == 4 || filterLayout == 5) {
623
+ const topLevelCategories = filterBlock.value.querySelectorAll(
624
+ ".post-type-filter-grid-v2__filter-category"
625
+ );
626
+ const primaryCategoryNames = filterBlock.value.querySelectorAll(
627
+ ".post-type-filter-grid-v2__filter-top-level-category-name"
628
+ );
629
+ if (topLevelFiltersActiveOnLoad) {
630
+ if (singleActiveTopLevelCategory) {
631
+ topLevelCategories[0].classList.add("active");
632
+ } else {
633
+ topLevelCategories.forEach((topLevelCategory) =>
634
+ topLevelCategory.classList.add("active")
635
+ );
636
+ }
637
+ }
638
+ primaryCategoryNames.forEach((name) => {
639
+ name.addEventListener("click", () => {
640
+ name.parentElement.classList.toggle("active");
641
+ });
642
+ });
643
+ if (enableStartingFilter) {
644
+ let categoryObject;
645
+
646
+ switch (postType) {
647
+ case "product":
648
+ categoryObject = fields.starting_product_filter_category;
649
+ break;
650
+ case "person":
651
+ categoryObject = fields.starting_person_filter_category;
652
+ break;
653
+
654
+ default:
655
+ break;
656
+ }
657
+ activeTopLevelCategories.value.push(categoryObject.parent);
658
+ activeFilterCategories.value.push(categoryObject.term_id);
659
+ }
660
+ }
661
+ if (filterLayout == 3) {
662
+ if (topLevelFiltersActiveOnLoad) {
663
+ if (singleActiveTopLevelCategory) {
664
+ toggleActiveTopLevelCategory(
665
+ computedCategories.value.topLevelCategories[0].term_id
666
+ );
667
+ } else {
668
+ computedCategories.value.topLevelCategories.forEach((topLevelCategory) =>
669
+ toggleActiveTopLevelCategory(topLevelCategory.term_id)
670
+ );
671
+ }
672
+ }
673
+ }
674
+
675
+ if (showFilters) {
676
+ filterBlock.value
677
+ .querySelector(".post-type-filter-grid-v2__open-filter-toggle")
678
+ .addEventListener("click", () => {
679
+ modalOpen.value = !modalOpen.value;
680
+ });
681
+ }
682
+ };
683
+
684
+ const toggleTopLevelContainerStatus = () => {
685
+ topLevelContainerStatus.value = !topLevelContainerStatus.value;
686
+ };
687
+
688
+ const topLevelCategoryActiveStatus = (id) => {
689
+ return activeTopLevelCategories.value.find((catId) => catId == id);
690
+ };
691
+ const placeholderFilterActiveStatus = () => {
692
+ return placeholderFilterStatus.value ? true : false;
693
+ };
694
+
695
+ const toggleSubcategoryListContainer = (id) => {
696
+ if (id == "placeholder") {
697
+ activeTopLevelCategories.value = [];
698
+ activeFilterCategories.value = [];
699
+ return;
700
+ }
701
+ if (openSubCategoryListContainers.value.find((categoryId) => categoryId == id)) {
702
+ openSubCategoryListContainers.value = openSubCategoryListContainers.value.filter(
703
+ (categoryId) => categoryId != id
704
+ );
705
+ } else {
706
+ openSubCategoryListContainers.value.push(id);
707
+ }
708
+ };
709
+
710
+ const subCategoryListOpenStatus = (id) => {
711
+ return openSubCategoryListContainers.value.find((catId) => catId == id);
712
+ };
713
+ const updateCategoryButtonActiveStatus = (categoryId) => {
714
+ if (
715
+ activeFilterCategories.value.find(
716
+ (filterCategory) => Number(filterCategory) === Number(categoryId)
717
+ )
718
+ ) {
719
+ return "active";
720
+ } else {
721
+ return "";
722
+ }
723
+ };
724
+
725
+ const updateActiveCategoryButtonStyle = (categoryId) => {
726
+ if (
727
+ activeFilterCategories.value.find(
728
+ (filterCategory) => Number(filterCategory) === Number(categoryId)
729
+ )
730
+ ) {
731
+ return true;
732
+ } else {
733
+ return false;
734
+ }
735
+ };
736
+
737
+ const updateDisabledStatus = (categoryId) => {
738
+ if (!enableCategoryDisabledStatus.value) {
739
+ return false;
740
+ }
741
+ if (activeFilterCategories.value.length === 0) {
742
+ return false;
743
+ }
744
+ if (
745
+ activeFilterCategories.value.find(
746
+ (filterCategory) => Number(filterCategory) === Number(categoryId)
747
+ )
748
+ ) {
749
+ return false;
750
+ }
751
+ const testCategories = [...activeFilterCategories.value];
752
+ testCategories.push(categoryId);
753
+ const testFilterPosts = filterPosts(allPosts.items, testCategories);
754
+ if (testFilterPosts.length <= computedFilteredPosts.value.length) {
755
+ return true;
756
+ }
757
+ };
758
+ const getPostSubcategories = (post) => {
759
+ return post.categories.filter((category) => category.parent != 0);
760
+ };
761
+ const clearAllFilters = () => {
762
+ activeFilterCategories.value = [];
763
+ };
764
+ const getCategoryIds = () => {
765
+ let allCategoryIds = [];
766
+ allCategories.forEach((cat) => {
767
+ allCategoryIds.push(cat.term_id);
768
+ });
769
+ // return JSON.stringify(all_cats);
770
+ return allCategoryIds;
771
+ };
772
+
773
+ const loadMorePosts = async (currentCategoryId = null) => {
774
+ if (currentCategoryId && loadedCategories.includes(currentCategoryId)) {
775
+ console.log('category already loaded');
776
+ return;
777
+ }
778
+
779
+ isLoading.value = true;
780
+ let form_data = new FormData();
781
+ form_data.append("action", "ptfg_next_page");
782
+ form_data.append("pageNum", page.value);
783
+ form_data.append("postType", postType);
784
+ form_data.append("sorting", sorting);
785
+ form_data.append("initialPostsPerPage", initialPostsPerPageDesktop);
786
+ form_data.append("desktopPostsPerPage", postsPerPageDesktop);
787
+ form_data.append("includeReviews", ptfgData.includeReviews);
788
+ form_data.append("reviewDisplayOptions", ptfgData.reviewDisplayOptions);
789
+ form_data.append("limitPostsToSelectedCategories", fields.limit_posts_to_selected_categories);
790
+ form_data.append("currentMarket", ptfgData.currentMarket);
791
+
792
+ form_data.append(
793
+ "categoryIds",
794
+ activeFilterCategories.value.length > 0 ? activeFilterCategories.value : getCategoryIds()
795
+ );
796
+
797
+
798
+ form_data.append("initialPostsPerPage", 99999);
799
+ if (currentCategoryId && !loadedCategories.includes(currentCategoryId)) {
800
+ console.log('category was not yet loaded... getting posts now');
801
+ form_data.append("categoryIds", currentCategoryId);
802
+ loadedCategories.push(currentCategoryId);
803
+ console.log(currentCategoryId, '... added to loaded categories');
804
+ }
805
+ try {
806
+ const response = await fetch(ajaxUrl, {
807
+ method: "POST",
808
+ body: form_data,
809
+ credentials: "same-origin",
810
+ });
811
+
812
+ if (response.ok) {
813
+ const markup = await response.text();
814
+ const postData = JSON.parse(markup);
815
+ const post_objects = postData.posts;
816
+ const mergedArray = [
817
+ ...allPosts.items,
818
+ ...post_objects.filter(item2 => !allPosts.items.some(item1 => item1.id === item2.id)),
819
+ ];
820
+ allPosts.items = sortPosts(mergedArray);
821
+ setTimeout(() => {
822
+ reviews.init();
823
+ if (enableShopify) {
824
+ refreshShopifyBuyButtons();
825
+ }
826
+ }, 0);
827
+ isLoading.value = false;
828
+ }
829
+ } catch (e) {
830
+ console.error("Get listing error:", e);
831
+ }
832
+ };
833
+
834
+ const toggleActiveTopLevelCategory = async (id) => {
835
+ if (id == "placeholder") {
836
+ placeholderFilterStatus.value = true;
837
+ activeTopLevelCategories.value = [];
838
+ activeFilterCategories.value = [];
839
+ return;
840
+ }
841
+ if (filterLayout == 3) {
842
+ if (activeTopLevelCategories.value.find((categoryId) => categoryId == id)) {
843
+ activeTopLevelCategories.value = activeTopLevelCategories.value.filter(
844
+ (categoryId) => categoryId != id
845
+ );
846
+ } else {
847
+ if (singleActiveTopLevelCategory == 1) {
848
+ activeTopLevelCategories.value = [];
849
+ activeTopLevelCategories.value.push(id);
850
+ } else {
851
+ activeTopLevelCategories.value.push(id);
852
+ }
853
+ }
854
+ }
855
+ if (filterLayout == 4 && topLevelContainerStatus.value) {
856
+ placeholderFilterStatus.value = false;
857
+ activeTopLevelCategories.value = [];
858
+ activeTopLevelCategories.value.push(id);
859
+ activeFilterCategories.value = [];
860
+ activeFilterCategories.value.push(computedCategories.value.subCategories[id][0].term_id);
861
+ }
862
+ };
863
+
864
+ const refreshShopifyBuyButtons = () => {
865
+ postDataConfig.forEach((item) => {
866
+ if (item.acf_fc_layout === "shopify_add_to_cart") {
867
+ document.dispatchEvent(
868
+ new Event('shop-refresh')
869
+ )
870
+ }
871
+ })
872
+ }
873
+
874
+ onMounted(() => {
875
+ getLoadMoreStatusParam();
876
+ setupFilterLayout();
877
+ reservebarPopup();
878
+
879
+
880
+ setTimeout(() => {
881
+ if (enableShopify) {
882
+ shop.loadShops();
883
+ refreshShopifyBuyButtons();
884
+ }
885
+ loadMorePosts();
886
+ }, 500);
887
+ });
888
+ </script>