@automattic/newspack-blocks 1.37.0 → 1.48.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 (292) hide show
  1. package/.cache/babel/00255e6096be9e31ec354db849dfefaa.json.gz +0 -0
  2. package/.cache/babel/0265bee20d709ac92f56456637727f4b.json.gz +0 -0
  3. package/.cache/babel/02986ba19dc461a152ea1c45f3f36a27.json.gz +0 -0
  4. package/.cache/babel/06a1700c1a4a989fc7886c86bf6223f7.json.gz +0 -0
  5. package/.cache/babel/07169c73863508b392f15022920bd0b6.json.gz +0 -0
  6. package/.cache/babel/0a5083e561829e3884cb5c71388adc3f.json.gz +0 -0
  7. package/.cache/babel/0a713997b6e4f45849ed6a4bff79cca5.json.gz +0 -0
  8. package/.cache/babel/0a9506bf649ffbe854e75459cf6b8972.json.gz +0 -0
  9. package/.cache/babel/0c12c4398bbbf2d771b13dd1d0e64097.json.gz +0 -0
  10. package/.cache/babel/0f8c18da204f4cc2777ca3191f10c309.json.gz +0 -0
  11. package/.cache/babel/0fced15ed787cc4239bb53c1d12892e6.json.gz +0 -0
  12. package/.cache/babel/10faf7c74a89e9aa4d8b9528a654913e.json.gz +0 -0
  13. package/.cache/babel/1353b411b65a123b5dc35012db11aa1d.json.gz +0 -0
  14. package/.cache/babel/1729336f326db1cf54b9c1671dc5e36c.json.gz +0 -0
  15. package/.cache/babel/17a433ab631a32d0712f3f75cf85ea99.json.gz +0 -0
  16. package/.cache/babel/1948e72d907f681ff771881ad6800ee1.json.gz +0 -0
  17. package/.cache/babel/1ab4bf44aa14d2eb7e6911900a3b2c12.json.gz +0 -0
  18. package/.cache/babel/1decfd137cac87a75bd83ffbd39c9106.json.gz +0 -0
  19. package/.cache/babel/2143ceff6d186bc13bc902e0f1f33dbf.json.gz +0 -0
  20. package/.cache/babel/23c63332718e167968a7c2a8a5f730eb.json.gz +0 -0
  21. package/.cache/babel/24bf53676e12293cbf88d01e649fd167.json.gz +0 -0
  22. package/.cache/babel/26ba0bb46844575022e54a8819fbf405.json.gz +0 -0
  23. package/.cache/babel/281ca171ce8947f87f574df11059e00b.json.gz +0 -0
  24. package/.cache/babel/28700b83434e4dbfb9a20d7ec0a7e7a4.json.gz +0 -0
  25. package/.cache/babel/29cf8eeea8630ade027e34459f2e49ee.json.gz +0 -0
  26. package/.cache/babel/2b0dd254a46223a93e6259d2b797a7e7.json.gz +0 -0
  27. package/.cache/babel/2da6786ede3ddda4c86eeac524a6a796.json.gz +0 -0
  28. package/.cache/babel/2e7ce10fdee94274b48d528f94c32b34.json.gz +0 -0
  29. package/.cache/babel/2f93fed1706a40d82122281cc3677074.json.gz +0 -0
  30. package/.cache/babel/3a59b710e9745ef93148d6d74ee7d16f.json.gz +0 -0
  31. package/.cache/babel/3b2c440027c793c8f7978d7622cbfca0.json.gz +0 -0
  32. package/.cache/babel/3ca939ace4af88e266942d93837ab37a.json.gz +0 -0
  33. package/.cache/babel/3e671670c4d395cd1804ef4be31955e4.json.gz +0 -0
  34. package/.cache/babel/3e69fe002d9973c0030152a51da9477a.json.gz +0 -0
  35. package/.cache/babel/3f5f8ea603fd57850c6683c750fe53d8.json.gz +0 -0
  36. package/.cache/babel/41abaaadb68b0657a95fa0c356873def.json.gz +0 -0
  37. package/.cache/babel/421ac952d6b472ba18e1cb95ef65f42a.json.gz +0 -0
  38. package/.cache/babel/424185dd50e91d8dee5fdae43086010e.json.gz +0 -0
  39. package/.cache/babel/427a6423ebde76bcb488747127e47351.json.gz +0 -0
  40. package/.cache/babel/43e800659f23430a181fb4fc328eb6ef.json.gz +0 -0
  41. package/.cache/babel/469651017a2b6f3b9f63fda034974b3a.json.gz +0 -0
  42. package/.cache/babel/480d26447b7ee019a37e4e18422403e9.json.gz +0 -0
  43. package/.cache/babel/4b58fad313d90a4c1577a2766e6c924c.json.gz +0 -0
  44. package/.cache/babel/4d2d42fea63650192d1a3a5648b621c5.json.gz +0 -0
  45. package/.cache/babel/4d8c26a76e77fa64d01f30a5f2d62f85.json.gz +0 -0
  46. package/.cache/babel/4f606ce6656565507a74aaac8dc21eea.json.gz +0 -0
  47. package/.cache/babel/505f37592f4c601ccdc1581ca89d9009.json.gz +0 -0
  48. package/.cache/babel/50aaf34aa54b2cd3058518e42850bb62.json.gz +0 -0
  49. package/.cache/babel/51fbf389462feb111228ba7ec64c631d.json.gz +0 -0
  50. package/.cache/babel/51fc90ae5fe129a095172032f304dc2c.json.gz +0 -0
  51. package/.cache/babel/53dbf5484c5601528c2fd8d7fe728b78.json.gz +0 -0
  52. package/.cache/babel/58e4535574062eb2d8fa56d002e7190d.json.gz +0 -0
  53. package/.cache/babel/5aa5e8d1492938c62999de022c4b220e.json.gz +0 -0
  54. package/.cache/babel/5d64e475284e52c104df17e26066b17b.json.gz +0 -0
  55. package/.cache/babel/6333c664d69f13036f42bcf575c8e65d.json.gz +0 -0
  56. package/.cache/babel/635c439786b8522888342779b28ee9ee.json.gz +0 -0
  57. package/.cache/babel/648cffdd5ec4a2446f8935a17b98080b.json.gz +0 -0
  58. package/.cache/babel/64b0dd478e6f2dd51de5ee20e311aee7.json.gz +0 -0
  59. package/.cache/babel/6531721abbc0b3906b28b268ed7914af.json.gz +0 -0
  60. package/.cache/babel/66bf5585c7901a76c7d4014fa9ffed40.json.gz +0 -0
  61. package/.cache/babel/6ef313cb6d3a59f73a6b78e1a729fb13.json.gz +0 -0
  62. package/.cache/babel/6f14eed506421f15710d3dfafe3dcd93.json.gz +0 -0
  63. package/.cache/babel/70f6c01d8c6bc3efc41c97eaf49f7617.json.gz +0 -0
  64. package/.cache/babel/72321dde68f0bb9c334d90d6f4584be8.json.gz +0 -0
  65. package/.cache/babel/76c815fab58595f57e01af6591791d57.json.gz +0 -0
  66. package/.cache/babel/7c10f4d554daa8efe1e0a4457fb6d27b.json.gz +0 -0
  67. package/.cache/babel/7dffccddd9780ab37fb79f809947c2cd.json.gz +0 -0
  68. package/.cache/babel/7e5162e3319cd5d6fca6c0db0516aaeb.json.gz +0 -0
  69. package/.cache/babel/803192c922f7d419648bab7e1201b22e.json.gz +0 -0
  70. package/.cache/babel/81f3f0f896d29cdf88f8543dedb77787.json.gz +0 -0
  71. package/.cache/babel/84c019d3d643195fb37d08110f15f8c9.json.gz +0 -0
  72. package/.cache/babel/853c31db7c4351f2f36d1021c667224d.json.gz +0 -0
  73. package/.cache/babel/88ec99735ea4f314937736f04360ff8c.json.gz +0 -0
  74. package/.cache/babel/8959ab8fcfa783cb56e9418b99c0951c.json.gz +0 -0
  75. package/.cache/babel/8b9624d721f8706682e33fe1853c8287.json.gz +0 -0
  76. package/.cache/babel/8de5c373bbc4b6fbeec373d582935887.json.gz +0 -0
  77. package/.cache/babel/8f24517cff634d2e91c19e51be8816cc.json.gz +0 -0
  78. package/.cache/babel/901e1bb823eca196b594baa35a35a81c.json.gz +0 -0
  79. package/.cache/babel/90dbc666ff9fa3b88f305fe90a9917bf.json.gz +0 -0
  80. package/.cache/babel/91b62dfd9475df7a39dc08fbd43847f9.json.gz +0 -0
  81. package/.cache/babel/956daf27323e3b87bf8bf9bbf58881ed.json.gz +0 -0
  82. package/.cache/babel/959e9b81103c539a9d85ac60955451b9.json.gz +0 -0
  83. package/.cache/babel/963b1e44be998c4dcc6845745c377369.json.gz +0 -0
  84. package/.cache/babel/966b41ac1317b3e03ca1e59f7eb57e8c.json.gz +0 -0
  85. package/.cache/babel/969d5992cc682e3b43761ef02c10b851.json.gz +0 -0
  86. package/.cache/babel/99df128bb528d0f95a56b311801d14c1.json.gz +0 -0
  87. package/.cache/babel/9b33e7d21f3fc4955a536a033cced71b.json.gz +0 -0
  88. package/.cache/babel/9c5ec84f77314a621c01ad77da7ccb58.json.gz +0 -0
  89. package/.cache/babel/9d325af12a88623602a5f8c2fce04847.json.gz +0 -0
  90. package/.cache/babel/a413e4d325543836d0800684bb26ed04.json.gz +0 -0
  91. package/.cache/babel/a5405f86b8d1485e62a125275507e60f.json.gz +0 -0
  92. package/.cache/babel/a7f7461321ca6fd4360df04bb894c106.json.gz +0 -0
  93. package/.cache/babel/a8a6812e1c7b65cc6d0bdebe2a35c8ca.json.gz +0 -0
  94. package/.cache/babel/aa89cfc4c88fcc465b8d74af824e7f6b.json.gz +0 -0
  95. package/.cache/babel/adbaeb5ddf5612b3dcd233a3f6f17bf2.json.gz +0 -0
  96. package/.cache/babel/ae18cd6ec42a3366c73435b62a9f5f70.json.gz +0 -0
  97. package/.cache/babel/aea149ee1ec6fa3ca7839c63f5edd78d.json.gz +0 -0
  98. package/.cache/babel/af1b34067a69854e109c0b0e45d90e43.json.gz +0 -0
  99. package/.cache/babel/b3a335ab950f502914013810b43b0ad5.json.gz +0 -0
  100. package/.cache/babel/b6cfba15cda3404d4b1041df448ed2b2.json.gz +0 -0
  101. package/.cache/babel/ba711530bd319618a0510d8361bebb45.json.gz +0 -0
  102. package/.cache/babel/ba77e682225df6126b636458055601d9.json.gz +0 -0
  103. package/.cache/babel/bab8189a74eee8d72702d1510b52b3b3.json.gz +0 -0
  104. package/.cache/babel/bd8741020db56bb5d999252812d1d717.json.gz +0 -0
  105. package/.cache/babel/beaa874c5e01203d9dbe23cb89405276.json.gz +0 -0
  106. package/.cache/babel/c196c9b8c21953c474acdaa9029b3cbf.json.gz +0 -0
  107. package/.cache/babel/c1e31e6c217023eb3d3fd5d3de486ac3.json.gz +0 -0
  108. package/.cache/babel/c3aa996443e7f377aa423bcc03ffc617.json.gz +0 -0
  109. package/.cache/babel/c481eae84d69b65405a44af442dbfea7.json.gz +0 -0
  110. package/.cache/babel/c4a817d6c4bf6eb3687ffccc5c2df801.json.gz +0 -0
  111. package/.cache/babel/c8b10cf6f706fb669d6dd7564385768d.json.gz +0 -0
  112. package/.cache/babel/caa2f98ba4af6eba0605543f690693c6.json.gz +0 -0
  113. package/.cache/babel/cada4b2cecb2c1fcc48b7a7ecda54907.json.gz +0 -0
  114. package/.cache/babel/d1bed5404789c427c32965ac6ecad0d9.json.gz +0 -0
  115. package/.cache/babel/d395e8c0a9c63680f2dcf90ca0e91d4a.json.gz +0 -0
  116. package/.cache/babel/d4672090e0dd9a73bfb00bd770b23643.json.gz +0 -0
  117. package/.cache/babel/d4c81f65fe6d78cdbdcf1ef901b7ba1b.json.gz +0 -0
  118. package/.cache/babel/d515ddc0797ea256ff7271507737e9ce.json.gz +0 -0
  119. package/.cache/babel/d742848d263503f79168f1a6b8a52097.json.gz +0 -0
  120. package/.cache/babel/d834b41d7028519ecd0cbc8c65d33dde.json.gz +0 -0
  121. package/.cache/babel/d9060b9162e7caf974db0b90b6134727.json.gz +0 -0
  122. package/.cache/babel/d946975b9beac51a39f600461e84b1b6.json.gz +0 -0
  123. package/.cache/babel/daf0af780cff2270b1ae0e4b97a5a4ab.json.gz +0 -0
  124. package/.cache/babel/db5215643b0737dc5245972a5c25f736.json.gz +0 -0
  125. package/.cache/babel/dd57b8d31664b147b9f1e3f5cd18cc2a.json.gz +0 -0
  126. package/.cache/babel/e0c78bdaae19f15e2dd4a773e842422b.json.gz +0 -0
  127. package/.cache/babel/e1a2c7e4fc3afe9cc6e03d60f4e4a23d.json.gz +0 -0
  128. package/.cache/babel/e210ff9aa99df972b8d81c4bda70f642.json.gz +0 -0
  129. package/.cache/babel/e259a73f84d5b92b94e6d094719264c3.json.gz +0 -0
  130. package/.cache/babel/e6ce03a9908c9c4dc2c723531f1073f6.json.gz +0 -0
  131. package/.cache/babel/e8a1501dd8e4b3389ecdc8f722622359.json.gz +0 -0
  132. package/.cache/babel/eb3bb371036da362c42db50248d0b180.json.gz +0 -0
  133. package/.cache/babel/eb854e03c810bdb969497b2a36119bfa.json.gz +0 -0
  134. package/.cache/babel/ec25bb53826070b7f301e64f02355b8c.json.gz +0 -0
  135. package/.cache/babel/edbaca20e4a65f850c3d8321c1945718.json.gz +0 -0
  136. package/.cache/babel/f059f1ca9e49d5c3e655d20339860dce.json.gz +0 -0
  137. package/.cache/babel/f24c559fb42ef906405966598baf5f80.json.gz +0 -0
  138. package/.cache/babel/f2f333c3c546ad711d722d782decd450.json.gz +0 -0
  139. package/.cache/babel/f42c854ce8f1dc1a6e6fe7c510b033a5.json.gz +0 -0
  140. package/.cache/babel/f5211608f22c2e12594eafdbc4e66aa5.json.gz +0 -0
  141. package/.cache/babel/f645b8c88a49718cd778e3595212d4eb.json.gz +0 -0
  142. package/.cache/babel/f66dda5c4e4e9d04eb6b7411fcb12a65.json.gz +0 -0
  143. package/.cache/babel/f9d5b6f3f5438342dba75c2ce6143eef.json.gz +0 -0
  144. package/.cache/babel/fc9c60ee1d2e8783ba4c08db5cf97d40.json.gz +0 -0
  145. package/.cache/babel/fd558798cea72d04fb826468a89d72aa.json.gz +0 -0
  146. package/.cache/babel/fe735cbd0f6e131e28d8b6eb1f39141b.json.gz +0 -0
  147. package/.eslintrc.js +3 -26
  148. package/.nvmrc +1 -0
  149. package/CHANGELOG.md +422 -0
  150. package/babel.config.js +6 -0
  151. package/block-list.json +1 -1
  152. package/composer.json +2 -2
  153. package/composer.lock +446 -161
  154. package/dist/author-list/view.asset.php +1 -0
  155. package/dist/author-list/view.css +1 -0
  156. package/dist/author-list/view.js +1 -0
  157. package/dist/author-list/view.rtl.css +1 -0
  158. package/dist/author-profile/view.asset.php +1 -0
  159. package/dist/author-profile/view.css +1 -0
  160. package/dist/author-profile/view.js +1 -0
  161. package/dist/author-profile/view.rtl.css +1 -0
  162. package/dist/block_styles.asset.php +1 -0
  163. package/dist/block_styles.css +1 -0
  164. package/dist/block_styles.js +1 -0
  165. package/dist/block_styles.rtl.css +1 -0
  166. package/dist/carousel/view.asset.php +1 -0
  167. package/dist/carousel/view.css +1 -0
  168. package/dist/carousel/view.js +1 -0
  169. package/dist/carousel/view.rtl.css +1 -0
  170. package/dist/donate/view.asset.php +1 -0
  171. package/dist/donate/view.css +1 -0
  172. package/dist/donate/view.js +1 -0
  173. package/dist/donate/view.rtl.css +1 -0
  174. package/dist/donateStreamlined.asset.php +1 -0
  175. package/dist/donateStreamlined.css +1 -0
  176. package/dist/donateStreamlined.js +1 -0
  177. package/dist/donateStreamlined.rtl.css +1 -0
  178. package/dist/editor.asset.php +1 -0
  179. package/dist/editor.css +1 -0
  180. package/dist/editor.js +41 -0
  181. package/dist/editor.rtl.css +1 -0
  182. package/dist/homepage-articles/view.asset.php +1 -0
  183. package/dist/homepage-articles/view.css +1 -0
  184. package/dist/homepage-articles/view.js +1 -0
  185. package/dist/homepage-articles/view.rtl.css +1 -0
  186. package/dist/iframe/view.asset.php +1 -0
  187. package/dist/iframe/view.css +1 -0
  188. package/dist/iframe/view.js +1 -0
  189. package/dist/iframe/view.rtl.css +1 -0
  190. package/includes/class-newspack-blocks-api.php +14 -69
  191. package/includes/class-newspack-blocks-patterns.php +4 -1
  192. package/includes/class-newspack-blocks.php +421 -95
  193. package/newspack-blocks.php +26 -2
  194. package/package.json +31 -129
  195. package/postcss.config.js +11 -0
  196. package/src/block-patterns/subscribe-2.php +1 -1
  197. package/src/block-patterns/subscribe-3.php +1 -1
  198. package/src/block-patterns/subscribe-7.php +12 -0
  199. package/src/block-patterns/subscribe-8.php +12 -0
  200. package/src/block-patterns/subscribe-9.php +12 -0
  201. package/src/block-styles/core/columns/editor.scss +5 -8
  202. package/src/block-styles/core/columns/view.scss +83 -42
  203. package/src/blocks/author-list/block.json +82 -0
  204. package/src/blocks/author-list/class-wp-rest-newspack-author-list-controller.php +387 -0
  205. package/src/blocks/author-list/edit.js +527 -0
  206. package/src/blocks/author-list/editor.js +7 -0
  207. package/src/blocks/author-list/editor.scss +1 -0
  208. package/src/blocks/author-list/index.js +45 -0
  209. package/src/blocks/author-list/view.js +5 -0
  210. package/src/blocks/author-list/view.php +175 -0
  211. package/src/blocks/author-list/view.scss +46 -0
  212. package/src/blocks/author-profile/block.json +8 -0
  213. package/src/blocks/author-profile/class-wp-rest-newspack-authors-controller.php +69 -14
  214. package/src/blocks/author-profile/edit.js +212 -189
  215. package/src/blocks/author-profile/editor.scss +1 -1
  216. package/src/blocks/author-profile/single-author.js +100 -0
  217. package/src/blocks/author-profile/view.php +38 -92
  218. package/src/blocks/author-profile/view.scss +120 -1
  219. package/src/blocks/carousel/create-swiper.js +14 -5
  220. package/src/blocks/carousel/edit.js +4 -2
  221. package/src/blocks/carousel/editor.scss +3 -12
  222. package/src/blocks/carousel/view.js +1 -1
  223. package/src/blocks/carousel/view.php +9 -5
  224. package/src/blocks/carousel/view.scss +29 -3
  225. package/src/blocks/donate/class-wp-rest-newspack-donate-controller.php +22 -24
  226. package/src/blocks/donate/edit.js +49 -42
  227. package/src/blocks/donate/editor.scss +27 -3
  228. package/src/blocks/donate/index.js +31 -4
  229. package/src/blocks/donate/streamlined/index.js +248 -0
  230. package/src/blocks/donate/streamlined/index.test.js +125 -0
  231. package/src/blocks/donate/streamlined/style.scss +324 -0
  232. package/src/blocks/donate/streamlined/utils.js +174 -0
  233. package/src/blocks/donate/streamlined/utils.test.js +18 -0
  234. package/src/blocks/donate/view.php +77 -36
  235. package/src/blocks/donate/view.scss +291 -0
  236. package/src/blocks/homepage-articles/block.json +8 -0
  237. package/src/blocks/homepage-articles/class-wp-rest-newspack-articles-controller.php +24 -78
  238. package/src/blocks/homepage-articles/edit.js +26 -0
  239. package/src/blocks/homepage-articles/store.js +11 -1
  240. package/src/blocks/homepage-articles/templates/article.php +31 -3
  241. package/src/blocks/homepage-articles/templates/articles-loop.php +6 -5
  242. package/src/blocks/homepage-articles/utils.js +11 -10
  243. package/src/blocks/homepage-articles/view.php +4 -1
  244. package/src/blocks/homepage-articles/view.scss +69 -24
  245. package/src/blocks/iframe/block.json +34 -0
  246. package/src/blocks/iframe/class-wp-rest-newspack-iframe-controller.php +345 -0
  247. package/src/blocks/iframe/edit.js +252 -0
  248. package/src/blocks/iframe/editor.js +7 -0
  249. package/src/blocks/iframe/editor.scss +84 -0
  250. package/src/blocks/iframe/icons.js +10 -0
  251. package/src/blocks/iframe/iframe-placeholder.js +180 -0
  252. package/src/blocks/iframe/index.js +48 -0
  253. package/src/blocks/iframe/view.js +5 -0
  254. package/src/blocks/iframe/view.php +130 -0
  255. package/src/blocks/iframe/view.scss +9 -0
  256. package/src/blocks/video-playlist/view.php +4 -3
  257. package/src/components/query-controls.js +5 -4
  258. package/src/setup/editor.js +0 -1
  259. package/src/shared/js/utils.js +1 -1
  260. package/src/templates/author-profile-card.php +99 -0
  261. package/vendor/autoload.php +7 -0
  262. package/vendor/composer/ClassLoader.php +572 -0
  263. package/vendor/composer/InstalledVersions.php +350 -0
  264. package/vendor/composer/LICENSE +21 -0
  265. package/vendor/composer/autoload_classmap.php +10 -0
  266. package/vendor/composer/autoload_namespaces.php +9 -0
  267. package/vendor/composer/autoload_psr4.php +9 -0
  268. package/vendor/composer/autoload_real.php +55 -0
  269. package/vendor/composer/autoload_static.php +20 -0
  270. package/vendor/composer/installed.json +5 -0
  271. package/vendor/composer/installed.php +23 -0
  272. package/webpack.config.js +2 -3
  273. package/.circleci/config.yml +0 -96
  274. package/.distignore +0 -36
  275. package/.editorconfig +0 -22
  276. package/.github/ISSUE_TEMPLATE/Bug_report.md +0 -21
  277. package/.github/ISSUE_TEMPLATE/Enhancement.md +0 -17
  278. package/.github/ISSUE_TEMPLATE/Feature_request.md +0 -17
  279. package/.github/PULL_REQUEST_TEMPLATE.md +0 -29
  280. package/.github/workflows/main.yml +0 -15
  281. package/.phpcs.xml.dist +0 -55
  282. package/.prettierrc +0 -10
  283. package/.stylelintrc +0 -21
  284. package/.travis.yml +0 -67
  285. package/phpunit.xml.dist +0 -16
  286. package/src/blocks/author-profile/shared.scss +0 -95
  287. package/src/blocks/donate/streamlined.js +0 -180
  288. package/src/blocks/donate/streamlined.scss +0 -124
  289. package/src/setup/public-path.js +0 -13
  290. package/src/setup/view.js +0 -4
  291. package/tests/bootstrap.php +0 -31
  292. package/tests/test-sample.php +0 -20
