generator-chisel 2.0.0-alpha.8 → 2.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 (174) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/bin/chisel.js +6 -0
  3. package/lib/commands/create/Creator.js +6 -0
  4. package/lib/commands/create/creators/app/chisel-starter-theme/.gitignore.chisel-tpl +3 -2
  5. package/lib/commands/create/creators/app/chisel-starter-theme/.nvmrc +1 -1
  6. package/lib/commands/create/creators/app/chisel-starter-theme/404.php +2 -2
  7. package/lib/commands/create/creators/app/chisel-starter-theme/README.md +37 -1
  8. package/lib/commands/create/creators/app/chisel-starter-theme/acf-json/group_6772609e3c28c.json +83 -0
  9. package/lib/commands/create/creators/app/chisel-starter-theme/acf-json/group_6772615562fb4.json +49 -0
  10. package/lib/commands/create/creators/app/chisel-starter-theme/archive.php +2 -4
  11. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/block.json +31 -0
  12. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/edit.js +35 -0
  13. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/editor.scss +3 -0
  14. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/index.js +45 -0
  15. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/save.js +20 -0
  16. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/script.js +7 -0
  17. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/style.scss +3 -0
  18. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/view.js +7 -0
  19. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/view.scss +3 -0
  20. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/block.json +32 -0
  21. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/edit.js +33 -0
  22. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/editor.scss +3 -0
  23. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/index.js +45 -0
  24. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/render.php +12 -0
  25. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/render.twig +5 -0
  26. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/save.js +6 -0
  27. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/script.js +7 -0
  28. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/style.scss +3 -0
  29. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/view.js +7 -0
  30. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/view.scss +3 -0
  31. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/block.json +36 -0
  32. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/critical.scss +3 -0
  33. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/editor.scss +3 -0
  34. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/example.twig +3 -0
  35. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/index.js +7 -0
  36. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/init.php +0 -0
  37. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/script.js +8 -0
  38. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/style.scss +3 -0
  39. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/view.js +7 -0
  40. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/view.scss +3 -0
  41. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/arrow-left.svg +3 -0
  42. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/arrow-right.svg +3 -0
  43. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/chisel-icon.svg +1 -0
  44. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/chisel-logo.svg +1 -0
  45. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/close-line.svg +1 -0
  46. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/chisel-icon.svg +1 -0
  47. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/chisel-logo.svg +1 -0
  48. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/facebook-logo.svg +10 -0
  49. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/instagram-logo.svg +14 -0
  50. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/x-logo.svg +1 -0
  51. package/lib/commands/create/creators/app/chisel-starter-theme/author.php +3 -4
  52. package/lib/commands/create/creators/app/chisel-starter-theme/composer.json +3 -0
  53. package/lib/commands/create/creators/app/chisel-starter-theme/footer.php +2 -2
  54. package/lib/commands/create/creators/app/chisel-starter-theme/functions.php +18 -24
  55. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Factory/RegisterAcfOptionsPage.php +62 -0
  56. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Factory}/RegisterBlocks.php +53 -22
  57. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Factory/RegisterCustomPostType.php +211 -0
  58. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Factory/RegisterCustomTaxonomy.php +174 -0
  59. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/AcfHelpers.php +46 -0
  60. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/AjaxHelpers.php +33 -0
  61. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/AssetsHelpers.php +28 -0
  62. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/BlocksHelpers.php +118 -0
  63. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/CacheHelpers.php +41 -0
  64. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/CommentsHelpers.php +26 -0
  65. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/DataHelpers.php +35 -0
  66. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/GravityFormsHelpers.php +65 -0
  67. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/ImageHelpers.php +102 -0
  68. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/Helpers.php → inc/Helper/ThemeHelpers.php} +53 -93
  69. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/WoocommerceHelpers.php +72 -0
  70. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/YoastHelpers.php +37 -0
  71. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/interfaces/Instance.php → inc/Interfaces/HooksInterface.php} +3 -8
  72. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Interfaces/InstanceInterface.php +16 -0
  73. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Module}/AcfSync.php +13 -20
  74. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Module}/Ajax.php +16 -41
  75. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Plugin}/GravityForms.php +15 -72
  76. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Plugin}/Woocommerce.php +26 -80
  77. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Plugin/Yoast.php +46 -0
  78. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Traits/PageBlocks.php +92 -0
  79. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Traits/Singleton.php +23 -0
  80. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/Acf.php +118 -0
  81. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/AcfBlocks.php +62 -61
  82. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/AjaxEnpoints.php +6 -6
  83. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Assets.php +258 -119
  84. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Blocks.php +69 -55
  85. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/Cache.php +103 -0
  86. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedImage.php → inc/WP/ChiselImage.php} +2 -2
  87. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedPost.php → inc/WP/ChiselPost.php} +4 -10
  88. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedProduct.php → inc/WP/ChiselProduct.php} +4 -3
  89. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedTerm.php → inc/WP/ChiselTerm.php} +2 -2
  90. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Comments.php +10 -32
  91. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Components.php +61 -36
  92. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/CustomPostTypes.php +124 -0
  93. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/CustomTaxonomies.php +129 -0
  94. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Sidebars.php +11 -17
  95. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Site.php +15 -21
  96. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Theme.php +22 -15
  97. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Twig.php +34 -21
  98. package/lib/commands/create/creators/app/chisel-starter-theme/index.php +2 -3
  99. package/lib/commands/create/creators/app/chisel-starter-theme/package.chisel-tpl.json +5 -1
  100. package/lib/commands/create/creators/app/chisel-starter-theme/page.php +3 -3
  101. package/lib/commands/create/creators/app/chisel-starter-theme/phpcs.xml +5 -2
  102. package/lib/commands/create/creators/app/chisel-starter-theme/search.php +3 -4
  103. package/lib/commands/create/creators/app/chisel-starter-theme/single.php +3 -3
  104. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks/accordion/accordion-item.js +2 -2
  105. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks/accordion/style.scss +12 -5
  106. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks-acf/slider/acf-json/group_66462c70b851f.json +107 -105
  107. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks-acf/slider/block.json +1 -1
  108. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks-acf/slider/slider.twig +4 -2
  109. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/settings/_index.scss +2 -1
  110. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_buttons.scss +1 -1
  111. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_icon.scss +39 -7
  112. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_index.scss +1 -0
  113. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_layout.scss +11 -0
  114. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/admin/acf.js +65 -1
  115. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/app.js +2 -0
  116. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/blocks.js +10 -4
  117. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/mods/blocks-alignment.js +2 -2
  118. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/mods/core-button.js +18 -14
  119. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/utils.js +0 -12
  120. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/modules/loaded.js +7 -0
  121. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/admin.scss +2 -0
  122. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/blocks/_core-button.scss +14 -13
  123. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_buttons.scss +14 -13
  124. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_icons-preview.scss +97 -0
  125. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_main-nav.scss +19 -9
  126. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_posts-items.scss +6 -0
  127. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/objects/_icon.scss +51 -0
  128. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/objects/_layout.scss +0 -13
  129. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/wp-admin/_acf.scss +29 -0
  130. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/wp-admin/_index.scss +4 -0
  131. package/lib/commands/create/creators/app/chisel-starter-theme/style.chisel-tpl.css +1 -1
  132. package/lib/commands/create/creators/app/chisel-starter-theme/views/base.twig +1 -1
  133. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/header.twig +1 -1
  134. package/lib/commands/create/creators/app/chisel-starter-theme/views/{partials → components}/logo.twig +2 -2
  135. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/main-nav-item.twig +2 -1
  136. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/main-nav.twig +5 -2
  137. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/pagination.twig +70 -0
  138. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/post-item.twig +1 -1
  139. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/slider.twig +2 -2
  140. package/lib/commands/create/creators/app/chisel-starter-theme/views/{partials → components}/the-title.twig +1 -1
  141. package/lib/commands/create/creators/app/chisel-starter-theme/views/index.twig +10 -5
  142. package/lib/commands/create/creators/app/chisel-starter-theme/views/objects/icon.twig +37 -0
  143. package/lib/commands/create/creators/app/chisel-starter-theme/views/partials/icons-preview.twig +81 -0
  144. package/lib/commands/create/creators/app/chisel-starter-theme/views/sidebar-blog.twig +1 -1
  145. package/lib/commands/create/creators/app/chisel-starter-theme/views/sidebar-woocommerce.twig +1 -1
  146. package/lib/commands/create/creators/app/chisel-starter-theme/views/single.twig +2 -2
  147. package/lib/commands/create/creators/app/chisel-starter-theme/views/woocommerce/archive-product.twig +2 -2
  148. package/lib/commands/create/creators/app/chisel-starter-theme/views/woocommerce/linked-products.twig +2 -2
  149. package/lib/commands/create/creators/app/chisel-starter-theme/views/woocommerce/single-product.twig +4 -4
  150. package/lib/commands/create/creators/app/chisel-starter-theme/woocommerce.php +6 -6
  151. package/lib/commands/create/creators/app/index.js +74 -20
  152. package/lib/commands/create/creators/app/template/.devcontainer/Dockerfile +21 -0
  153. package/lib/commands/create/creators/app/template/.devcontainer/compose.chisel-tpl +3 -0
  154. package/lib/commands/create/creators/app/template/.devcontainer/devcontainer.json.chisel-tpl +31 -0
  155. package/lib/commands/create/creators/app/template/.devcontainer/docker-compose.yml.chisel-tpl +40 -0
  156. package/lib/commands/create/creators/app/template/.devcontainer/exec +8 -0
  157. package/lib/commands/create/creators/app/template/.devcontainer/post-create-command.sh.chisel-tpl +24 -0
  158. package/lib/commands/create/creators/devcontainer.js +62 -0
  159. package/lib/commands/create/creators/utils.js +58 -0
  160. package/lib/commands/create/creators/wp/index.js +24 -3
  161. package/lib/commands/create/creators/wp-plugins/plugins.json +1 -1
  162. package/lib/commands/create/index.js +9 -2
  163. package/lib/commands/create/packages-versions.js +3 -3
  164. package/package.json +3 -3
  165. package/lib/commands/create/creators/app/chisel-starter-theme/classes/Acf.php +0 -188
  166. package/lib/commands/create/creators/app/chisel-starter-theme/classes/ChiselCache.php +0 -87
  167. package/lib/commands/create/creators/app/chisel-starter-theme/classes/CustomPostTypes.php +0 -444
  168. package/lib/commands/create/creators/app/chisel-starter-theme/classes/Yoast.php +0 -78
  169. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_icon.scss +0 -19
  170. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/icon.twig +0 -1
  171. package/lib/commands/create/creators/app/chisel-starter-theme/views/partials/pagination.twig +0 -70
  172. /package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons/{loader.svg → animated/loader.svg} +0 -0
  173. /package/lib/commands/create/creators/app/chisel-starter-theme/assets/{icons → icons-source}/minus.svg +0 -0
  174. /package/lib/commands/create/creators/app/chisel-starter-theme/assets/{icons → icons-source}/plus.svg +0 -0
