@total_onion/onion-library 3.2.0 → 3.2.2

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 (527) hide show
  1. package/.github/workflows/npm-publish.yml +38 -0
  2. package/.prettierrc +22 -0
  3. package/__spec__/copyBlockComponent.spec.js +94 -0
  4. package/__spec__/copyFile.spec.js +78 -0
  5. package/__spec__/copyFileKeeping.spec.js +74 -0
  6. package/__spec__/files/source.txt +1 -0
  7. package/__spec__/update-all-components.spec.js +99 -0
  8. package/__spec__/update-component.spec.js +165 -0
  9. package/assembleAssetList.js +69 -0
  10. package/breakpoints.scss +6 -0
  11. package/build-library.js +4 -0
  12. package/checkBuildAssets.js +17 -0
  13. package/components/block-accent-image-v3/accent-image-v3.js +7 -0
  14. package/components/block-accent-image-v3/accent-image-v3.scss +4 -0
  15. package/components/block-accent-image-v3/accent-image-v3.twig +137 -0
  16. package/components/block-accent-image-v3/group_6890e1233ff2d.json +81 -0
  17. package/components/block-accordion-v3/accordion-v3.js +119 -0
  18. package/components/block-accordion-v3/accordion-v3.scss +197 -0
  19. package/components/block-accordion-v3/accordion-v3.twig +51 -0
  20. package/components/block-accordion-v3/group_6888d2f0b230b.json +458 -0
  21. package/components/block-back-to-top-button-v3/back-to-top-button-v3.js +12 -0
  22. package/components/block-back-to-top-button-v3/back-to-top-button-v3.scss +68 -0
  23. package/components/block-back-to-top-button-v3/back-to-top-button-v3.twig +40 -0
  24. package/components/block-back-to-top-button-v3/group_63e24e04a1e61.json +323 -0
  25. package/components/block-betterreviews-display-v3/betterreviews-display-v3.js +10 -0
  26. package/components/block-betterreviews-display-v3/betterreviews-display-v3.scss +104 -0
  27. package/components/block-betterreviews-display-v3/betterreviews-display-v3.twig +24 -0
  28. package/components/block-betterreviews-display-v3/group_6892880fc1a00.json +182 -0
  29. package/components/block-block-interactions-v3/block-interactions-v3.js +53 -0
  30. package/components/block-block-interactions-v3/block-interactions-v3.scss +32 -0
  31. package/components/block-block-interactions-v3/block-interactions-v3.twig +55 -0
  32. package/components/block-block-interactions-v3/group_687e1575ba23d.json +700 -0
  33. package/components/block-carousel-multi-layout-v3/carousel-multi-layout-v3.js +243 -0
  34. package/components/block-carousel-multi-layout-v3/carousel-multi-layout-v3.scss +156 -0
  35. package/components/block-carousel-multi-layout-v3/carousel-multi-layout-v3.twig +146 -0
  36. package/components/block-carousel-multi-layout-v3/group_686bd42e551d6.json +578 -0
  37. package/components/block-cocktail-recipe-v3/cocktail-recipe-v3.js +127 -0
  38. package/components/block-cocktail-recipe-v3/cocktail-recipe-v3.scss +345 -0
  39. package/components/block-cocktail-recipe-v3/cocktail-recipe-v3.twig +93 -0
  40. package/components/block-cocktail-recipe-v3/group_68fff19fa4dd0.json +202 -0
  41. package/components/block-cover-link-v3/cover-link-v3.js +7 -0
  42. package/components/block-cover-link-v3/cover-link-v3.scss +10 -0
  43. package/components/block-cover-link-v3/cover-link-v3.twig +16 -0
  44. package/components/block-cover-link-v3/group_687192c28b7eb.json +96 -0
  45. package/components/block-divider-v3/divider-v3.js +8 -0
  46. package/components/block-divider-v3/divider-v3.scss +103 -0
  47. package/components/block-divider-v3/divider-v3.twig +45 -0
  48. package/components/block-divider-v3/group_686b919696bfe.json +891 -0
  49. package/components/block-featured-image-gallery-v3/featured-image-gallery-v3.js +44 -0
  50. package/components/block-featured-image-gallery-v3/featured-image-gallery-v3.scss +93 -0
  51. package/components/block-featured-image-gallery-v3/featured-image-gallery-v3.twig +43 -0
  52. package/components/block-featured-image-gallery-v3/group_5f91897095b42.json +88 -0
  53. package/components/block-form-selection-v3/form-selection-v3.js +78 -0
  54. package/components/block-form-selection-v3/form-selection-v3.scss +38 -0
  55. package/components/block-form-selection-v3/form-selection-v3.twig +84 -0
  56. package/components/block-form-selection-v3/group_68752e7949e53.json +351 -0
  57. package/components/block-gradient-layer-v3/gradient-layer-v3.js +7 -0
  58. package/components/block-gradient-layer-v3/gradient-layer-v3.scss +8 -0
  59. package/components/block-gradient-layer-v3/gradient-layer-v3.twig +78 -0
  60. package/components/block-gradient-layer-v3/group_686fdadc85df4.json +206 -0
  61. package/components/block-group-container-v3/group-container-v3.js +7 -0
  62. package/components/block-group-container-v3/group-container-v3.php +14 -0
  63. package/components/block-group-container-v3/group-container-v3.scss +45 -0
  64. package/components/block-group-container-v3/group-container-v3.twig +70 -0
  65. package/components/block-group-container-v3/group_6865578ada499.json +3660 -0
  66. package/components/block-lottie-content-v3/group_687197027216d.json +177 -0
  67. package/components/block-lottie-content-v3/lottie-content-v3.js +25 -0
  68. package/components/block-lottie-content-v3/lottie-content-v3.scss +2 -0
  69. package/components/block-lottie-content-v3/lottie-content-v3.twig +15 -0
  70. package/components/block-market-selector-v3/group_68752075dd831.json +129 -0
  71. package/components/block-market-selector-v3/market-selector-v3.js +7 -0
  72. package/components/block-market-selector-v3/market-selector-v3.scss +120 -0
  73. package/components/block-market-selector-v3/market-selector-v3.twig +40 -0
  74. package/components/block-modal-form-v3/modal-form-v3.js +59 -0
  75. package/components/block-modal-form-v3/modal-form-v3.scss +6 -0
  76. package/components/block-modal-form-v3/modal-form-v3.twig +30 -0
  77. package/components/block-nav-menu-container-v3/group_687e00b45e9a3.json +187 -0
  78. package/components/block-nav-menu-container-v3/nav-menu-container-v3.js +7 -0
  79. package/components/block-nav-menu-container-v3/nav-menu-container-v3.scss +3 -0
  80. package/components/block-nav-menu-container-v3/nav-menu-container-v3.twig +23 -0
  81. package/components/block-post-info-v3/group_6866429531436.json +3112 -0
  82. package/components/block-post-info-v3/post-info-v3/bazaarvoice-inline.twig +13 -0
  83. package/components/block-post-info-v3/post-info-v3/better-reviews.twig +15 -0
  84. package/components/block-post-info-v3/post-info-v3/divider.twig +8 -0
  85. package/components/block-post-info-v3/post-info-v3/drink-description.twig +10 -0
  86. package/components/block-post-info-v3/post-info-v3/global-image.twig +22 -0
  87. package/components/block-post-info-v3/post-info-v3/gradient-layer.twig +78 -0
  88. package/components/block-post-info-v3/post-info-v3/gradient-overlay.twig +10 -0
  89. package/components/block-post-info-v3/post-info-v3/post-author.twig +17 -0
  90. package/components/block-post-info-v3/post-info-v3/post-buy-now.twig +116 -0
  91. package/components/block-post-info-v3/post-info-v3/post-categories.twig +15 -0
  92. package/components/block-post-info-v3/post-info-v3/post-headline.twig +15 -0
  93. package/components/block-post-info-v3/post-info-v3/post-image.twig +47 -0
  94. package/components/block-post-info-v3/post-info-v3/post-info-description.twig +15 -0
  95. package/components/block-post-info-v3/post-info-v3/post-info-subtitle.twig +14 -0
  96. package/components/block-post-info-v3/post-info-v3/post-link.twig +42 -0
  97. package/components/block-post-info-v3/post-info-v3/post-name.twig +12 -0
  98. package/components/block-post-info-v3/post-info-v3/post-publish-date.twig +12 -0
  99. package/components/block-post-info-v3/post-info-v3/post-tags.twig +24 -0
  100. package/components/block-post-info-v3/post-info-v3/post-text-alternative-style.twig +16 -0
  101. package/components/block-post-info-v3/post-info-v3/post-title.twig +15 -0
  102. package/components/block-post-info-v3/post-info-v3/post-video.twig +27 -0
  103. package/components/block-post-info-v3/post-info-v3/reservebar-add-to-cart.twig +32 -0
  104. package/components/block-post-info-v3/post-info-v3/shopify-add-to-cart.twig +31 -0
  105. package/components/block-post-info-v3/post-info-v3/social-networks.twig +33 -0
  106. package/components/block-post-info-v3/post-info-v3/spacer-v3.twig +9 -0
  107. package/components/block-post-info-v3/post-info-v3.js +10 -0
  108. package/components/block-post-info-v3/post-info-v3.scss +210 -0
  109. package/components/block-post-info-v3/post-info-v3.twig +67 -0
  110. package/components/block-product-info-v3/group_68909995b6550.json +3544 -0
  111. package/components/block-product-info-v3/product-info-v3/product-abv.twig +14 -0
  112. package/components/block-product-info-v3/product-info-v3/product-cask-type-label.twig +14 -0
  113. package/components/block-product-info-v3/product-info-v3/product-cask-type.twig +14 -0
  114. package/components/block-product-info-v3/product-info-v3/product-colour-label.twig +14 -0
  115. package/components/block-product-info-v3/product-info-v3/product-colour.twig +14 -0
  116. package/components/block-product-info-v3/product-info-v3/product-description.twig +14 -0
  117. package/components/block-product-info-v3/product-info-v3/product-finish-label.twig +14 -0
  118. package/components/block-product-info-v3/product-info-v3/product-finish.twig +14 -0
  119. package/components/block-product-info-v3/product-info-v3/product-headline.twig +14 -0
  120. package/components/block-product-info-v3/product-info-v3/product-image.twig +43 -0
  121. package/components/block-product-info-v3/product-info-v3/product-name.twig +14 -0
  122. package/components/block-product-info-v3/product-info-v3/product-nose-label.twig +14 -0
  123. package/components/block-product-info-v3/product-info-v3/product-nose.twig +14 -0
  124. package/components/block-product-info-v3/product-info-v3/product-pair-with-label.twig +14 -0
  125. package/components/block-product-info-v3/product-info-v3/product-pair-with.twig +14 -0
  126. package/components/block-product-info-v3/product-info-v3/product-palate-label.twig +14 -0
  127. package/components/block-product-info-v3/product-info-v3/product-palate.twig +14 -0
  128. package/components/block-product-info-v3/product-info-v3/product-taste-label.twig +14 -0
  129. package/components/block-product-info-v3/product-info-v3/product-taste.twig +14 -0
  130. package/components/block-product-info-v3/product-info-v3/product-volume.twig +14 -0
  131. package/components/block-product-info-v3/product-info-v3/spacer-v3.twig +9 -0
  132. package/components/block-product-info-v3/product-info-v3.js +7 -0
  133. package/components/block-product-info-v3/product-info-v3.scss +171 -0
  134. package/components/block-product-info-v3/product-info-v3.twig +43 -0
  135. package/components/block-raw-html-v3/group_686ba68d603a2.json +212 -0
  136. package/components/block-raw-html-v3/raw-html-v3.js +7 -0
  137. package/components/block-raw-html-v3/raw-html-v3.scss +2 -0
  138. package/components/block-raw-html-v3/raw-html-v3.twig +17 -0
  139. package/components/block-responsive-table-v3/group_6617ecc987ddd.json +394 -0
  140. package/components/block-responsive-table-v3/responsive-table-v3.js +7 -0
  141. package/components/block-responsive-table-v3/responsive-table-v3.scss +49 -0
  142. package/components/block-responsive-table-v3/responsive-table-v3.twig +47 -0
  143. package/components/block-scrolling-banner-v3/group_68e67fca1ec80.json +664 -0
  144. package/components/block-scrolling-banner-v3/scrolling-banner-v3.js +144 -0
  145. package/components/block-scrolling-banner-v3/scrolling-banner-v3.scss +104 -0
  146. package/components/block-scrolling-banner-v3/scrolling-banner-v3.twig +72 -0
  147. package/components/block-section-separator-v3/group_6874c8d79b84b.json +576 -0
  148. package/components/block-section-separator-v3/section-separator-v3.js +7 -0
  149. package/components/block-section-separator-v3/section-separator-v3.scss +42 -0
  150. package/components/block-section-separator-v3/section-separator-v3.twig +46 -0
  151. package/components/block-single-column-container-v3/group_6887640458d61.json +481 -0
  152. package/components/block-single-column-container-v3/single-column-container-v3.js +7 -0
  153. package/components/block-single-column-container-v3/single-column-container-v3.scss +14 -0
  154. package/components/block-single-column-container-v3/single-column-container-v3.twig +30 -0
  155. package/components/block-single-responsive-image-v3/group_6867bcf24c2fc.json +128 -0
  156. package/components/block-single-responsive-image-v3/single-responsive-image-v3.js +7 -0
  157. package/components/block-single-responsive-image-v3/single-responsive-image-v3.scss +9 -0
  158. package/components/block-single-responsive-image-v3/single-responsive-image-v3.twig +24 -0
  159. package/components/block-site-copyright-notice-v3/group_66296c3716b4f.json +304 -0
  160. package/components/block-site-copyright-notice-v3/index.html +33 -0
  161. package/components/block-site-copyright-notice-v3/site-copyright-notice-v3.js +58 -0
  162. package/components/block-site-copyright-notice-v3/site-copyright-notice-v3.scss +21 -0
  163. package/components/block-site-copyright-notice-v3/site-copyright-notice-v3.twig +30 -0
  164. package/components/block-site-logo-container-v3/group_687e3b887b508.json +175 -0
  165. package/components/block-site-logo-container-v3/site-logo-container-v3.js +7 -0
  166. package/components/block-site-logo-container-v3/site-logo-container-v3.scss +29 -0
  167. package/components/block-site-logo-container-v3/site-logo-container-v3.twig +40 -0
  168. package/components/block-site-title-and-tagline-v3/site-title-and-tagline-v3.js +7 -0
  169. package/components/block-site-title-and-tagline-v3/site-title-and-tagline-v3.scss +16 -0
  170. package/components/block-site-title-and-tagline-v3/site-title-and-tagline-v3.twig +24 -0
  171. package/components/block-smash-balloon-social-media-v3/smash-balloon-social-media-v3.js +8 -0
  172. package/components/block-smash-balloon-social-media-v3/smash-balloon-social-media-v3.scss +31 -0
  173. package/components/block-smash-balloon-social-media-v3/smash-balloon-social-media-v3.twig +18 -0
  174. package/components/block-social-networks-v3/group_6891d4d7db414.json +146 -0
  175. package/components/block-social-networks-v3/social-networks-v3.js +7 -0
  176. package/components/block-social-networks-v3/social-networks-v3.scss +7 -0
  177. package/components/block-social-networks-v3/social-networks-v3.twig +24 -0
  178. package/components/block-spacer-v3/group_686b8cb48c708.json +131 -0
  179. package/components/block-spacer-v3/spacer-v3.js +8 -0
  180. package/components/block-spacer-v3/spacer-v3.scss +19 -0
  181. package/components/block-spacer-v3/spacer-v3.twig +13 -0
  182. package/components/block-spotify-embed-v3/group_67d04c4c4cf78.json +120 -0
  183. package/components/block-spotify-embed-v3/spotify-embed-v3.js +7 -0
  184. package/components/block-spotify-embed-v3/spotify-embed-v3.scss +11 -0
  185. package/components/block-spotify-embed-v3/spotify-embed-v3.twig +23 -0
  186. package/components/block-standard-content-v3/group_68655756737c9.json +344 -0
  187. package/components/block-standard-content-v3/standard-content-v3.js +39 -0
  188. package/components/block-standard-content-v3/standard-content-v3.scss +11 -0
  189. package/components/block-standard-content-v3/standard-content-v3.twig +46 -0
  190. package/components/block-sticky-buy-cta-v3/group_68b061bb56543.json +172 -0
  191. package/components/block-sticky-buy-cta-v3/sticky-buy-cta-v3.js +7 -0
  192. package/components/block-sticky-buy-cta-v3/sticky-buy-cta-v3.scss +2 -0
  193. package/components/block-sticky-buy-cta-v3/sticky-buy-cta-v3.twig +92 -0
  194. package/components/block-sub-group-container-v3/group_686ceba7d6066.json +2142 -0
  195. package/components/block-sub-group-container-v3/sub-group-container-v3.js +9 -0
  196. package/components/block-sub-group-container-v3/sub-group-container-v3.scss +27 -0
  197. package/components/block-sub-group-container-v3/sub-group-container-v3.twig +59 -0
  198. package/components/block-video-content-v3/group_687190b8d26df.json +169 -0
  199. package/components/block-video-content-v3/video-content-v3.js +12 -0
  200. package/components/block-video-content-v3/video-content-v3.scss +123 -0
  201. package/components/block-video-content-v3/video-content-v3.twig +26 -0
  202. package/components/component-accent-image-v3/accent-image-v3.twig +119 -0
  203. package/components/component-accent-image-v3/group_686cd5547efd2.json +975 -0
  204. package/components/component-accent-text-v3/accent-text-v3-extra.scss +2 -0
  205. package/components/component-accent-text-v3/accent-text-v3.scss +60 -0
  206. package/components/component-accent-text-v3/group_686b91fed8f5f.json +220 -0
  207. package/components/component-accordion-v3/accordion-v3.js +113 -0
  208. package/components/component-accordion-v3/accordion-v3.scss +189 -0
  209. package/components/component-accordion-v3/accordion-v3.twig +39 -0
  210. package/components/component-accordion-v3/group_66ab7edfc6d63.json +535 -0
  211. package/components/component-animations-style-v3/animations-style-v3.twig +5 -0
  212. package/components/component-animations-v3/animations-v3.scss +161 -0
  213. package/components/component-animations-v3/animations-v3.twig +19 -0
  214. package/components/component-animations-v3/group_689f39c37980a.json +499 -0
  215. package/components/component-better-reviews-v3/better-reviews-v3.scss +137 -0
  216. package/components/component-block-padding-v3/block-padding-v3.scss +64 -0
  217. package/components/component-block-padding-v3/block-padding-v3.twig +33 -0
  218. package/components/component-block-padding-v3/group_689f66f3e26df.json +535 -0
  219. package/components/component-block-settings-v3/block-settings-v3.scss +46 -0
  220. package/components/component-block-settings-v3/block-settings-v3.twig +34 -0
  221. package/components/component-block-settings-v3/group_689f649af2ac4.json +983 -0
  222. package/components/component-blockquote-v3/blockquote-v3.scss +54 -0
  223. package/components/component-box-shadow-v3/box-shadow-v3.scss +12 -0
  224. package/components/component-buy-now-button-v3/buy-now-buttons-v3.twig +69 -0
  225. package/components/component-carousel-fields-v3/group_686fd30f4d873.json +3025 -0
  226. package/components/component-child-block-video-fields/group_6852a4f384204.json +536 -0
  227. package/components/component-content-box-settings-v3/content-box-settings-v3.scss +205 -0
  228. package/components/component-content-box-settings-v3/content-box-settings-v3.twig +156 -0
  229. package/components/component-content-box-settings-v3/group_686e6ec702acc.json +1729 -0
  230. package/components/component-content-box-v3/content-box-v3.js +6 -0
  231. package/components/component-content-box-v3/content-box-v3.scss +28 -0
  232. package/components/component-content-box-v3/content-box-v3.twig +23 -0
  233. package/components/component-content-box-v3/group_686b8a4f1fe5d.json +568 -0
  234. package/components/component-content-image-v3/content-image-v3.scss +33 -0
  235. package/components/component-content-image-v3/content-image-v3.twig +77 -0
  236. package/components/component-content-image-v3/group_68722935c428f.json +647 -0
  237. package/components/component-core-body-close-v3/core-body-close-v3.twig +2 -0
  238. package/components/component-core-body-open-v3/core-body-open-v3.twig +32 -0
  239. package/components/component-core-group-container-styles-v3/core-group-container-styles-v3.scss +48 -0
  240. package/components/component-core-head-v3/core-head-v3.twig +62 -0
  241. package/components/component-cta-selection-v3/cta-selection-v3.twig +256 -0
  242. package/components/component-cta-selection-v3/group_686e93eb832a6.json +1117 -0
  243. package/components/component-e-shop-settings-v3/e-shop-settings-v3.twig +114 -0
  244. package/components/component-element-positioning-v3/element-positioning-v3.scss +41 -0
  245. package/components/component-element-positioning-v3/element-positioning-v3.twig +42 -0
  246. package/components/component-element-positioning-v3/group_6882281544263.json +635 -0
  247. package/components/component-endpoints/endpoints.php +32 -0
  248. package/components/component-flex-layout-container-v3/flex-layout-container-v3.scss +38 -0
  249. package/components/component-flex-layout-container-v3/flex-layout-container-v3.twig +28 -0
  250. package/components/component-flex-layout-container-v3/group_6887a026bbc33.json +773 -0
  251. package/components/component-global-content-max-width-v3/global-content-max-width-v3.twig +10 -0
  252. package/components/component-global-content-max-width-v3/group_63c83de4f0a99.json +58 -0
  253. package/components/component-gradient-overlay-v3/gradient-overlay-v3.scss +43 -0
  254. package/components/component-gradient-overlay-v3/gradient-overlay-v3.twig +58 -0
  255. package/components/component-gradient-overlay-v3/group_686fd9ca50b63.json +495 -0
  256. package/components/component-grid-gap-mults-v3/grid-gap-mults-v3.twig +10 -0
  257. package/components/component-grid-gap-mults-v3/group_689221b94ce69.json +220 -0
  258. package/components/component-grid-layout-container-v3/grid-layout-container-v3.scss +154 -0
  259. package/components/component-grid-layout-container-v3/grid-layout-container-v3.twig +88 -0
  260. package/components/component-grid-layout-container-v3/group_6882282e65bf2.json +1525 -0
  261. package/components/component-grid-layout-element-v3/grid-layout-element-v3.scss +47 -0
  262. package/components/component-grid-layout-element-v3/grid-layout-element-v3.twig +23 -0
  263. package/components/component-grid-layout-element-v3/group_68822860bda9f.json +728 -0
  264. package/components/component-nav-menu-v3/group_68da703f710ff.json +432 -0
  265. package/components/component-nav-menu-v3/nav-menu-v3.scss +43 -0
  266. package/components/component-nav-menu-v3/nav-menu-v3.twig +75 -0
  267. package/components/component-responsive-image-v3/group_6867bc53f1da8.json +1515 -0
  268. package/components/component-responsive-image-v3/responsive-image-v3.scss +63 -0
  269. package/components/component-responsive-image-v3/responsive-image-v3.twig +71 -0
  270. package/components/component-responsive-picture-element-v3/responsive-picture-element-v3.twig +35 -0
  271. package/components/component-responsive-show-hide/responsive-show-hide-v3.twig +9 -0
  272. package/components/component-social-media-share-v3/social-media-share-v3-extra.scss +6 -0
  273. package/components/component-social-media-share-v3/social-media-share-v3.scss +131 -0
  274. package/components/component-social-networks-v3/social-networks-v3.scss +73 -0
  275. package/components/component-social-networks-v3/social-networks-v3.twig +43 -0
  276. package/components/component-text-editor-settings-container-classes-v3/text-editor-settings-container-classes-v3.twig +9 -0
  277. package/components/component-text-editor-settings-element-classes-v3/text-editor-settings-element-classes-v3.twig +13 -0
  278. package/components/component-text-editor-settings-v3/group_687a4e2334e37.json +1377 -0
  279. package/components/component-text-editor-settings-variables-v3/text-editor-settings-variables-v3.twig +61 -0
  280. package/components/component-video-component-v3/video-component-v3.twig +90 -0
  281. package/components/component-video-fields-v3/group_6872282f44634.json +1013 -0
  282. package/components/component-video-trigger-button-v3/video-trigger-button-v3.twig +14 -0
  283. package/components/component-wysiwyg-editor-v3/group_6867e153af466.json +127 -0
  284. package/components/component-wysiwyg-editor-v3/wysiwyg-editor-v3.twig +18 -0
  285. package/components/core-block-editor-assets-v3/core-block-editor-assets-v3.php +14 -0
  286. package/components/core-core-block-render-function-v3/core-block-render-function-v3.php +39 -0
  287. package/components/core-core-design-settings-v3/core-design-settings-v3.php +43 -0
  288. package/components/core-core-post-overrides-v3/core-post-overrides-v3.php +21 -0
  289. package/components/core-core-themes/core-themes-v3.php +68 -0
  290. package/components/core-core-typography-v3/core-typography-v3.php +239 -0
  291. package/components/core-globals/globals.php +39 -0
  292. package/components/entrypoint-entry-point-classes-v3/entry-point-classes-v3.twig +12 -0
  293. package/components/entrypoint-entry-point-html-v3/entry-point-html-v3.twig +19 -0
  294. package/components/entrypoint-entry-point-style-v3/entry-point-style-v3.twig +11 -0
  295. package/components/fields-acf-wysiwyg-options-v3/acf-wysiwyg-options-v3.php +221 -0
  296. package/components/fields-animations-v3/animations-v3.scss +127 -0
  297. package/components/fields-archive-pages-v3/group_635e777ce46d4.json +150 -0
  298. package/components/fields-cocktail-info-v3/group_64c29b7f188ca.json +686 -0
  299. package/components/fields-content-container-settings-v3/content-container-settings-v3.scss +213 -0
  300. package/components/fields-content-container-v3/content-container-v3.js +96 -0
  301. package/components/fields-content-container-v3/content-container-v3.scss +31 -0
  302. package/components/fields-core-critical-v3/core-critical-v3.scss +13 -0
  303. package/components/fields-core-css-modules-v3/core-css-modules-v3.scss +13 -0
  304. package/components/fields-core-css-sizing-vars-v3/core-css-sizing-vars-v3.scss +125 -0
  305. package/components/fields-core-cta-v3/core-cta-v3.scss +276 -0
  306. package/components/fields-core-functions-v3/core-functions-v3.scss +30 -0
  307. package/components/fields-core-generic-v3/core-generic-v3.scss +299 -0
  308. package/components/fields-core-mixins-v3/core-mixins-v3.scss +744 -0
  309. package/components/fields-core-root-variables-v3/core-root-variables-v3.scss +47 -0
  310. package/components/fields-core-typography-mixins-v3/core-typography-mixins-v3.scss +1080 -0
  311. package/components/fields-core-typography-v3/core-typography-v3.scss +457 -0
  312. package/components/fields-core-wordpress-block-editor-preview-v3/core-wordpress-block-editor-preview-v3.js +270 -0
  313. package/components/fields-core-wordpress-block-editor-preview-v3/core-wordpress-block-editor-preview-v3.scss +106 -0
  314. package/components/fields-drink-responsibly-notice-v3/group_68751257883ad.json +266 -0
  315. package/components/fields-dynamic-critical-css-v3/group_65abcd463e8d0.json +126 -0
  316. package/components/fields-e-shop-settings-v3/e-shop-settings-v3.twig +87 -0
  317. package/components/fields-e-shop-settings-v3/group_650b24b4e623d.json +803 -0
  318. package/components/fields-global-preload-v3/group_65e0bd35e781b.json +289 -0
  319. package/components/fields-image-management-service-v3/group_677813165b633.json +149 -0
  320. package/components/fields-ingredients-list/group_6900f19dadebf.json +225 -0
  321. package/components/fields-modal-popup-content-v3/group_689876f1ee3fc.json +403 -0
  322. package/components/fields-modal-popup-content-v3/modal-popup-content-v3.twig +18 -0
  323. package/components/fields-post-info-v3/group_6867bbe167dd2.json +1089 -0
  324. package/components/fields-product-info-v3/group_689098dd3a131.json +721 -0
  325. package/components/fields-upload-filesize-limit-v3/group_659d259760a1d.json +56 -0
  326. package/components/fields-video-management-services-v3/group_67b4cac05cb30.json +146 -0
  327. package/components/webc-counter-display/counter-display.css +2 -0
  328. package/components/webc-counter-display/counter-display.html +5 -0
  329. package/components/webc-counter-display/counter-display.js +30 -0
  330. package/components/webc-counter-display/index.html +30 -0
  331. package/components/webc-layout-container/index.html +108 -0
  332. package/components/webc-layout-container/layout-container.css +9 -0
  333. package/components/webc-layout-container/layout-container.html +5 -0
  334. package/components/webc-layout-container/layout-container.js +22 -0
  335. package/components/webc-loadmore-trigger/index.html +30 -0
  336. package/components/webc-loadmore-trigger/loadmore-trigger.css +20 -0
  337. package/components/webc-loadmore-trigger/loadmore-trigger.html +6 -0
  338. package/components/webc-loadmore-trigger/loadmore-trigger.js +34 -0
  339. package/components/webc-post-carousel-display-module/index.html +30 -0
  340. package/components/webc-post-carousel-display-module/post-carousel-display-module.css +36 -0
  341. package/components/webc-post-carousel-display-module/post-carousel-display-module.html +5 -0
  342. package/components/webc-post-carousel-display-module/post-carousel-display-module.js +48 -0
  343. package/components/webc-post-filter-module/dev-content/amber.webp +0 -0
  344. package/components/webc-post-filter-module/dev-content/bluey.webp +0 -0
  345. package/components/webc-post-filter-module/dev-content/chucky-vanille.webp +0 -0
  346. package/components/webc-post-filter-module/dev-content/dev-content.js +347 -0
  347. package/components/webc-post-filter-module/dev-content/dev-contentlocal.js +362 -0
  348. package/components/webc-post-filter-module/dev-content/fat-gigio-basket-life.webp +0 -0
  349. package/components/webc-post-filter-module/dev-content/fat-gigio-kitten.webp +0 -0
  350. package/components/webc-post-filter-module/dev-content/fat-gigio-sleepy.webp +0 -0
  351. package/components/webc-post-filter-module/dev-content/kai-lounging.webp +0 -0
  352. package/components/webc-post-filter-module/dev-content/kai-selfie.webp +0 -0
  353. package/components/webc-post-filter-module/dev-content/kai.webp +0 -0
  354. package/components/webc-post-filter-module/dev-content/lulu-mad.webp +0 -0
  355. package/components/webc-post-filter-module/dev-content/lulu-serious.webp +0 -0
  356. package/components/webc-post-filter-module/dev-content/martha-on-the-mat.webp +0 -0
  357. package/components/webc-post-filter-module/dev-content/max-on-the-mat.webp +0 -0
  358. package/components/webc-post-filter-module/dev-content/mephy-dreams-of-mice.webp +0 -0
  359. package/components/webc-post-filter-module/dev-content/mr-business-doing-work.webp +0 -0
  360. package/components/webc-post-filter-module/dev-content/mr-business-on-top.webp +0 -0
  361. package/components/webc-post-filter-module/dev-content/peanut-keeping-an-eye.webp +0 -0
  362. package/components/webc-post-filter-module/dev-content/pete-at-work.webp +0 -0
  363. package/components/webc-post-filter-module/dev-content/pete-bath.webp +0 -0
  364. package/components/webc-post-filter-module/dev-content/pete-dinosaur.webp +0 -0
  365. package/components/webc-post-filter-module/dev-content/pete-lawn.webp +0 -0
  366. package/components/webc-post-filter-module/dev-content/pete-snacks.webp +0 -0
  367. package/components/webc-post-filter-module/dev-content/ramses-kitten.webp +0 -0
  368. package/components/webc-post-filter-module/dev-content/ramses-school-day.webp +0 -0
  369. package/components/webc-post-filter-module/dev-content/ramses-tired.webp +0 -0
  370. package/components/webc-post-filter-module/dev-content/remy-garden-contemplation.webp +0 -0
  371. package/components/webc-post-filter-module/dev-content/sky-field.webp +0 -0
  372. package/components/webc-post-filter-module/dev-content/sky-luxury-2.webp +0 -0
  373. package/components/webc-post-filter-module/dev-content/sky-luxury.webp +0 -0
  374. package/components/webc-post-filter-module/dev-content/sky-puppy-good-dog.webp +0 -0
  375. package/components/webc-post-filter-module/dev-content/sky-puppy-pose.webp +0 -0
  376. package/components/webc-post-filter-module/dev-content/sky-security.webp +0 -0
  377. package/components/webc-post-filter-module/dev-content/vanille-asleep.webp +0 -0
  378. package/components/webc-post-filter-module/dev-content/vanille-bass.webp +0 -0
  379. package/components/webc-post-filter-module/dev-content/vanille-party.webp +0 -0
  380. package/components/webc-post-filter-module/dev-content/vanille-puppy-eyes.webp +0 -0
  381. package/components/webc-post-filter-module/dev-content/vanille-puppy.webp +0 -0
  382. package/components/webc-post-filter-module/index.html +30 -0
  383. package/components/webc-post-filter-module/post-filter-module.css +59 -0
  384. package/components/webc-post-filter-module/post-filter-module.html +13 -0
  385. package/components/webc-post-filter-module/post-filter-module.js +359 -0
  386. package/components/webc-post-filter-module-no-group/index.html +30 -0
  387. package/components/webc-post-filter-module-no-group/post-filter-module-no-group.css +59 -0
  388. package/components/webc-post-filter-module-no-group/post-filter-module-no-group.html +13 -0
  389. package/components/webc-post-filter-module-no-group/post-filter-module-no-group.js +312 -0
  390. package/components/webc-post-grid-display-module/index.html +30 -0
  391. package/components/webc-post-grid-display-module/post-grid-display-module.css +42 -0
  392. package/components/webc-post-grid-display-module/post-grid-display-module.html +6 -0
  393. package/components/webc-post-grid-display-module/post-grid-display-module.js +48 -0
  394. package/components/webc-ptfg-9000/index.html +108 -0
  395. package/components/webc-ptfg-9000/ptfg-9000.css +14 -0
  396. package/components/webc-ptfg-9000/ptfg-9000.html +1 -0
  397. package/components/webc-ptfg-9000/ptfg-9000.js +42 -0
  398. package/components/webc-responsive-image/index.html +108 -0
  399. package/components/webc-responsive-image/layout-container.css +9 -0
  400. package/components/webc-responsive-image/layout-container.js +22 -0
  401. package/components/webc-responsive-image/responsive-image.html +15 -0
  402. package/components/webc-slot-test/slot-test.html +25 -0
  403. package/components/webc-text-input-trigger/index.html +30 -0
  404. package/components/webc-text-input-trigger/text-input-trigger.css +6 -0
  405. package/components/webc-text-input-trigger/text-input-trigger.html +4 -0
  406. package/components/webc-text-input-trigger/text-input-trigger.js +33 -0
  407. package/components/webc-toggle-trigger/index.html +30 -0
  408. package/components/webc-toggle-trigger/toggle-trigger.css +13 -0
  409. package/components/webc-toggle-trigger/toggle-trigger.html +8 -0
  410. package/components/webc-toggle-trigger/toggle-trigger.js +53 -0
  411. package/createDynamicBlockScss-v3.js +25 -0
  412. package/createJsAssets-v3.js +35 -0
  413. package/createJsAssets.js +31 -0
  414. package/createNewBlock.js +131 -0
  415. package/createNewChildBlock2.js +140 -0
  416. package/createPreviewScss.js +35 -0
  417. package/datalayer-tools.mjs +2 -0
  418. package/duplicateBlock.js +123 -0
  419. package/esbuild.mjs +87 -0
  420. package/exportAllBlocks.js +147 -0
  421. package/exportBlock.js +109 -0
  422. package/exportChildBlock.js +102 -0
  423. package/exportCustomCachesToLibrary.js +76 -0
  424. package/exportEntrypointToLibrary.js +79 -0
  425. package/exportImagesToLibrary.js +68 -0
  426. package/exportSEOExtrasToLibrary.js +76 -0
  427. package/exportToLibrary.js +551 -0
  428. package/importBlock.js +92 -0
  429. package/importChildBlock.js +76 -0
  430. package/install-component.js +204 -0
  431. package/list-components.js +9 -0
  432. package/new-block-templates/template-acf-pattern.js +30 -0
  433. package/new-block-templates/template-block-json.js +37 -0
  434. package/new-block-templates/template-default.js +24 -0
  435. package/new-block-templates/template-js-blank.js +12 -0
  436. package/new-block-templates/template-scss-blank.js +6 -0
  437. package/no-audio.vtt +4 -0
  438. package/onion-loader-dev.js +260 -0
  439. package/onion-loader-local.js +222 -0
  440. package/onion-loader-v2.js +285 -0
  441. package/onion-loader.js +14 -22
  442. package/package.json +1 -9
  443. package/public/.gitkeep +0 -0
  444. package/public/assetList.mjs +3 -0
  445. package/public/block-accent-image-v3/accent-image-v3.css +2 -0
  446. package/public/block-accent-image-v3/accent-image-v3.js +7 -0
  447. package/public/block-accordion-v3/accordion-v3.css +380 -0
  448. package/public/block-accordion-v3/accordion-v3.js +117 -0
  449. package/public/block-back-to-top-button-v3/back-to-top-button-v3.css +64 -0
  450. package/public/block-back-to-top-button-v3/back-to-top-button-v3.js +12 -0
  451. package/public/block-betterreviews-display-v3/betterreviews-display-v3.css +95 -0
  452. package/public/block-betterreviews-display-v3/betterreviews-display-v3.js +7 -0
  453. package/public/block-block-interactions-v3/block-interactions-v3.css +36 -0
  454. package/public/block-block-interactions-v3/block-interactions-v3.js +44 -0
  455. package/public/block-carousel-multi-layout-v3/carousel-multi-layout-v3.css +187 -0
  456. package/public/block-carousel-multi-layout-v3/carousel-multi-layout-v3.js +185 -0
  457. package/public/block-cocktail-recipe-v3/cocktail-recipe-v3.css +268 -0
  458. package/public/block-cocktail-recipe-v3/cocktail-recipe-v3.js +95 -0
  459. package/public/block-cover-link-v3/cover-link-v3.css +8 -0
  460. package/public/block-cover-link-v3/cover-link-v3.js +7 -0
  461. package/public/block-divider-v3/divider-v3.css +74 -0
  462. package/public/block-divider-v3/divider-v3.js +7 -0
  463. package/public/block-featured-image-gallery-v3/featured-image-gallery-v3.css +98 -0
  464. package/public/block-featured-image-gallery-v3/featured-image-gallery-v3.js +44 -0
  465. package/public/block-form-selection-v3/form-selection-v3.css +31 -0
  466. package/public/block-form-selection-v3/form-selection-v3.js +61 -0
  467. package/public/block-gradient-layer-v3/gradient-layer-v3.css +45 -0
  468. package/public/block-gradient-layer-v3/gradient-layer-v3.js +7 -0
  469. package/public/block-group-container-v3/group-container-v3.css +303 -0
  470. package/public/block-group-container-v3/group-container-v3.js +7 -0
  471. package/public/block-lottie-content-v3/lottie-content-v3.css +0 -0
  472. package/public/block-lottie-content-v3/lottie-content-v3.js +25 -0
  473. package/public/block-market-selector-v3/market-selector-v3.css +136 -0
  474. package/public/block-market-selector-v3/market-selector-v3.js +7 -0
  475. package/public/block-modal-form-v3/modal-form-v3.css +0 -0
  476. package/public/block-modal-form-v3/modal-form-v3.js +48 -0
  477. package/public/block-nav-menu-container-v3/nav-menu-container-v3.css +3 -0
  478. package/public/block-nav-menu-container-v3/nav-menu-container-v3.js +7 -0
  479. package/public/block-post-info-v3/post-info-v3.css +1148 -0
  480. package/public/block-post-info-v3/post-info-v3.js +7 -0
  481. package/public/block-post-type-filter-grid-v3/post-type-filter-grid-v3.css +873 -0
  482. package/public/block-post-type-filter-grid-v3/post-type-filter-grid-v3.js +13 -0
  483. package/public/block-product-info-v3/product-info-v3.css +846 -0
  484. package/public/block-product-info-v3/product-info-v3.js +7 -0
  485. package/public/block-raw-html-v3/raw-html-v3.css +0 -0
  486. package/public/block-raw-html-v3/raw-html-v3.js +7 -0
  487. package/public/block-responsive-table-v3/responsive-table-v3.css +50 -0
  488. package/public/block-responsive-table-v3/responsive-table-v3.js +7 -0
  489. package/public/block-scrolling-banner-v3/scrolling-banner-v3.css +93 -0
  490. package/public/block-scrolling-banner-v3/scrolling-banner-v3.js +118 -0
  491. package/public/block-section-separator-v3/section-separator-v3.css +43 -0
  492. package/public/block-section-separator-v3/section-separator-v3.js +7 -0
  493. package/public/block-single-column-container-v3/single-column-container-v3.css +14 -0
  494. package/public/block-single-column-container-v3/single-column-container-v3.js +7 -0
  495. package/public/block-single-responsive-image-v3/single-responsive-image-v3.css +61 -0
  496. package/public/block-single-responsive-image-v3/single-responsive-image-v3.js +7 -0
  497. package/public/block-site-copyright-notice-v3/site-copyright-notice-v3.css +20 -0
  498. package/public/block-site-copyright-notice-v3/site-copyright-notice-v3.js +44 -0
  499. package/public/block-site-logo-container-v3/site-logo-container-v3.css +18 -0
  500. package/public/block-site-logo-container-v3/site-logo-container-v3.js +7 -0
  501. package/public/block-site-title-and-tagline-v3/site-title-and-tagline-v3.css +12 -0
  502. package/public/block-site-title-and-tagline-v3/site-title-and-tagline-v3.js +7 -0
  503. package/public/block-smash-balloon-social-media-v3/smash-balloon-social-media-v3.css +25 -0
  504. package/public/block-smash-balloon-social-media-v3/smash-balloon-social-media-v3.js +8 -0
  505. package/public/block-social-networks-v3/social-networks-v3.css +74 -0
  506. package/public/block-social-networks-v3/social-networks-v3.js +7 -0
  507. package/public/block-spacer-v3/spacer-v3.css +16 -0
  508. package/public/block-spacer-v3/spacer-v3.js +2 -0
  509. package/public/block-spotify-embed-v3/spotify-embed-v3.css +7 -0
  510. package/public/block-spotify-embed-v3/spotify-embed-v3.js +7 -0
  511. package/public/block-standard-content-v3/standard-content-v3.css +423 -0
  512. package/public/block-standard-content-v3/standard-content-v3.js +7 -0
  513. package/public/block-sticky-buy-cta-v3/sticky-buy-cta-v3.css +0 -0
  514. package/public/block-sticky-buy-cta-v3/sticky-buy-cta-v3.js +7 -0
  515. package/public/block-sub-group-container-v3/sub-group-container-v3.css +288 -0
  516. package/public/block-sub-group-container-v3/sub-group-container-v3.js +2 -0
  517. package/public/block-video-content-v3/video-content-v3.css +102 -0
  518. package/public/block-video-content-v3/video-content-v3.js +11 -0
  519. package/public/dynamicBlockScss-v3.css +6392 -0
  520. package/public/dynamicBlockScss-v3.scss +37 -0
  521. package/public/jsAssets.mjs +4 -0
  522. package/public/publicBundleBase.css +4742 -0
  523. package/public/publicBundleBase.scss +11 -0
  524. package/removeBlock.js +124 -0
  525. package/update-all-components.js +96 -0
  526. package/update-component.js +538 -0
  527. package/update-template.js +538 -0
