@wordpress/block-library 8.20.1 → 8.21.1-next.f8d8eceb.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 (412) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +12 -0
  3. package/build/avatar/index.js +5 -1
  4. package/build/avatar/index.js.map +1 -1
  5. package/build/block/edit-title.native.js +11 -3
  6. package/build/block/edit-title.native.js.map +1 -1
  7. package/build/block/index.js +2 -1
  8. package/build/block/index.js.map +1 -1
  9. package/build/code/edit.native.js +8 -2
  10. package/build/code/edit.native.js.map +1 -1
  11. package/build/column/edit.js +2 -1
  12. package/build/column/edit.js.map +1 -1
  13. package/build/column/edit.native.js +2 -1
  14. package/build/column/edit.native.js.map +1 -1
  15. package/build/columns/edit.native.js +2 -1
  16. package/build/columns/edit.native.js.map +1 -1
  17. package/build/cover/controls.native.js +2 -1
  18. package/build/cover/controls.native.js.map +1 -1
  19. package/build/cover/deprecated.js +110 -1
  20. package/build/cover/deprecated.js.map +1 -1
  21. package/build/cover/edit/index.js +11 -4
  22. package/build/cover/edit/index.js.map +1 -1
  23. package/build/cover/edit/inspector-controls.js +3 -3
  24. package/build/cover/edit/inspector-controls.js.map +1 -1
  25. package/build/cover/index.js +0 -3
  26. package/build/cover/index.js.map +1 -1
  27. package/build/cover/save.js +2 -1
  28. package/build/cover/save.js.map +1 -1
  29. package/build/cover/shared.js +1 -1
  30. package/build/cover/shared.js.map +1 -1
  31. package/build/file/view.js +1 -1
  32. package/build/file/view.js.map +1 -1
  33. package/build/footnotes/index.js +1 -0
  34. package/build/footnotes/index.js.map +1 -1
  35. package/build/form/edit.js +138 -0
  36. package/build/form/edit.js.map +1 -0
  37. package/build/form/index.js +92 -0
  38. package/build/form/index.js.map +1 -0
  39. package/build/form/init.js +13 -0
  40. package/build/form/init.js.map +1 -0
  41. package/build/form/save.js +28 -0
  42. package/build/form/save.js.map +1 -0
  43. package/build/form/utils.js +24 -0
  44. package/build/form/utils.js.map +1 -0
  45. package/build/form/variations.js +95 -0
  46. package/build/form/variations.js.map +1 -0
  47. package/build/form/view.js +42 -0
  48. package/build/form/view.js.map +1 -0
  49. package/build/form-input/edit.js +124 -0
  50. package/build/form-input/edit.js.map +1 -0
  51. package/build/form-input/index.js +105 -0
  52. package/build/form-input/index.js.map +1 -0
  53. package/build/form-input/init.js +13 -0
  54. package/build/form-input/init.js.map +1 -0
  55. package/build/form-input/save.js +87 -0
  56. package/build/form-input/save.js.map +1 -0
  57. package/build/form-input/variations.js +93 -0
  58. package/build/form-input/variations.js.map +1 -0
  59. package/build/form-submission-notification/edit.js +59 -0
  60. package/build/form-submission-notification/edit.js.map +1 -0
  61. package/build/form-submission-notification/index.js +56 -0
  62. package/build/form-submission-notification/index.js.map +1 -0
  63. package/build/form-submission-notification/init.js +13 -0
  64. package/build/form-submission-notification/init.js.map +1 -0
  65. package/build/form-submission-notification/save.js +33 -0
  66. package/build/form-submission-notification/save.js.map +1 -0
  67. package/build/form-submission-notification/variations.js +63 -0
  68. package/build/form-submission-notification/variations.js.map +1 -0
  69. package/build/form-submit-button/edit.js +32 -0
  70. package/build/form-submit-button/edit.js.map +1 -0
  71. package/build/form-submit-button/index.js +44 -0
  72. package/build/form-submit-button/index.js.map +1 -0
  73. package/build/form-submit-button/init.js +13 -0
  74. package/build/form-submit-button/init.js.map +1 -0
  75. package/build/form-submit-button/save.js +22 -0
  76. package/build/form-submit-button/save.js.map +1 -0
  77. package/build/group/edit.js +2 -11
  78. package/build/group/edit.js.map +1 -1
  79. package/build/group/index.js +0 -1
  80. package/build/group/index.js.map +1 -1
  81. package/build/heading/index.js +3 -2
  82. package/build/heading/index.js.map +1 -1
  83. package/build/html/preview.js +2 -4
  84. package/build/html/preview.js.map +1 -1
  85. package/build/image/image.js +15 -6
  86. package/build/image/image.js.map +1 -1
  87. package/build/image/view.js +71 -39
  88. package/build/image/view.js.map +1 -1
  89. package/build/index.js +10 -0
  90. package/build/index.js.map +1 -1
  91. package/build/latest-posts/edit.js +6 -2
  92. package/build/latest-posts/edit.js.map +1 -1
  93. package/build/list-item/hooks/use-merge.js +15 -15
  94. package/build/list-item/hooks/use-merge.js.map +1 -1
  95. package/build/lock-unlock.js +1 -1
  96. package/build/lock-unlock.js.map +1 -1
  97. package/build/missing/edit.native.js +54 -64
  98. package/build/missing/edit.native.js.map +1 -1
  99. package/build/navigation/edit/index.js +0 -1
  100. package/build/navigation/edit/index.js.map +1 -1
  101. package/build/navigation/index.js +2 -1
  102. package/build/navigation/index.js.map +1 -1
  103. package/build/navigation/view.js +27 -5
  104. package/build/navigation/view.js.map +1 -1
  105. package/build/page-list-item/edit.js +3 -1
  106. package/build/page-list-item/edit.js.map +1 -1
  107. package/build/paragraph/edit.js +1 -1
  108. package/build/paragraph/edit.js.map +1 -1
  109. package/build/paragraph/index.js +7 -0
  110. package/build/paragraph/index.js.map +1 -1
  111. package/build/pattern/index.js +2 -1
  112. package/build/pattern/index.js.map +1 -1
  113. package/build/post-featured-image/dimension-controls.js +2 -2
  114. package/build/post-featured-image/dimension-controls.js.map +1 -1
  115. package/build/query/edit/enhanced-pagination-modal.js +27 -13
  116. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  117. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +15 -12
  118. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  119. package/build/query/utils.js +29 -8
  120. package/build/query/utils.js.map +1 -1
  121. package/build/query/view.js +4 -2
  122. package/build/query/view.js.map +1 -1
  123. package/build/search/edit.js +1 -2
  124. package/build/search/edit.js.map +1 -1
  125. package/build/social-link/edit.native.js +7 -19
  126. package/build/social-link/edit.native.js.map +1 -1
  127. package/build/spacer/controls.js +3 -3
  128. package/build/spacer/controls.js.map +1 -1
  129. package/build/spacer/controls.native.js +2 -1
  130. package/build/spacer/controls.native.js.map +1 -1
  131. package/build/spacer/edit.js +1 -1
  132. package/build/spacer/edit.js.map +1 -1
  133. package/build/spacer/edit.native.js +5 -1
  134. package/build/spacer/edit.native.js.map +1 -1
  135. package/build/tag-cloud/edit.js +2 -1
  136. package/build/tag-cloud/edit.js.map +1 -1
  137. package/build/template-part/edit/inner-blocks.js +2 -2
  138. package/build/template-part/edit/inner-blocks.js.map +1 -1
  139. package/build/template-part/index.js +2 -1
  140. package/build/template-part/index.js.map +1 -1
  141. package/build/term-description/index.js +0 -1
  142. package/build/term-description/index.js.map +1 -1
  143. package/build-module/avatar/index.js +5 -1
  144. package/build-module/avatar/index.js.map +1 -1
  145. package/build-module/block/edit-title.native.js +12 -4
  146. package/build-module/block/edit-title.native.js.map +1 -1
  147. package/build-module/block/index.js +2 -1
  148. package/build-module/block/index.js.map +1 -1
  149. package/build-module/code/edit.native.js +8 -2
  150. package/build-module/code/edit.native.js.map +1 -1
  151. package/build-module/column/edit.js +3 -2
  152. package/build-module/column/edit.js.map +1 -1
  153. package/build-module/column/edit.native.js +3 -2
  154. package/build-module/column/edit.native.js.map +1 -1
  155. package/build-module/columns/edit.native.js +3 -2
  156. package/build-module/columns/edit.native.js.map +1 -1
  157. package/build-module/cover/controls.native.js +3 -2
  158. package/build-module/cover/controls.native.js.map +1 -1
  159. package/build-module/cover/deprecated.js +110 -1
  160. package/build-module/cover/deprecated.js.map +1 -1
  161. package/build-module/cover/edit/index.js +12 -5
  162. package/build-module/cover/edit/index.js.map +1 -1
  163. package/build-module/cover/edit/inspector-controls.js +4 -4
  164. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  165. package/build-module/cover/index.js +0 -3
  166. package/build-module/cover/index.js.map +1 -1
  167. package/build-module/cover/save.js +2 -1
  168. package/build-module/cover/save.js.map +1 -1
  169. package/build-module/cover/shared.js +1 -1
  170. package/build-module/cover/shared.js.map +1 -1
  171. package/build-module/file/view.js +2 -2
  172. package/build-module/file/view.js.map +1 -1
  173. package/build-module/footnotes/index.js +1 -0
  174. package/build-module/footnotes/index.js.map +1 -1
  175. package/build-module/form/edit.js +130 -0
  176. package/build-module/form/edit.js.map +1 -0
  177. package/build-module/form/index.js +82 -0
  178. package/build-module/form/index.js.map +1 -0
  179. package/build-module/form/init.js +6 -0
  180. package/build-module/form/init.js.map +1 -0
  181. package/build-module/form/save.js +20 -0
  182. package/build-module/form/save.js.map +1 -0
  183. package/build-module/form/utils.js +15 -0
  184. package/build-module/form/utils.js.map +1 -0
  185. package/build-module/form/variations.js +86 -0
  186. package/build-module/form/variations.js.map +1 -0
  187. package/build-module/form/view.js +40 -0
  188. package/build-module/form/view.js.map +1 -0
  189. package/build-module/form-input/edit.js +115 -0
  190. package/build-module/form-input/edit.js.map +1 -0
  191. package/build-module/form-input/index.js +95 -0
  192. package/build-module/form-input/index.js.map +1 -0
  193. package/build-module/form-input/init.js +6 -0
  194. package/build-module/form-input/init.js.map +1 -0
  195. package/build-module/form-input/save.js +80 -0
  196. package/build-module/form-input/save.js.map +1 -0
  197. package/build-module/form-input/variations.js +85 -0
  198. package/build-module/form-input/variations.js.map +1 -0
  199. package/build-module/form-submission-notification/edit.js +50 -0
  200. package/build-module/form-submission-notification/edit.js.map +1 -0
  201. package/build-module/form-submission-notification/index.js +47 -0
  202. package/build-module/form-submission-notification/index.js.map +1 -0
  203. package/build-module/form-submission-notification/init.js +6 -0
  204. package/build-module/form-submission-notification/init.js.map +1 -0
  205. package/build-module/form-submission-notification/save.js +25 -0
  206. package/build-module/form-submission-notification/save.js.map +1 -0
  207. package/build-module/form-submission-notification/variations.js +55 -0
  208. package/build-module/form-submission-notification/variations.js.map +1 -0
  209. package/build-module/form-submit-button/edit.js +24 -0
  210. package/build-module/form-submit-button/edit.js.map +1 -0
  211. package/build-module/form-submit-button/index.js +34 -0
  212. package/build-module/form-submit-button/index.js.map +1 -0
  213. package/build-module/form-submit-button/init.js +6 -0
  214. package/build-module/form-submit-button/init.js.map +1 -0
  215. package/build-module/form-submit-button/save.js +14 -0
  216. package/build-module/form-submit-button/save.js.map +1 -0
  217. package/build-module/group/edit.js +3 -12
  218. package/build-module/group/edit.js.map +1 -1
  219. package/build-module/group/index.js +0 -1
  220. package/build-module/group/index.js.map +1 -1
  221. package/build-module/heading/index.js +3 -2
  222. package/build-module/heading/index.js.map +1 -1
  223. package/build-module/html/preview.js +2 -4
  224. package/build-module/html/preview.js.map +1 -1
  225. package/build-module/image/image.js +16 -7
  226. package/build-module/image/image.js.map +1 -1
  227. package/build-module/image/view.js +71 -39
  228. package/build-module/image/view.js.map +1 -1
  229. package/build-module/index.js +10 -0
  230. package/build-module/index.js.map +1 -1
  231. package/build-module/latest-posts/edit.js +6 -2
  232. package/build-module/latest-posts/edit.js.map +1 -1
  233. package/build-module/list-item/hooks/use-merge.js +15 -15
  234. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  235. package/build-module/lock-unlock.js +1 -1
  236. package/build-module/lock-unlock.js.map +1 -1
  237. package/build-module/missing/edit.native.js +58 -68
  238. package/build-module/missing/edit.native.js.map +1 -1
  239. package/build-module/navigation/edit/index.js +0 -1
  240. package/build-module/navigation/edit/index.js.map +1 -1
  241. package/build-module/navigation/index.js +2 -1
  242. package/build-module/navigation/index.js.map +1 -1
  243. package/build-module/navigation/view.js +27 -5
  244. package/build-module/navigation/view.js.map +1 -1
  245. package/build-module/page-list-item/edit.js +3 -1
  246. package/build-module/page-list-item/edit.js.map +1 -1
  247. package/build-module/paragraph/edit.js +2 -2
  248. package/build-module/paragraph/edit.js.map +1 -1
  249. package/build-module/paragraph/index.js +7 -0
  250. package/build-module/paragraph/index.js.map +1 -1
  251. package/build-module/pattern/index.js +2 -1
  252. package/build-module/pattern/index.js.map +1 -1
  253. package/build-module/post-featured-image/dimension-controls.js +3 -3
  254. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  255. package/build-module/query/edit/enhanced-pagination-modal.js +28 -14
  256. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  257. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +17 -14
  258. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  259. package/build-module/query/utils.js +27 -5
  260. package/build-module/query/utils.js.map +1 -1
  261. package/build-module/query/view.js +4 -2
  262. package/build-module/query/view.js.map +1 -1
  263. package/build-module/search/edit.js +2 -3
  264. package/build-module/search/edit.js.map +1 -1
  265. package/build-module/social-link/edit.native.js +8 -20
  266. package/build-module/social-link/edit.native.js.map +1 -1
  267. package/build-module/spacer/controls.js +4 -4
  268. package/build-module/spacer/controls.js.map +1 -1
  269. package/build-module/spacer/controls.native.js +3 -2
  270. package/build-module/spacer/controls.native.js.map +1 -1
  271. package/build-module/spacer/edit.js +2 -2
  272. package/build-module/spacer/edit.js.map +1 -1
  273. package/build-module/spacer/edit.native.js +6 -2
  274. package/build-module/spacer/edit.native.js.map +1 -1
  275. package/build-module/tag-cloud/edit.js +3 -2
  276. package/build-module/tag-cloud/edit.js.map +1 -1
  277. package/build-module/template-part/edit/inner-blocks.js +3 -3
  278. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  279. package/build-module/template-part/index.js +2 -1
  280. package/build-module/template-part/index.js.map +1 -1
  281. package/build-module/term-description/index.js +0 -1
  282. package/build-module/term-description/index.js.map +1 -1
  283. package/build-style/editor-rtl.css +50 -0
  284. package/build-style/editor.css +50 -0
  285. package/build-style/file/style-rtl.css +0 -5
  286. package/build-style/file/style.css +0 -5
  287. package/build-style/form-input/editor-rtl.css +106 -0
  288. package/build-style/form-input/editor.css +106 -0
  289. package/build-style/form-input/style-rtl.css +135 -0
  290. package/build-style/form-input/style.css +135 -0
  291. package/build-style/form-submission-notification/editor-rtl.css +118 -0
  292. package/build-style/form-submission-notification/editor.css +118 -0
  293. package/build-style/form-submit-button/style-rtl.css +91 -0
  294. package/build-style/form-submit-button/style.css +91 -0
  295. package/build-style/image/style-rtl.css +39 -5
  296. package/build-style/image/style.css +39 -5
  297. package/build-style/navigation/style-rtl.css +5 -0
  298. package/build-style/navigation/style.css +5 -0
  299. package/build-style/query/style-rtl.css +0 -10
  300. package/build-style/query/style.css +0 -10
  301. package/build-style/style-rtl.css +92 -10
  302. package/build-style/style.css +92 -10
  303. package/package.json +32 -32
  304. package/src/avatar/block.json +5 -1
  305. package/src/block/block.json +2 -1
  306. package/src/block/edit-title.native.js +16 -13
  307. package/src/calendar/index.php +2 -6
  308. package/src/code/edit.native.js +15 -1
  309. package/src/column/edit.js +3 -8
  310. package/src/column/edit.native.js +3 -8
  311. package/src/columns/edit.native.js +3 -8
  312. package/src/comment-author-avatar/index.php +1 -1
  313. package/src/cover/block.json +0 -3
  314. package/src/cover/controls.native.js +3 -8
  315. package/src/cover/deprecated.js +151 -1
  316. package/src/cover/edit/index.js +15 -5
  317. package/src/cover/edit/inspector-controls.js +22 -33
  318. package/src/cover/save.js +2 -1
  319. package/src/cover/shared.js +1 -1
  320. package/src/editor.scss +2 -0
  321. package/src/file/index.php +2 -1
  322. package/src/file/style.scss +0 -6
  323. package/src/file/view.js +2 -2
  324. package/src/footnotes/block.json +1 -0
  325. package/src/form/block.json +60 -0
  326. package/src/form/edit.js +179 -0
  327. package/src/form/index.js +20 -0
  328. package/src/form/index.php +214 -0
  329. package/src/form/init.js +6 -0
  330. package/src/form/save.js +20 -0
  331. package/src/form/utils.js +39 -0
  332. package/src/form/variations.js +139 -0
  333. package/src/form/view.js +41 -0
  334. package/src/form-input/block.json +73 -0
  335. package/src/form-input/edit.js +151 -0
  336. package/src/form-input/editor.scss +24 -0
  337. package/src/form-input/index.js +20 -0
  338. package/src/form-input/index.php +45 -0
  339. package/src/form-input/init.js +6 -0
  340. package/src/form-input/save.js +83 -0
  341. package/src/form-input/style.scss +61 -0
  342. package/src/form-input/variations.js +82 -0
  343. package/src/form-submission-notification/block.json +19 -0
  344. package/src/form-submission-notification/edit.js +63 -0
  345. package/src/form-submission-notification/editor.scss +45 -0
  346. package/src/form-submission-notification/index.js +26 -0
  347. package/src/form-submission-notification/index.php +48 -0
  348. package/src/form-submission-notification/init.js +6 -0
  349. package/src/form-submission-notification/save.js +28 -0
  350. package/src/form-submission-notification/variations.js +59 -0
  351. package/src/form-submit-button/block.json +14 -0
  352. package/src/form-submit-button/edit.js +33 -0
  353. package/src/form-submit-button/index.js +18 -0
  354. package/src/form-submit-button/init.js +6 -0
  355. package/src/form-submit-button/save.js +14 -0
  356. package/src/form-submit-button/style.scss +3 -0
  357. package/src/freeform/test/__snapshots__/index.native.js.snap +7 -0
  358. package/src/freeform/test/index.native.js +57 -0
  359. package/src/group/block.json +0 -1
  360. package/src/group/edit.js +2 -7
  361. package/src/heading/index.js +4 -2
  362. package/src/html/preview.js +9 -4
  363. package/src/image/image.js +27 -6
  364. package/src/image/index.php +128 -83
  365. package/src/image/style.scss +49 -5
  366. package/src/image/view.js +93 -51
  367. package/src/index.js +10 -0
  368. package/src/latest-posts/edit.js +11 -2
  369. package/src/latest-posts/index.php +17 -8
  370. package/src/list-item/hooks/use-merge.js +20 -23
  371. package/src/lock-unlock.js +1 -1
  372. package/src/missing/edit.native.js +56 -117
  373. package/src/missing/style.native.scss +0 -67
  374. package/src/missing/test/edit-integration.native.js +135 -49
  375. package/src/missing/test/edit.native.js +0 -41
  376. package/src/navigation/block.json +2 -1
  377. package/src/navigation/edit/index.js +0 -1
  378. package/src/navigation/index.php +28 -8
  379. package/src/navigation/style.scss +6 -1
  380. package/src/navigation/view.js +25 -6
  381. package/src/page-list-item/edit.js +2 -0
  382. package/src/paragraph/edit.js +2 -2
  383. package/src/paragraph/index.js +10 -0
  384. package/src/pattern/block.json +2 -1
  385. package/src/pattern/index.php +0 -3
  386. package/src/post-featured-image/dimension-controls.js +3 -3
  387. package/src/post-navigation-link/index.php +2 -1
  388. package/src/preformatted/test/edit.native.js +38 -0
  389. package/src/query/edit/enhanced-pagination-modal.js +37 -21
  390. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +18 -22
  391. package/src/query/index.php +100 -10
  392. package/src/query/style.scss +0 -11
  393. package/src/query/utils.js +29 -8
  394. package/src/query/view.js +11 -2
  395. package/src/query-pagination-next/index.php +1 -1
  396. package/src/query-pagination-previous/index.php +1 -1
  397. package/src/search/edit.js +5 -3
  398. package/src/search/index.php +0 -4
  399. package/src/social-link/edit.native.js +12 -26
  400. package/src/social-link/editor.native.scss +0 -9
  401. package/src/social-link/index.php +2 -2
  402. package/src/spacer/controls.js +9 -12
  403. package/src/spacer/controls.native.js +3 -8
  404. package/src/spacer/edit.js +2 -2
  405. package/src/spacer/edit.native.js +6 -5
  406. package/src/style.scss +1 -0
  407. package/src/tag-cloud/edit.js +3 -7
  408. package/src/template-part/block.json +2 -1
  409. package/src/template-part/edit/inner-blocks.js +3 -3
  410. package/src/template-part/index.php +4 -7
  411. package/src/term-description/block.json +0 -1
  412. package/src/verse/test/edit.native.js +37 -0