@@ -1,31 +1,56 @@
1
1
  <?php
2
2
 
3
- namespace Chisel;
3
+ namespace Chisel\WP;
4
4
 
5
5
  use Timber\Timber;
6
- use Chisel\ChiselCache;
6
+ use Chisel\Interfaces\InstanceInterface;
7
+ use Chisel\Interfaces\HooksInterface;
8
+ use Chisel\Traits\Singleton;
9
+ use Chisel\Factory\RegisterBlocks;
10
+ use Chisel\Traits\PageBlocks;
11
+ use Chisel\Helper\BlocksHelpers;
12
+ use Chisel\Helper\AssetsHelpers;
7
13
 
8
14
  /**
9
15
  * ACF blocks related functionalities.
10
16
  *
11
17
  * @package Chisel
12
18
  */
13
- class AcfBlocks extends RegisterBlocks implements Instance {
19
+ class AcfBlocks implements InstanceInterface, HooksInterface {
20
+
21
+ use Singleton;
22
+ use PageBlocks;
23
+
24
+ /**
25
+ * Register blocks factory.
26
+ *
27
+ * @var RegisterBlocks
28
+ */
29
+ private $register_blocks_factory;
30
+
31
+ /**
32
+ * Blocks.
33
+ *
34
+ * @var array
35
+ */
36
+ private $blocks = array();
14
37
 
15
38
  /**
16
39
  * Blocks twig file base path.
17
40
  *
18
41
  * @var string
19
42
  */
20
- protected $blocks_twig_base_path;
43
+ public $blocks_twig_base_path;
21
44
 
22
45
  /**
23
46
  * Class constructor.
24
47
  */
25
48
  private function __construct() {
26
- $this->set_properties();
49
+ $this->register_blocks_factory = new RegisterBlocks( 'acf' );
50
+ $this->blocks = $this->register_blocks_factory->get_blocks();
27
51
 
28
- parent::__construct( 'acf' );
52
+ add_action( 'after_setup_theme', array( $this, 'set_properties' ), 7 );
53
+ add_action( 'wp_print_styles', array( $this, 'dequeue_blocks_styles' ), 999 );
29
54
 
30
55
  $this->action_hooks();
31
56
  $this->filter_hooks();
@@ -58,7 +83,7 @@ class AcfBlocks extends RegisterBlocks implements Instance {
58
83
  * Register ACF blocks and their assets.
59
84
  */
60
85
  public function register_blocks() {
61
- $this->register_custom_blocks();
86
+ $this->register_blocks_factory->register_custom_blocks();
62
87
  }
63
88
 
64
89
  /**
@@ -73,7 +98,7 @@ class AcfBlocks extends RegisterBlocks implements Instance {
73
98
  }
74
99
 
75
100
  foreach ( $this->blocks as $block ) {
76
- $locations[] = array( $this->blocks_path_src . '/' . $block . '/' );
101
+ $locations[] = array( $this->register_blocks_factory->get_blocks_path_src() . '/' . $block . '/' );
77
102
  }
78
103
 
79
104
  return $locations;
@@ -87,11 +112,11 @@ class AcfBlocks extends RegisterBlocks implements Instance {
87
112
  */
88
113
  public function load_acf_field_group( $paths ) {
89
114
  if ( ! is_array( $this->blocks ) || ! $this->blocks ) {
90
- return;
115
+ return $paths;
91
116
  }
92
117
 
93
118
  foreach ( $this->blocks as $block ) {
94
- $paths[] = $this->blocks_path_src . '/' . $block . '/acf-json';
119
+ $paths[] = $this->register_blocks_factory->get_blocks_path_src() . '/' . $block . '/acf-json';
95
120
  }
96
121
 
97
122
  return $paths;
@@ -120,7 +145,7 @@ class AcfBlocks extends RegisterBlocks implements Instance {
120
145
  return $path;
121
146
  }
122
147
 
123
- return $this->blocks_path_src . '/' . $block_name . '/acf-json';
148
+ return $this->register_blocks_factory->get_blocks_path_src() . '/' . $block_name . '/acf-json';
124
149
  }
125
150
  }
126
151
  }
@@ -130,61 +155,37 @@ class AcfBlocks extends RegisterBlocks implements Instance {
130
155
  }
131
156
 
132
157
  /**
133
- * Render ACF block.
134
- *
135
- * @param array $block The block.
136
- * @param string $content The content.
137
- * @param bool $is_preview Is preview.
138
- * @param int $post_id The post ID.
158
+ * Dequeue blocks styles that are not used on current page and add inline critical css for blocks.
139
159
  *
140
160
  * @return void
141
161
  */
142
- public static function acf_block_render( $block, $content = '', $is_preview = false, $post_id = 0 ) {
143
- $context = Timber::context();
144
-
145
- $block_slug = str_replace( 'chisel/', '', $block['name'] );
146
-
147
- $slug = 'b-' . $block_slug;
148
- $context['block'] = $block;
149
- $context['post_id'] = $post_id;
150
- $context['slug'] = $slug;
151
- $context['is_preview'] = $is_preview;
152
- $context['fields'] = get_fields();
153
- $classes = array_merge(
154
- array( $slug ),
155
- isset( $block['className'] ) ? array( $block['className'] ) : array(),
156
- $is_preview ? array( 'is-preview' ) : array(),
157
- $block['supports']['align'] ? array( 'align' . $context['block']['align'] ) : array(),
158
- );
159
-
160
- $context['block']['class_names'] = $classes;
161
- $context['block']['block_id'] = isset( $block['anchor'] ) ? $block['anchor'] : $block['id'];
162
-
163
- // allow to use filters to manipulate the output.
164
- $context = apply_filters( 'chisel_timber_acf_blocks_data', $context );
165
- $context = apply_filters( 'chisel_timber_acf_blocks_data_' . $block_slug, $context );
166
- $context = apply_filters( 'chisel_timber_acf_blocks_data_' . $block['id'], $context );
167
-
168
- $context['wrapper_attributes'] = get_block_wrapper_attributes(
169
- array(
170
- 'id' => $context['block']['block_id'],
171
- 'class' => implode( ' ', $context['block']['class_names'] ),
172
- )
173
- );
174
-
175
- Timber::render( self::get_instance()->blocks_twig_base_path . $block_slug . '/' . $block_slug . '.twig', $context, ChiselCache::expiry() );
176
- }
162
+ public function dequeue_blocks_styles() {
163
+ if ( is_admin() ) {
164
+ return;
165
+ }
177
166
 
178
- /**
179
- * Get the instance of the class.
180
- */
181
- public static function get_instance() {
182
- static $instance = null;
167
+ $blocks_used_on_page = $this->get_content_blocks_names();
168
+ $blocks = $this->blocks;
183
169
 
184
- if ( null === $instance ) {
185
- $instance = new self();
186
- }
170
+ if ( $blocks ) {
171
+ $blocks_path = $this->register_blocks_factory->get_blocks_path();
172
+ $blocks_url = $this->register_blocks_factory->get_blocks_url();
173
+
174
+ foreach ( $blocks as $block_name ) {
175
+ if ( ! in_array( $block_name, $blocks_used_on_page, true ) ) {
176
+ wp_dequeue_style( 'block-acf-' . $block_name . '-style' );
177
+ } else {
178
+ $block_critical_css = $blocks_path . '/' . $block_name . '/script.css';
187
179
 
188
- return $instance;
180
+ if ( is_file( $block_critical_css ) ) {
181
+ $css = BlocksHelpers::get_block_inline_css( $blocks_url, $block_name );
182
+
183
+ if ( $css ) {
184
+ $add = wp_add_inline_style( AssetsHelpers::get_final_handle( 'main' ), $css );
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
189
190
  }
190
191
  }
@@ -1,9 +1,9 @@
1
1
  <?php
2
2
 
3
- namespace Chisel;
3
+ namespace Chisel\WP;
4
4
 
5
5
  use Timber\Timber;
6
- use Chisel\ChiselCache;
6
+ use Chisel\Helper\CacheHelpers;
7
7
 
8
8
  /**
9
9
  * Custom Ajax enpoints callbacks
@@ -48,7 +48,7 @@ class AjaxEnpoints {
48
48
 
49
49
  if ( $posts ) {
50
50
  foreach ( $posts as $post ) {
51
- $response .= Timber::compile( $templates, array( 'post' => $post ), ChiselCache::expiry() );
51
+ $response .= Timber::compile( $templates, array( 'post' => $post ), CacheHelpers::expiry() );
52
52
  }
53
53
  }
54
54
 
@@ -62,7 +62,7 @@ class AjaxEnpoints {
62
62
  *
63
63
  * @return array
64
64
  */
65
- protected function get_data( $request ) {
65
+ private function get_data( $request ) {
66
66
  return $request->get_body_params();
67
67
  }
68
68
 
@@ -73,7 +73,7 @@ class AjaxEnpoints {
73
73
  *
74
74
  * @return \WP_REST_Response
75
75
  */
76
- protected function success( $data = array() ) {
76
+ private function success( $data = array() ) {
77
77
  return new \WP_REST_Response(
78
78
  array(
79
79
  'error' => 0,
@@ -91,7 +91,7 @@ class AjaxEnpoints {
91
91
  *
92
92
  * @return \WP_REST_Response
93
93
  */
94
- protected function error( $message ) {
94
+ private function error( $message ) {
95
95
  return new \WP_REST_Response(
96
96
  array(
97
97
  'error' => 1,