@@ -0,0 +1,108 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <link rel="stylesheet" href="../../public/publicBundleBase.css" />
7
+ <link rel="stylesheet" href="./ptfg-9000.css" />
8
+ <link rel="stylesheet" href="../webc-toggle-trigger/toggle-trigger.css" />
9
+ <link rel="stylesheet" href="../webc-text-input-trigger/text-input-trigger.css" />
10
+ <link rel="stylesheet" href="../webc-loadmore-trigger/loadmore-trigger.css" />
11
+ <link
12
+ rel="stylesheet"
13
+ href="../webc-post-filter-module/post-filter-module.css"
14
+ />
15
+ <link
16
+ rel="stylesheet"
17
+ href="../webc-post-carousel-display-module/post-carousel-display-module.css"
18
+ />
19
+ <title>PTFG</title>
20
+ </head>
21
+ <body>
22
+ <ptfg-9000
23
+ class="ptfg-9000 ptfg-9000__main-container cmpl-block-padding"
24
+ data-assetkey="ptfg-9000"
25
+ >
26
+ <post-filter-module
27
+ id="filter-module"
28
+ data-dataobjectid=""
29
+ data-dev="true"
30
+ data-devdatalocation="local"
31
+ class="post-filter-module__filter"
32
+ data-postsperpagedesktop="8"
33
+ data-postsperpagemobile="6"
34
+ data-loadmoretriggerclass="loadmore-trigger"
35
+ data-textinputclass="text-input-trigger"
36
+ >
37
+ <toggle-trigger
38
+ id="toggle-trigger"
39
+ data-toggletext="Toggle Text"
40
+ data-toggletarget="#filter-module"
41
+ data-toggleclass="active"
42
+ class="toggle-trigger"
43
+ >
44
+ </post-filter-module>
45
+ <text-input-trigger id="text-input-trigger" class="text-input-trigger"></text-input-trigger>
46
+ <toggle-trigger id="toggle-trigger" data-toggletext="Filter" data-toggletarget="#filter-module" data-toggleclass="active" class="toggle-trigger"></toggle-trigger>
47
+ <post-carousel-display-module
48
+ id="display-module"
49
+ data-posts=""
50
+ class="post-carousel-display-module cmpl-block-padding cmpl-block-settings"
51
+ >
52
+ </post-carousel-display-module>
53
+ <loadmore-trigger id="loadmore-trigger" data-buttontext="Load More" class="loadmore-trigger"></loadmore-trigger>
54
+ </ptfg-9000>
55
+
56
+ <script type="module">
57
+ //Run Component JS
58
+ import blockfilterjs from "../webc-post-filter-module/post-filter-module.js";
59
+ blockfilterjs();
60
+
61
+ import toggletriggerjs from "../webc-toggle-trigger/toggle-trigger.js";
62
+ toggletriggerjs();
63
+
64
+ import textInputTrigger from "../webc-text-input-trigger/text-input-trigger.js";
65
+ textInputTrigger();
66
+
67
+ import loadmoreTrigger from "../webc-loadmore-trigger/loadmore-trigger.js";
68
+ loadmoreTrigger();
69
+
70
+ import blockcarouseljs from "../webc-post-carousel-display-module/post-carousel-display-module.js";
71
+ blockcarouseljs();
72
+
73
+ import blockptfgjs from "./ptfg-9000.js";
74
+ blockptfgjs();
75
+ </script>
76
+ </body>
77
+ </html>
78
+
79
+
80
+ <!--
81
+ <script type="module">
82
+ // Post filter module
83
+ const postfiltermoduletemplate = await fetch(
84
+ "../webc-post-filter-module/post-filter-module.html"
85
+ );
86
+ const postfiltermodulehtml = await postfiltermoduletemplate.text();
87
+ document
88
+ .querySelector("ptfg-9000")
89
+ .insertAdjacentHTML("beforeend", postfiltermodulehtml);
90
+ // toggle trigger
91
+ const toggletrigger = await fetch(
92
+ "../webc-toggle-trigger/toggle-trigger.html"
93
+ );
94
+ const toggletriggerhtml = await toggletrigger.text();
95
+ document
96
+ .querySelector("ptfg-9000")
97
+ .insertAdjacentHTML("beforeend", toggletriggerhtml);
98
+
99
+ // post grid display
100
+ const postgriddisplay = await fetch(
101
+ "../webc-post-grid-display-module/post-grid-display-module.html"
102
+ );
103
+ const postgriddisplayhtml = await postgriddisplay.text();
104
+ document
105
+ .querySelector("ptfg-9000")
106
+ .insertAdjacentHTML("beforeend", postgriddisplayhtml);
107
+
108
+ </script> -->
@@ -0,0 +1,9 @@
1
+ layout-container {
2
+ display: grid;
3
+ grid-template:
4
+ 'filter ..'
5
+ 'textinput toggleclass'
6
+ 'display display'
7
+ 'loadmore loadmore' / 1fr 1fr;
8
+ background-color: black;
9
+ }
@@ -0,0 +1,22 @@
1
+ export default function layoutContainerJs(options = {}) {
2
+ try {
3
+ if (!customElements.get('layout-container')) {
4
+ customElements.define(
5
+ 'layout-container',
6
+ class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.data = this.dataset;
10
+ }
11
+ connectedCallback() {
12
+ console.log('Layout container element added to page.');
13
+ this.classList.add('loaded');
14
+ }
15
+ attributeChangedCallback(name, oldValue, newValue) {}
16
+ }
17
+ );
18
+ }
19
+ } catch (error) {
20
+ console.error(error);
21
+ }
22
+ }
@@ -0,0 +1,15 @@
1
+ <responsive-image class="responsive-image-v3" data-assetkey="responsive-image" data-enableparallax="{{ parallaxEnabled }}">
2
+
3
+ <picture class="responsive-image-v3__picture {{picture_id|default(block.id)}}" data-pattern-suffix="{{suffix}}" data-pattern-dynamic="{{renderDynamic}}" data-assetkey="responsive-image" data-enableparallax="{{ parallaxEnabled }}">
4
+
5
+ <source data-type="srcSetDesktop" data-pattern-suffix="{{suffix}}" media="(min-width: 1024px)" class="responsive-image-v3__source responsive-image-v3--desktop" width="{{ desktopImage.width }}" height="{{ desktopImage.height }}" srcset="{{desktopSrcset}}"/>
6
+
7
+
8
+ <source data-type="srcSetTablet" data-pattern-suffix="{{suffix}}" media="(min-width: 768px)" width="{{ tabletImage.width }}" height="{{ tabletImage.height }}" class="responsive-image-v3__source responsive-image-v3--tablet" srcset="{{ tabletSrcset }}"/>
9
+
10
+ <source data-type="srcSetMobile" data-pattern-suffix="{{suffix}}" class="responsive-image-v3__source responsive-image-v3__source--mobile" width="{{ mobileImage.width }}" height="{{ mobileImage.height }}" srcset="{{ mobileSrcset }}"/>
11
+
12
+ <img data-type="srcGeneral" data-elementname="main-image" data-pattern-suffix="{{suffix}}" data-pattern-dynamic="{{renderDynamic}}" {{ enableEagerLoading }} sizes="{{ sizes }}" class="responsive-image-v3__image" src="{{mainImageSrc}}" alt="{{ desktopImage.alt }}" {{ parallaxDepth }} {{ parallaxOffsetY }}/>
13
+ </picture>
14
+
15
+ </responsive-image>
@@ -0,0 +1,25 @@
1
+ <my-paragraph>
2
+ <span slot="my-text">Let's have some different text!</span>
3
+ <slot name="my-text">My default text</slot>
4
+
5
+ </my-paragraph>
6
+
7
+ <script>
8
+ class MyParagraph extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ const shadow = this.attachShadow({ mode: 'open' });
12
+ shadow.innerHTML = `
13
+ <style>
14
+ p {
15
+ color: blue;
16
+ font-size: 18px;
17
+ }
18
+ </style>
19
+ <p><slot name="my-text">My default text</slot></p>
20
+ `;
21
+ }
22
+ }
23
+
24
+ customElements.define('my-paragraph', MyParagraph);
25
+ </script>
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <link rel="stylesheet" href="../../public/publicBundleBase.css" />
7
+ <link rel="stylesheet" href="./text-input-trigger.css" />
8
+ <title>PTFG</title>
9
+ <style>
10
+ body {
11
+ background-color: #e7b8b8;
12
+ }
13
+ main {
14
+ max-width: 600px;
15
+ margin-inline: auto;
16
+ padding: 50px;
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <main class="main-container"></main>
22
+ <script async type="module">
23
+ const template = await fetch("./text-input-trigger.html");
24
+ const html = await template.text();
25
+ document.querySelector(".main-container").innerHTML = html;
26
+ import blockjs from "./text-input-trigger.js";
27
+ blockjs();
28
+ </script>
29
+ </body>
30
+ </html>
@@ -0,0 +1,6 @@
1
+ text-input-trigger {
2
+ grid-area: textinput;
3
+ display: grid;
4
+ width: 100%;
5
+ place-items: center;
6
+ }
@@ -0,0 +1,4 @@
1
+ <text-input-trigger id="text-input-trigger" class="text-input-trigger">
2
+ {#
3
+ <input title="text-input" class="text-input-trigger__input" type="text" /> #}
4
+ </text-input-trigger>
@@ -0,0 +1,33 @@
1
+ export default function loadmoreTriggerJs(options = {}) {
2
+ try {
3
+ if (!customElements.get('text-input-trigger')) {
4
+ customElements.define(
5
+ 'text-input-trigger',
6
+ class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.enableLogs = this.dataset.enablelogs;
10
+ this.textInput = document.createElement('input');
11
+ this.textInput.setAttribute('type', 'text');
12
+ this.textInput.className = 'text-input-trigger__input';
13
+ this.appendChild(this.textInput);
14
+ this.textInput.placeholder =
15
+ this.dataset.placeholdertext || 'Start typing...';
16
+ this.textInput.addEventListener('input', (e) => {
17
+ this.dispatchEvent(new CustomEvent('textinput'));
18
+ });
19
+ }
20
+ connectedCallback() {
21
+ console.log('text input module added to page.');
22
+ this.classList.add('loaded');
23
+ }
24
+ attributeChangedCallback(name, oldValue, newValue) {
25
+ // console.log(`Attribute ${name} has changed.`);
26
+ }
27
+ }
28
+ );
29
+ }
30
+ } catch (error) {
31
+ console.error(error);
32
+ }
33
+ }
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <link rel="stylesheet" href="../../public/publicBundleBase.css" />
7
+ <link rel="stylesheet" href="./toggle-trigger.css" />
8
+ <title>PTFG</title>
9
+ <style>
10
+ body {
11
+ background-color: #e7b8b8;
12
+ }
13
+ main {
14
+ max-width: 600px;
15
+ margin-inline: auto;
16
+ padding: 50px;
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <main class="main-container"></main>
22
+ <script async type="module">
23
+ const template = await fetch("./toggle-trigger.html");
24
+ const html = await template.text();
25
+ document.querySelector(".main-container").innerHTML = html;
26
+ import blockjs from "./toggle-trigger.js";
27
+ blockjs();
28
+ </script>
29
+ </body>
30
+ </html>
@@ -0,0 +1,13 @@
1
+ toggle-trigger {
2
+ grid-area: toggleclass;
3
+ display: grid;
4
+ width: 100%;
5
+ place-items: center;
6
+ .toggle-trigger__button {
7
+ display: block;
8
+ appearance: none;
9
+ color: var(--theme-primary-text-colour, white);
10
+ border: 1px solid transparent;
11
+ background-color: var(--theme-primary-background-colour, black);
12
+ }
13
+ }
@@ -0,0 +1,8 @@
1
+ <toggle-trigger
2
+ id="toggle-trigger"
3
+ data-toggletext="Toggle Text"
4
+ data-toggletarget="#filter-module"
5
+ data-toggleclass="active"
6
+ class="toggle-trigger"
7
+ >
8
+ </toggle-trigger>
@@ -0,0 +1,53 @@
1
+ export default function toggletriggerJs(options = {}) {
2
+ try {
3
+ if (!customElements.get('toggle-trigger')) {
4
+ customElements.define(
5
+ 'toggle-trigger',
6
+ class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.enableLogs = this.dataset.enablelogs;
10
+ this.toggleButton = document.createElement('button');
11
+ this.toggleButton.className = 'toggle-trigger__button';
12
+ this.appendChild(this.toggleButton);
13
+ this.toggleButton.innerText = this.dataset.toggletext;
14
+ this.toggleClass = this.dataset.toggleclass;
15
+ this.toggleTarget = document.querySelector(
16
+ this.dataset.toggletarget
17
+ );
18
+ this.toggleButton.addEventListener('click', () => {
19
+ this.toggleTarget.classList.toggle(
20
+ this.toggleClass
21
+ );
22
+ });
23
+
24
+ document.body.addEventListener('click', (e) => {
25
+ if (
26
+ (this.toggleTarget.classList.contains(
27
+ this.toggleClass
28
+ ) &&
29
+ !this.toggleTarget.contains(e.target)) ||
30
+ e.target.classList.contains(
31
+ 'toggle-trigger__button'
32
+ )
33
+ ) {
34
+ this.toggleTarget.classList.toggle(
35
+ this.toggleClass
36
+ );
37
+ }
38
+ });
39
+ }
40
+ async connectedCallback() {
41
+ console.log('Toggle trigger element added to page.');
42
+ this.classList.add('loaded');
43
+ }
44
+ attributeChangedCallback(name, oldValue, newValue) {
45
+ // console.log(`Attribute ${name} has changed.`);
46
+ }
47
+ }
48
+ );
49
+ }
50
+ } catch (error) {
51
+ console.error(error);
52
+ }
53
+ }
@@ -0,0 +1,25 @@
1
+ import 'dotenv/config';
2
+ import fs from 'node:fs';
3
+ import {globSync} from 'glob';
4
+ import path from 'node:path';
5
+
6
+ const scssModulePath = path.join('./public');
7
+ const scssFilePath = path.join(scssModulePath, 'dynamicBlockScss-v3.scss');
8
+
9
+ fs.mkdirSync(scssModulePath, {recursive: true});
10
+
11
+ // Write the initial content to the target file
12
+ fs.writeFileSync(scssFilePath, '// This file is auto-generated.\n');
13
+
14
+ const dynamicEntryPoints = globSync(`./components/block-*/*-v3.scss`).map(
15
+ (path) => {
16
+ const assetPath = path.replace('components/', '../components/');
17
+ return assetPath;
18
+ }
19
+ );
20
+
21
+ const stream = fs.createWriteStream(scssFilePath, {flags: 'a'});
22
+ dynamicEntryPoints.forEach((entry) => {
23
+ stream.write(`@use '${entry}';\n`);
24
+ });
25
+ stream.end();
@@ -0,0 +1,35 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import {globSync} from 'glob';
4
+
5
+ const dynamicEntryPoints = globSync(`./components/block-*/*-v{3,4}.js`).map(
6
+ (filePath) => {
7
+ const assetKey = path.basename(filePath, '.js');
8
+ return assetKey;
9
+ }
10
+ );
11
+ const assetArray = dynamicEntryPoints.map((entry) => {
12
+ return {assetKey: entry};
13
+ });
14
+
15
+ // Create the directory path for the target file
16
+ const jsModulePath = path.join('./public');
17
+ const jsAssetsFilePath = path.join(jsModulePath, 'jsAssets.mjs');
18
+
19
+ // Create directories if they don't exist
20
+ fs.mkdirSync(jsModulePath, {recursive: true});
21
+
22
+ // Write the initial content to the target file
23
+ fs.writeFileSync(jsAssetsFilePath, '// This file is auto-generated.\n');
24
+
25
+ // Create directories if they don't exist
26
+ const dirPath = path.dirname(jsAssetsFilePath);
27
+ fs.mkdirSync(dirPath, {recursive: true});
28
+
29
+ const data = `
30
+ const dynamicAssets = ${JSON.stringify(assetArray)};
31
+ const api = {dynamicAssets};
32
+ export default api;
33
+ `;
34
+
35
+ fs.writeFileSync(jsAssetsFilePath, data);
@@ -0,0 +1,31 @@
1
+ import 'dotenv/config';
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import {globSync} from 'glob';
5
+ const themePath = process.env.THEME_PATH || 'web/wp-content/themes/global-theme';
6
+
7
+ const dynamicEntryPoints = globSync(`${themePath}/assets/js/blocks/*.js`)
8
+ .map((path) => {
9
+ const assetKey = path
10
+ .replace('assets/js/blocks/', '')
11
+ .replace('.js', '');
12
+ return assetKey;
13
+ });
14
+ const assetArray = dynamicEntryPoints.map((entry) => {
15
+ return { assetKey: entry };
16
+ });
17
+
18
+ const jsAssetsFilePath = path.join(themePath, 'assets/js/modules/jsAssets.js'); // Create the absolute path to the destination file
19
+
20
+ // Create directories if they don't exist
21
+ const dirPath = path.dirname(jsAssetsFilePath);
22
+ fs.mkdirSync(dirPath, { recursive: true });
23
+
24
+ const data = `// This file is auto-generated. To include assets for the lazyloader, just add your .js file to Assets/js/blocks/ and it will be included here.
25
+ const dynamicAssets = ${JSON.stringify(assetArray)};
26
+ const api = {
27
+ dynamicAssets,
28
+ };
29
+ export default api;`;
30
+
31
+ fs.writeFileSync(jsAssetsFilePath, data);
@@ -0,0 +1,131 @@
1
+ import 'dotenv/config';
2
+ import fs from 'node:fs';
3
+ import {globSync} from 'glob';
4
+ import yargs from 'yargs/yargs';
5
+ import {exec} from 'node:child_process';
6
+ import acfTemplate from './new-block-templates/template-block-json.js';
7
+ import defaultTemplates from './new-block-templates/template-default.js';
8
+
9
+ const themePath =
10
+ process.env.THEME_PATH || 'web/wp-content/themes/global-theme';
11
+
12
+ let projectName = 'Global Theme';
13
+ const projectJson = JSON.parse(fs.readFileSync('./package.json'));
14
+ if (projectJson) {
15
+ projectName = projectJson.name;
16
+ if (projectName.slice(0, 3) === 'the') {
17
+ const prefix =
18
+ projectName.slice(0, 3).charAt(0).toUpperCase() +
19
+ projectName.slice(0, 3).slice(1);
20
+ projectName = `${prefix} ${
21
+ projectName.slice(3).charAt(0).toUpperCase() +
22
+ projectName.slice(3).slice(1)
23
+ }`;
24
+ } else {
25
+ projectName = `${
26
+ projectName.charAt(0).toUpperCase() + projectName.slice(1)
27
+ }`;
28
+ }
29
+ }
30
+
31
+ const templateOptions = yargs(process.argv.slice(2)).argv._;
32
+ let swiper = false;
33
+ let image = false;
34
+ let content = false;
35
+ let vue = false;
36
+ templateOptions.forEach((option) => {
37
+ switch (option) {
38
+ case 'swiper':
39
+ swiper = true;
40
+ break;
41
+ case 'image':
42
+ image = true;
43
+ break;
44
+ case 'content':
45
+ content = true;
46
+ break;
47
+ case 'vue':
48
+ vue = true;
49
+ break;
50
+
51
+ default:
52
+ break;
53
+ }
54
+ });
55
+
56
+ const dynamicEntryPoints = globSync(`${themePath}/assets/js/blocks/*.js`).map(
57
+ (path) => {
58
+ const assetKey = path
59
+ .replace('assets/js/blocks/', '')
60
+ .replace('.js', '');
61
+ return assetKey;
62
+ }
63
+ );
64
+ const newBlockName = process.argv[2]?.toLowerCase();
65
+ const blockType = process.argv[3];
66
+
67
+ if (!newBlockName) {
68
+ console.log('Did you forget to give the new block a name?');
69
+ process.exit(1);
70
+ }
71
+ if (dynamicEntryPoints.indexOf(newBlockName) !== -1) {
72
+ console.log(
73
+ `Alas! There is already a block called ${newBlockName} :( You'll have to try something else..`
74
+ );
75
+ process.exit(1);
76
+ }
77
+
78
+ const templateData = `
79
+ {% set blockClassName = "${newBlockName}" %}
80
+
81
+ <section {{block.anchor ? "id=" ~ block.anchor : ''}} class="{{blockClassName}} {{block.className}} {{block.id}} lazy-fade" data-blockid="{{block.id}}" data-assetkey="{{blockClassName}}">
82
+
83
+ </section>`;
84
+
85
+ let jsData;
86
+ if (swiper || vue || image || content) {
87
+ jsData = defaultTemplates.defaultjs(newBlockName);
88
+ } else {
89
+ jsData = defaultTemplates.defaultjs(newBlockName);
90
+ }
91
+
92
+ fs.writeFileSync(`${themePath}/assets/js/blocks/${newBlockName}.js`, jsData);
93
+ fs.writeFileSync(
94
+ `${themePath}/assets/scss/blocks/${newBlockName}.scss`,
95
+ defaultTemplates.defaultscss(newBlockName)
96
+ );
97
+ if (!fs.existsSync(`${themePath}/assets/scss/blocks/${newBlockName}`)) {
98
+ fs.mkdirSync(`${themePath}/assets/scss/blocks/${newBlockName}`);
99
+ }
100
+
101
+ fs.writeFileSync(
102
+ `${themePath}/views/blocks/${newBlockName}.twig`,
103
+ templateData
104
+ );
105
+
106
+ // Create block directory inside acf-blocks if it doesn't exist
107
+ if (!fs.existsSync(`${themePath}/inc/acf-blocks/${newBlockName}`)) {
108
+ fs.mkdirSync(`${themePath}/inc/acf-blocks/${newBlockName}`);
109
+ }
110
+
111
+ fs.writeFileSync(
112
+ `${themePath}/inc/acf-blocks/${newBlockName}/block.json`,
113
+ acfTemplate(newBlockName, projectName)
114
+ );
115
+
116
+ console.log(
117
+ `👑 👑 👑 Hurrah! You made a new block called ${newBlockName} 👑 👑 👑`
118
+ );
119
+ console.log(`...now running yarn dev...`);
120
+
121
+ exec('yarn dev', (error, stdout, stderr) => {
122
+ if (error) {
123
+ console.log(`error: ${error.message}`);
124
+ return;
125
+ }
126
+ if (stderr) {
127
+ console.log(`stderr: ${stderr}`);
128
+ return;
129
+ }
130
+ console.log(`stdout: ${stdout}`);
131
+ });