@@ -0,0 +1,130 @@
1
+ <?php
2
+ /**
3
+ * Server-side rendering of the `newspack-blocks/iframe` block.
4
+ *
5
+ * @package WordPress
6
+ */
7
+
8
+ /**
9
+ * Renders the `newspack-blocks/iframe` block on server.
10
+ *
11
+ * @param array $attributes The block attributes.
12
+ *
13
+ * @return string
14
+ */
15
+ function newspack_blocks_render_block_iframe( $attributes ) {
16
+ Newspack_Blocks::enqueue_view_assets( 'iframe' );
17
+
18
+ return newspack_blocks_get_iframe( $attributes );
19
+ }
20
+
21
+ /**
22
+ * Registers the `newspack-blocks/iframe` block on server.
23
+ */
24
+ function newspack_blocks_register_iframe() {
25
+ $block_json = json_decode(
26
+ file_get_contents( __DIR__ . '/block.json' ), // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
27
+ true
28
+ );
29
+
30
+ register_block_type(
31
+ 'newspack-blocks/' . $block_json['name'],
32
+ [
33
+ 'attributes' => $block_json['attributes'],
34
+ 'render_callback' => 'newspack_blocks_render_block_iframe',
35
+ ]
36
+ );
37
+ }
38
+ add_action( 'init', 'newspack_blocks_register_iframe' );
39
+
40
+ /**
41
+ * Get iframe data for general args.
42
+ *
43
+ * @param array $args Arguments. See $defaults.
44
+ * @return array of iframe info.
45
+ */
46
+ function newspack_blocks_get_iframe( $args ) {
47
+ $defaults = array(
48
+ 'mode' => 'iframe',
49
+ 'src' => '',
50
+ 'height' => '600px',
51
+ 'width' => '100%',
52
+ 'isFullScreen' => false,
53
+ 'align' => '',
54
+ );
55
+ $args = wp_parse_args( $args, $defaults );
56
+
57
+ return newspack_blocks_get_iframe_html( $args['mode'], $args['src'], $args['height'], $args['width'], $args['isFullScreen'], $args['align'] );
58
+ }
59
+
60
+ /**
61
+ * Get embed html for embbed iframe.
62
+ *
63
+ * @param string $mode Embed mode (iframe or document).
64
+ * @param string $src Iframe source.
65
+ * @param string $height Iframe Height.
66
+ * @param string $width Iframe width.
67
+ * @param boolean $is_full_screen If the Iframe should be rendered full screen.
68
+ * @param string $align Iframe block alignment.
69
+ * @return string HTML embed.
70
+ */
71
+ function newspack_blocks_get_iframe_html( $mode, $src, $height, $width, $is_full_screen, $align ) {
72
+ $is_document = 'document' === $mode;
73
+ $height = $is_full_screen ? '100' : $height;
74
+ $width = $is_full_screen ? '100' : $width;
75
+ $style = "height: $height; width: $width;";
76
+ $layout = 'responsive';
77
+ $iframe_id = 'newspack-iframe-' . wp_generate_password( 12, false );
78
+ $classes[] = 'wp-block-newspack-blocks-iframe';
79
+
80
+ if ( empty( $src ) ) {
81
+ return;
82
+ }
83
+
84
+ if ( ! empty( $align ) ) {
85
+ $classes[] = 'align' . $align;
86
+ }
87
+
88
+ if ( $is_full_screen ) {
89
+ $layout = 'fill';
90
+ $style = 'height: 100vh; width: 100vw; max-width: 100vw; max-height: 100vh; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 999999; margin-top: 0!important;';
91
+ }
92
+
93
+ if ( $is_document ) {
94
+ $src = 'https://docs.google.com/gview?embedded=true&url=' . rawurlencode( $src );
95
+ }
96
+
97
+ ob_start();
98
+ ?>
99
+ <figure class='<?php echo esc_attr( implode( ' ', $classes ) ); ?>'>
100
+ <div class='wp-block-embed__wrapper' style="height:<?php echo esc_attr( $height ); ?>; width:<?php echo esc_attr( $width ); ?>;">
101
+ <iframe
102
+ id = '<?php echo esc_attr( $iframe_id ); ?>'
103
+ layout = '<?php echo esc_attr( $layout ); ?>'
104
+ height = '100'
105
+ width = '100'
106
+ src = '<?php echo esc_attr( $src ); ?>'
107
+ style = '<?php echo esc_attr( $style ); ?>'
108
+ frameborder = '0'
109
+ allowfullscreen
110
+ ></iframe>
111
+ </div>
112
+ </figure>
113
+
114
+ <?php if ( ! Newspack_Blocks::is_amp() ) : ?>
115
+ <script>
116
+ const iframe = document.getElementById("<?php echo esc_attr( $iframe_id ); ?>");
117
+ const timerId = setInterval( function() {
118
+ iframe.src = iframe.src;
119
+ }, 2000 );
120
+
121
+ iframe.onload = function() {
122
+ clearInterval(timerId);
123
+ }
124
+
125
+ </script>
126
+ <?php endif; ?>
127
+
128
+ <?php
129
+ return ob_get_clean();
130
+ }
@@ -0,0 +1,9 @@
1
+ body.newspack-post-with-fullscreen-iframe {
2
+ #page {
3
+ visibility: hidden;
4
+ }
5
+
6
+ .wp-block-newspack-blocks-iframe {
7
+ visibility: visible;
8
+ }
9
+ }
@@ -99,7 +99,7 @@ function newspack_blocks_get_video_playlist_videos( $args ) {
99
99
  $query_args = array(
100
100
  'post_type' => 'post',
101
101
  'post_status' => 'publish',
102
- 's' => 'core-embed/youtube',
102
+ 's' => 'youtube',
103
103
  'posts_per_page' => $args['videosToShow'],
104
104
  );
105
105
 
@@ -113,8 +113,9 @@ function newspack_blocks_get_video_playlist_videos( $args ) {
113
113
  $blocks = parse_blocks( $post->post_content );
114
114
  $youtube_blocks = array_filter(
115
115
  $blocks,
116
- function( $blocks ) {
117
- return 'core-embed/youtube' === $blocks['blockName'];
116
+ function( $block ) {
117
+ return ( 'core/embed' === $block['blockName'] && 'youtube' === $block['attrs']['providerNameSlug'] )
118
+ || 'core-embed/youtube' === $block['blockName'];
118
119
  }
119
120
  );
120
121
  foreach ( $youtube_blocks as $youtube_block ) {
@@ -31,10 +31,10 @@ class QueryControls extends Component {
31
31
  return apiFetch( {
32
32
  url: addQueryArgs( restUrl, {
33
33
  search,
34
- per_page: 20,
34
+ postsToShow: 20,
35
35
  _fields: 'id,title',
36
36
  type: 'post',
37
- post_type: postType,
37
+ postType,
38
38
  } ),
39
39
  } ).then( function ( posts ) {
40
40
  const result = posts.map( post => ( {
@@ -49,10 +49,11 @@ class QueryControls extends Component {
49
49
  const restUrl = window.newspack_blocks_data.posts_rest_url;
50
50
  return apiFetch( {
51
51
  url: addQueryArgs( restUrl, {
52
- per_page: 100,
52
+ // These params use the block query parameters (see Newspack_Blocks::build_articles_query).
53
+ postsToShow: 100,
53
54
  include: postIDs.join( ',' ),
54
55
  _fields: 'id,title',
55
- post_type: postType,
56
+ postType,
56
57
  } ),
57
58
  } ).then( function ( posts ) {
58
59
  return posts.map( post => ( {
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import './public-path';
5
4
  import './category';
6
5
  import './block-styles';
7
6
  import './editor.scss';
@@ -15,7 +15,7 @@ export const formatAvatars = authorInfo =>
15
15
 
16
16
  export const formatByline = authorInfo => (
17
17
  <span className="byline">
18
- <span className="author-prefix">{ _x( 'by', 'post author', 'newspack-blocks' ) } </span>
18
+ <span className="author-prefix">{ _x( 'by', 'post author', 'newspack-blocks' ) }</span>{ ' ' }
19
19
  { authorInfo.reduce( ( accumulator, author, index ) => {
20
20
  return [
21
21
  ...accumulator,
@@ -0,0 +1,99 @@
1
+ <?php
2
+ /**
3
+ * Template for a single author profile card.
4
+ *
5
+ * @global array $attributes Block attributes.
6
+ * @package WordPress
7
+ */
8
+
9
+ call_user_func(
10
+ function( $data ) {
11
+ if ( ! isset( $data['attributes'] ) || ! isset( $data['author'] ) ) {
12
+ return;
13
+ }
14
+
15
+ $attributes = $data['attributes'];
16
+ $author = $data['author'];
17
+
18
+ // Whether to render links to the author's archive page.
19
+ $show_archive_link = $attributes['showArchiveLink'] && ! empty( $author['url'] );
20
+
21
+ // Combine social links and email, which are shown together.
22
+ $social_links = $attributes['showSocial'] && ! empty( $author['social'] ) ? $author['social'] : [];
23
+ if ( $attributes['showEmail'] && ! empty( $author['email'] ) ) {
24
+ $social_links['email'] = $author['email'];
25
+ }
26
+
27
+ $extra_classes = [
28
+ 'text-size-' . $attributes['textSize'],
29
+ 'avatar-' . $attributes['avatarAlignment'],
30
+ ];
31
+
32
+ // Add classes to the block.
33
+ $classes = Newspack_Blocks::block_classes(
34
+ 'author-profile',
35
+ $attributes,
36
+ $extra_classes
37
+ );
38
+
39
+ ?>
40
+ <div class="<?php echo esc_attr( $classes ); ?>">
41
+ <?php if ( $attributes['showAvatar'] && isset( $author['avatar'] ) ) : ?>
42
+ <div class="wp-block-newspack-blocks-author-profile__avatar">
43
+ <figure style="border-radius: <?php echo esc_attr( $attributes['avatarBorderRadius'] ); ?>; height: <?php echo esc_attr( $attributes['avatarSize'] ); ?>px; width: <?php echo esc_attr( $attributes['avatarSize'] ); ?>px;">
44
+ <?php echo wp_kses_post( $author['avatar'] ); ?>
45
+ </figure>
46
+ </div>
47
+ <?php endif; ?>
48
+ <div class="wp-block-newspack-blocks-author-profile__bio">
49
+ <h3>
50
+ <?php if ( $show_archive_link ) : ?>
51
+ <a href="<?php echo esc_url( $author['url'] ); ?>">
52
+ <?php endif; ?>
53
+ <?php echo esc_html( $author['name'] ); ?>
54
+ <?php if ( $show_archive_link ) : ?>
55
+ </a>
56
+ <?php endif; ?>
57
+ </h3>
58
+
59
+ <?php if ( $attributes['showBio'] && ! empty( $author['bio'] ) ) : ?>
60
+ <?php
61
+ $bio = $author['bio'];
62
+
63
+ if ( $show_archive_link ) {
64
+ $bio .= sprintf(
65
+ // Translators: "more by this author" link.
66
+ __( ' <a href="%1$s">More by %2$s</a>', 'newspack-blocks' ),
67
+ $author['url'],
68
+ $author['name']
69
+ );
70
+ }
71
+
72
+ echo wp_kses_post( wpautop( $bio ) );
73
+ ?>
74
+ <?php endif; ?>
75
+
76
+ <?php if ( $attributes['showEmail'] || $attributes['showSocial'] ) : ?>
77
+ <ul class="wp-block-newspack-blocks-author-profile__social-links">
78
+ <?php foreach ( $social_links as $service => $social_data ) : ?>
79
+ <li>
80
+ <a href="<?php echo esc_url( $social_data['url'] ); ?>">
81
+ <?php if ( ! empty( $social_data['svg'] ) ) : ?>
82
+ <span>
83
+ <?php echo Newspack_Blocks::sanitize_svg( $social_data['svg'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
84
+ </span>
85
+ <?php endif; ?>
86
+ <span class="<?php echo ! empty( $social_data['svg'] ) ? esc_attr( 'hidden' ) : esc_attr( 'visible' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>">
87
+ <?php echo esc_html( $service ); ?>
88
+ </span>
89
+ </a>
90
+ </li>
91
+ <?php endforeach; ?>
92
+ </ul>
93
+ <?php endif; ?>
94
+ </div>
95
+ </div>
96
+ <?php
97
+ },
98
+ $data // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
99
+ );
@@ -0,0 +1,7 @@
1
+ <?php
2
+
3
+ // autoload.php @generated by Composer
4
+
5
+ require_once __DIR__ . '/composer/autoload_real.php';
6
+
7
+ return ComposerAutoloaderInit50906784de784e4392a8cd31208be78d::getLoader();