@@ -1 +1 @@
1
- {"version":3,"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","createElement","style","columnAppender","ButtonBlockAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","settingLabel","key","clientId","length","min","max","undefined","value","onUnitChange","onComplete","unit","preview","columnWidths","selectedColumnIndex","onChangeColumnsNum","Fragment","title","icon","type","innerBlocksSelected","orientation","horizontal","allowedBlocks","contentResizeMode","blockWidth","contentStyle","parentWidth","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel={ __( 'Width' ) }\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSettings","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","availableUnits","units","newColumnCount","renderAppender","createElement","style","columnAppender","ButtonBlockAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","settingLabel","key","clientId","length","min","max","undefined","value","onUnitChange","onComplete","unit","preview","columnWidths","selectedColumnIndex","onChangeColumnsNum","Fragment","title","icon","type","innerBlocksSelected","orientation","horizontal","allowedBlocks","contentResizeMode","blockWidth","contentStyle","parentWidth","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel={ __( 'Width' ) }\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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"}
@@ -12,7 +12,7 @@ import { Image, Icon, IMAGE_DEFAULT_FOCAL_POINT, PanelBody, RangeControl, UnitCo
12
12
  import { plus } from '@wordpress/icons';
13
13
  import { useState, useCallback, useRef } from '@wordpress/element';
14
14
  import { usePreferredColorSchemeStyle } from '@wordpress/compose';
15
- import { useSetting, MediaUpload } from '@wordpress/block-editor';
15
+ import { useSettings, MediaUpload } from '@wordpress/block-editor';
16
16
  import { __ } from '@wordpress/i18n';
17
17
 
18
18
  /**
@@ -48,8 +48,9 @@ function Controls({
48
48
  });
49
49
  }
50
50
  }, [minHeight]);
51
+ const [availableUnits] = useSettings('spacing.units');
51
52
  const units = useCustomUnits({
52
- availableUnits: useSetting('spacing.units') || ['px', 'em', 'rem', 'vw', 'vh'],
53
+ availableUnits: availableUnits || ['px', 'em', 'rem', 'vw', 'vh'],
53
54
  defaultValues: {
54
55
  px: 430,
55
56
  em: 20,
@@ -1 +1 @@
1
- {"version":3,"names":["View","Video","Image","Icon","IMAGE_DEFAULT_FOCAL_POINT","PanelBody","RangeControl","UnitControl","TextControl","BottomSheet","ToggleControl","__experimentalUseCustomUnits","useCustomUnits","plus","useState","useCallback","useRef","usePreferredColorSchemeStyle","useSetting","MediaUpload","__","styles","OverlayColorSettings","FocalPointSettingsButton","ALLOWED_MEDIA_TYPES","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","onHeightChange","value","units","availableUnits","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","addMediaButtonStyle","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","createElement","icon","size","style","renderMediaSection","open","openMediaOptions","getMediaOptions","Fragment","Cell","accessible","cellContainerStyle","mediaPreview","mediaInner","editButton","highlightSelected","isSelected","isUploadFailed","mediaPickerOptions","destructiveButton","id","label","onPress","separated","onImageDataLoad","onSelectMediaUploadOption","image","muted","paused","disableFocus","onLoadStart","onLoad","event","naturalSize","current","seek","ref","resizeMode","source","uri","disabled","onFocalPointChange","checked","onChange","leftAlign","labelStyle","clearMediaButton","accessibilityLabel","title","allowedTypes","isReplacingMedia","onSelect","render","overlayColor","customOverlayColor","gradient","customGradient","minimumValue","maximumValue","rangeCellContainer","separatorType","min","unit","onUnitChange","key"],"sources":["@wordpress/block-library/src/cover/controls.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSetting, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst { height, width } =\n\t\t\t\t\t\t\t\t\t\t\tevent.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://github.com/react-native-video/react-native-video/issues/1979\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","Video","Image","Icon","IMAGE_DEFAULT_FOCAL_POINT","PanelBody","RangeControl","UnitControl","TextControl","BottomSheet","ToggleControl","__experimentalUseCustomUnits","useCustomUnits","plus","useState","useCallback","useRef","usePreferredColorSchemeStyle","useSettings","MediaUpload","__","styles","OverlayColorSettings","FocalPointSettingsButton","ALLOWED_MEDIA_TYPES","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","onHeightChange","value","availableUnits","units","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","addMediaButtonStyle","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","createElement","icon","size","style","renderMediaSection","open","openMediaOptions","getMediaOptions","Fragment","Cell","accessible","cellContainerStyle","mediaPreview","mediaInner","editButton","highlightSelected","isSelected","isUploadFailed","mediaPickerOptions","destructiveButton","id","label","onPress","separated","onImageDataLoad","onSelectMediaUploadOption","image","muted","paused","disableFocus","onLoadStart","onLoad","event","naturalSize","current","seek","ref","resizeMode","source","uri","disabled","onFocalPointChange","checked","onChange","leftAlign","labelStyle","clearMediaButton","accessibilityLabel","title","allowedTypes","isReplacingMedia","onSelect","render","overlayColor","customOverlayColor","gradient","customGradient","minimumValue","maximumValue","rangeCellContainer","separatorType","min","unit","onUnitChange","key"],"sources":["@wordpress/block-library/src/cover/controls.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSettings, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst { height, width } =\n\t\t\t\t\t\t\t\t\t\t\tevent.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://github.com/react-native-video/react-native-video/issues/1979\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"],"mappings":"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"}
@@ -221,6 +221,115 @@ const v12BlockSupports = {
221
221
  }
222
222
  };
223
223
 
224
+ // Deprecation for blocks that does not have the aria-label when the image background is fixed or repeated.
225
+ const v13 = {
226
+ attributes: v12BlockAttributes,
227
+ supports: v12BlockSupports,
228
+ save({
229
+ attributes
230
+ }) {
231
+ const {
232
+ backgroundType,
233
+ gradient,
234
+ contentPosition,
235
+ customGradient,
236
+ customOverlayColor,
237
+ dimRatio,
238
+ focalPoint,
239
+ useFeaturedImage,
240
+ hasParallax,
241
+ isDark,
242
+ isRepeated,
243
+ overlayColor,
244
+ url,
245
+ alt,
246
+ id,
247
+ minHeight: minHeightProp,
248
+ minHeightUnit,
249
+ tagName: Tag
250
+ } = attributes;
251
+ const overlayColorClass = getColorClassName('background-color', overlayColor);
252
+ const gradientClass = __experimentalGetGradientClass(gradient);
253
+ const minHeight = minHeightProp && minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp;
254
+ const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
255
+ const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
256
+ const isImgElement = !(hasParallax || isRepeated);
257
+ const style = {
258
+ minHeight: minHeight || undefined
259
+ };
260
+ const bgStyle = {
261
+ backgroundColor: !overlayColorClass ? customOverlayColor : undefined,
262
+ background: customGradient ? customGradient : undefined
263
+ };
264
+ const objectPosition =
265
+ // prettier-ignore
266
+ focalPoint && isImgElement ? mediaPosition(focalPoint) : undefined;
267
+ const backgroundImage = url ? `url(${url})` : undefined;
268
+ const backgroundPosition = mediaPosition(focalPoint);
269
+ const classes = classnames({
270
+ 'is-light': !isDark,
271
+ 'has-parallax': hasParallax,
272
+ 'is-repeated': isRepeated,
273
+ 'has-custom-content-position': !isContentPositionCenter(contentPosition)
274
+ }, getPositionClassName(contentPosition));
275
+ const imgClasses = classnames('wp-block-cover__image-background', id ? `wp-image-${id}` : null, {
276
+ 'has-parallax': hasParallax,
277
+ 'is-repeated': isRepeated
278
+ });
279
+ const gradientValue = gradient || customGradient;
280
+ return createElement(Tag, {
281
+ ...useBlockProps.save({
282
+ className: classes,
283
+ style
284
+ })
285
+ }, createElement("span", {
286
+ "aria-hidden": "true",
287
+ className: classnames('wp-block-cover__background', overlayColorClass, dimRatioToClass(dimRatio), {
288
+ 'has-background-dim': dimRatio !== undefined,
289
+ // For backwards compatibility. Former versions of the Cover Block applied
290
+ // `.wp-block-cover__gradient-background` in the presence of
291
+ // media, a gradient and a dim.
292
+ 'wp-block-cover__gradient-background': url && gradientValue && dimRatio !== 0,
293
+ 'has-background-gradient': gradientValue,
294
+ [gradientClass]: gradientClass
295
+ }),
296
+ style: bgStyle
297
+ }), !useFeaturedImage && isImageBackground && url && (isImgElement ? createElement("img", {
298
+ className: imgClasses,
299
+ alt: alt,
300
+ src: url,
301
+ style: {
302
+ objectPosition
303
+ },
304
+ "data-object-fit": "cover",
305
+ "data-object-position": objectPosition
306
+ }) : createElement("div", {
307
+ role: "img",
308
+ className: imgClasses,
309
+ style: {
310
+ backgroundPosition,
311
+ backgroundImage
312
+ }
313
+ })), isVideoBackground && url && createElement("video", {
314
+ className: classnames('wp-block-cover__video-background', 'intrinsic-ignore'),
315
+ autoPlay: true,
316
+ muted: true,
317
+ loop: true,
318
+ playsInline: true,
319
+ src: url,
320
+ style: {
321
+ objectPosition
322
+ },
323
+ "data-object-fit": "cover",
324
+ "data-object-position": objectPosition
325
+ }), createElement("div", {
326
+ ...useInnerBlocksProps.save({
327
+ className: 'wp-block-cover__inner-container'
328
+ })
329
+ }));
330
+ }
331
+ };
332
+
224
333
  // Deprecation for blocks to prevent auto overlay color from overriding previously set values.
225
334
  const v12 = {
226
335
  attributes: v12BlockAttributes,
@@ -1296,5 +1405,5 @@ const v1 = {
1296
1405
  })]];
1297
1406
  }
1298
1407
  };
1299
- export default [v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1];
1408
+ export default [v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1];
1300
1409
  //# sourceMappingURL=deprecated.js.map