@wordpress/block-library 9.47.0 → 9.48.1

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 (552) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/columns/transforms.cjs +65 -0
  3. package/build/columns/transforms.cjs.map +2 -2
  4. package/build/comments/edit/placeholder.cjs +1 -1
  5. package/build/comments/edit/placeholder.cjs.map +2 -2
  6. package/build/cover/edit/inspector-controls.cjs +16 -4
  7. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  8. package/build/gallery/edit.cjs +212 -331
  9. package/build/gallery/edit.cjs.map +2 -2
  10. package/build/gallery/transforms.cjs +43 -0
  11. package/build/gallery/transforms.cjs.map +2 -2
  12. package/build/heading/edit.cjs +0 -1
  13. package/build/heading/edit.cjs.map +2 -2
  14. package/build/image/image.cjs +14 -3
  15. package/build/image/image.cjs.map +2 -2
  16. package/build/image/use-open-image-media-editor-modal.cjs +8 -2
  17. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  18. package/build/list/edit.cjs +1 -8
  19. package/build/list/edit.cjs.map +2 -2
  20. package/build/list/ordered-list-settings.cjs +1 -44
  21. package/build/list/ordered-list-settings.cjs.map +2 -2
  22. package/build/list-item/hooks/use-merge.cjs +47 -24
  23. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  24. package/build/navigation/edit/index.cjs +15 -26
  25. package/build/navigation/edit/index.cjs.map +2 -2
  26. package/build/navigation-link/edit.cjs +0 -1
  27. package/build/navigation-link/edit.cjs.map +2 -2
  28. package/build/navigation-submenu/edit.cjs +2 -1
  29. package/build/navigation-submenu/edit.cjs.map +2 -2
  30. package/build/paragraph/deprecated.cjs +1 -0
  31. package/build/paragraph/deprecated.cjs.map +2 -2
  32. package/build/paragraph/edit.cjs +10 -1
  33. package/build/paragraph/edit.cjs.map +3 -3
  34. package/build/playlist/block.json +12 -0
  35. package/build/playlist/edit.cjs +27 -1
  36. package/build/playlist/edit.cjs.map +2 -2
  37. package/build/playlist/save.cjs +8 -1
  38. package/build/playlist/save.cjs.map +2 -2
  39. package/build/playlist/view.cjs +1 -0
  40. package/build/playlist/view.cjs.map +2 -2
  41. package/build/post-featured-image/edit.cjs +6 -4
  42. package/build/post-featured-image/edit.cjs.map +2 -2
  43. package/build/post-time-to-read/index.cjs +1 -1
  44. package/build/post-time-to-read/index.cjs.map +2 -2
  45. package/build/post-time-to-read/variations.cjs +1 -1
  46. package/build/post-time-to-read/variations.cjs.map +2 -2
  47. package/build/pullquote/edit.cjs +2 -7
  48. package/build/pullquote/edit.cjs.map +2 -2
  49. package/build/quote/edit.cjs +4 -9
  50. package/build/quote/edit.cjs.map +2 -2
  51. package/build/shortcode/transforms.cjs +2 -2
  52. package/build/shortcode/transforms.cjs.map +2 -2
  53. package/build/site-logo/edit.cjs +4 -1
  54. package/build/site-logo/edit.cjs.map +2 -2
  55. package/build/utils/waveform-player.cjs +42 -9
  56. package/build/utils/waveform-player.cjs.map +2 -2
  57. package/build/utils/waveform-utils.cjs +6 -4
  58. package/build/utils/waveform-utils.cjs.map +2 -2
  59. package/build/video/edit-common-settings.cjs +3 -6
  60. package/build/video/edit-common-settings.cjs.map +2 -2
  61. package/build-module/columns/transforms.mjs +65 -0
  62. package/build-module/columns/transforms.mjs.map +2 -2
  63. package/build-module/comments/edit/placeholder.mjs +1 -1
  64. package/build-module/comments/edit/placeholder.mjs.map +2 -2
  65. package/build-module/cover/edit/inspector-controls.mjs +16 -4
  66. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  67. package/build-module/gallery/edit.mjs +214 -334
  68. package/build-module/gallery/edit.mjs.map +2 -2
  69. package/build-module/gallery/transforms.mjs +43 -0
  70. package/build-module/gallery/transforms.mjs.map +2 -2
  71. package/build-module/heading/edit.mjs +1 -2
  72. package/build-module/heading/edit.mjs.map +2 -2
  73. package/build-module/image/image.mjs +15 -3
  74. package/build-module/image/image.mjs.map +2 -2
  75. package/build-module/image/use-open-image-media-editor-modal.mjs +8 -2
  76. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  77. package/build-module/list/edit.mjs +2 -9
  78. package/build-module/list/edit.mjs.map +2 -2
  79. package/build-module/list/ordered-list-settings.mjs +1 -45
  80. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  81. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  82. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  83. package/build-module/navigation/edit/index.mjs +16 -33
  84. package/build-module/navigation/edit/index.mjs.map +2 -2
  85. package/build-module/navigation-link/edit.mjs +0 -1
  86. package/build-module/navigation-link/edit.mjs.map +2 -2
  87. package/build-module/navigation-submenu/edit.mjs +2 -1
  88. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  89. package/build-module/paragraph/deprecated.mjs +1 -0
  90. package/build-module/paragraph/deprecated.mjs.map +2 -2
  91. package/build-module/paragraph/edit.mjs +12 -2
  92. package/build-module/paragraph/edit.mjs.map +2 -2
  93. package/build-module/playlist/block.json +12 -0
  94. package/build-module/playlist/edit.mjs +27 -1
  95. package/build-module/playlist/edit.mjs.map +2 -2
  96. package/build-module/playlist/save.mjs +8 -1
  97. package/build-module/playlist/save.mjs.map +2 -2
  98. package/build-module/playlist/view.mjs +1 -0
  99. package/build-module/playlist/view.mjs.map +2 -2
  100. package/build-module/post-featured-image/edit.mjs +6 -4
  101. package/build-module/post-featured-image/edit.mjs.map +2 -2
  102. package/build-module/post-time-to-read/index.mjs +1 -1
  103. package/build-module/post-time-to-read/index.mjs.map +2 -2
  104. package/build-module/post-time-to-read/variations.mjs +2 -2
  105. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  106. package/build-module/pullquote/edit.mjs +2 -7
  107. package/build-module/pullquote/edit.mjs.map +2 -2
  108. package/build-module/quote/edit.mjs +5 -10
  109. package/build-module/quote/edit.mjs.map +2 -2
  110. package/build-module/shortcode/transforms.mjs +2 -2
  111. package/build-module/shortcode/transforms.mjs.map +2 -2
  112. package/build-module/site-logo/edit.mjs +5 -1
  113. package/build-module/site-logo/edit.mjs.map +2 -2
  114. package/build-module/utils/waveform-player.mjs +44 -11
  115. package/build-module/utils/waveform-player.mjs.map +2 -2
  116. package/build-module/utils/waveform-utils.mjs +6 -4
  117. package/build-module/utils/waveform-utils.mjs.map +2 -2
  118. package/build-module/video/edit-common-settings.mjs +4 -7
  119. package/build-module/video/edit-common-settings.mjs.map +2 -2
  120. package/build-style/comment-template/style-rtl.css +1 -0
  121. package/build-style/comment-template/style.css +1 -0
  122. package/build-style/common-rtl.css +30 -10
  123. package/build-style/common.css +30 -10
  124. package/build-style/cover/style-rtl.css +2 -1
  125. package/build-style/cover/style.css +2 -1
  126. package/build-style/editor-rtl.css +22 -11
  127. package/build-style/editor.css +22 -11
  128. package/build-style/form-input/style-rtl.css +2 -0
  129. package/build-style/form-input/style.css +2 -0
  130. package/build-style/gallery/style-rtl.css +4 -2
  131. package/build-style/gallery/style.css +4 -2
  132. package/build-style/media-text/style-rtl.css +2 -1
  133. package/build-style/media-text/style.css +2 -1
  134. package/build-style/playlist/style-rtl.css +3 -0
  135. package/build-style/playlist/style.css +3 -0
  136. package/build-style/query/editor-rtl.css +8 -4
  137. package/build-style/query/editor.css +8 -4
  138. package/build-style/read-more/style-rtl.css +1 -0
  139. package/build-style/read-more/style.css +1 -0
  140. package/build-style/reset-rtl.css +3 -1
  141. package/build-style/reset.css +3 -1
  142. package/build-style/search/style-rtl.css +3 -1
  143. package/build-style/search/style.css +3 -1
  144. package/build-style/site-logo/editor-rtl.css +2 -1
  145. package/build-style/site-logo/editor.css +2 -1
  146. package/build-style/style-rtl.css +53 -17
  147. package/build-style/style.css +53 -17
  148. package/build-style/tab/style-rtl.css +3 -1
  149. package/build-style/tab/style.css +3 -1
  150. package/build-style/template-part/editor-rtl.css +8 -4
  151. package/build-style/template-part/editor.css +8 -4
  152. package/build-style/video/style-rtl.css +2 -1
  153. package/build-style/video/style.css +2 -1
  154. package/package.json +51 -47
  155. package/src/accordion/README.md +97 -0
  156. package/src/accordion-heading/README.md +81 -0
  157. package/src/accordion-item/README.md +85 -0
  158. package/src/accordion-panel/README.md +74 -0
  159. package/src/archives/README.md +56 -0
  160. package/src/audio/README.md +55 -0
  161. package/src/avatar/README.md +74 -0
  162. package/src/block/README.md +56 -0
  163. package/src/breadcrumbs/README.md +67 -0
  164. package/src/button/README.md +93 -0
  165. package/src/buttons/README.md +80 -0
  166. package/src/calendar/README.md +51 -0
  167. package/src/categories/README.md +69 -0
  168. package/src/code/README.md +55 -0
  169. package/src/column/README.md +72 -0
  170. package/src/columns/README.md +90 -0
  171. package/src/columns/test/transforms.js +164 -0
  172. package/src/columns/transforms.js +74 -0
  173. package/src/comment-author-avatar/README.md +63 -0
  174. package/src/comment-author-name/README.md +67 -0
  175. package/src/comment-content/README.md +61 -0
  176. package/src/comment-date/README.md +67 -0
  177. package/src/comment-edit-link/README.md +67 -0
  178. package/src/comment-reply-link/README.md +63 -0
  179. package/src/comment-template/README.md +60 -0
  180. package/src/comments/README.md +88 -0
  181. package/src/comments/edit/placeholder.js +1 -1
  182. package/src/comments-pagination/README.md +77 -0
  183. package/src/comments-pagination-next/README.md +64 -0
  184. package/src/comments-pagination-numbers/README.md +64 -0
  185. package/src/comments-pagination-previous/README.md +64 -0
  186. package/src/comments-title/README.md +70 -0
  187. package/src/common.scss +63 -10
  188. package/src/cover/README.md +111 -0
  189. package/src/cover/edit/inspector-controls.js +61 -45
  190. package/src/cover/test/edit.js +38 -0
  191. package/src/details/README.md +65 -0
  192. package/src/embed/README.md +56 -0
  193. package/src/file/README.md +60 -0
  194. package/src/footnotes/README.md +64 -0
  195. package/src/form/README.md +90 -0
  196. package/src/form-input/README.md +74 -0
  197. package/src/form-submission-notification/README.md +50 -0
  198. package/src/form-submit-button/README.md +54 -0
  199. package/src/freeform/README.md +49 -0
  200. package/src/gallery/README.md +115 -0
  201. package/src/gallery/edit.js +213 -350
  202. package/src/gallery/test/transforms.js +155 -0
  203. package/src/gallery/transforms.js +47 -0
  204. package/src/group/README.md +80 -0
  205. package/src/heading/README.md +60 -0
  206. package/src/heading/edit.js +1 -2
  207. package/src/home-link/README.md +66 -0
  208. package/src/home-link/index.php +3 -15
  209. package/src/html/README.md +48 -0
  210. package/src/icon/README.md +63 -0
  211. package/src/image/README.md +102 -0
  212. package/src/image/image.js +50 -35
  213. package/src/image/index.php +4 -4
  214. package/src/image/test/use-open-image-media-editor-modal.js +41 -0
  215. package/src/image/use-open-image-media-editor-modal.js +7 -1
  216. package/src/latest-comments/README.md +57 -0
  217. package/src/latest-posts/README.md +71 -0
  218. package/src/list/README.md +70 -0
  219. package/src/list/edit.js +2 -9
  220. package/src/list/ordered-list-settings.js +46 -92
  221. package/src/list-item/README.md +71 -0
  222. package/src/list-item/hooks/use-merge.js +53 -46
  223. package/src/loginout/README.md +56 -0
  224. package/src/math/README.md +50 -0
  225. package/src/media-text/README.md +92 -0
  226. package/src/missing/README.md +55 -0
  227. package/src/more/README.md +49 -0
  228. package/src/navigation/README.md +115 -0
  229. package/src/navigation/edit/index.js +10 -30
  230. package/src/navigation-link/README.md +93 -0
  231. package/src/navigation-link/edit.js +0 -1
  232. package/src/navigation-link/index.php +1 -15
  233. package/src/navigation-link/test/__snapshots__/hooks.js.snap +45 -134
  234. package/src/navigation-overlay-close/README.md +48 -0
  235. package/src/navigation-submenu/README.md +84 -0
  236. package/src/navigation-submenu/edit.js +1 -0
  237. package/src/navigation-submenu/index.php +1 -17
  238. package/src/nextpage/README.md +50 -0
  239. package/src/page-list/README.md +84 -0
  240. package/src/page-list/index.php +3 -15
  241. package/src/page-list-item/README.md +77 -0
  242. package/src/paragraph/README.md +70 -0
  243. package/src/paragraph/deprecated.js +1 -0
  244. package/src/paragraph/edit.js +13 -1
  245. package/src/pattern/README.md +45 -0
  246. package/src/playlist/README.md +86 -0
  247. package/src/playlist/block.json +12 -0
  248. package/src/playlist/edit.js +27 -0
  249. package/src/playlist/index.php +10 -3
  250. package/src/playlist/save.js +9 -1
  251. package/src/playlist/style.scss +7 -0
  252. package/src/playlist/view.js +1 -0
  253. package/src/playlist-track/README.md +69 -0
  254. package/src/post-author/README.md +78 -0
  255. package/src/post-author-biography/README.md +59 -0
  256. package/src/post-author-name/README.md +63 -0
  257. package/src/post-author-name/index.php +1 -1
  258. package/src/post-comment/README.md +61 -0
  259. package/src/post-comments-count/README.md +58 -0
  260. package/src/post-comments-form/README.md +59 -0
  261. package/src/post-comments-link/README.md +60 -0
  262. package/src/post-content/README.md +71 -0
  263. package/src/post-date/README.md +65 -0
  264. package/src/post-date/index.php +1 -1
  265. package/src/post-excerpt/README.md +66 -0
  266. package/src/post-featured-image/README.md +85 -0
  267. package/src/post-featured-image/edit.js +15 -10
  268. package/src/post-featured-image/index.php +1 -1
  269. package/src/post-navigation-link/README.md +63 -0
  270. package/src/post-template/README.md +71 -0
  271. package/src/post-terms/README.md +65 -0
  272. package/src/post-time-to-read/README.md +63 -0
  273. package/src/post-time-to-read/index.js +1 -1
  274. package/src/post-time-to-read/variations.js +2 -2
  275. package/src/post-title/README.md +69 -0
  276. package/src/preformatted/README.md +50 -0
  277. package/src/pullquote/README.md +64 -0
  278. package/src/pullquote/edit.js +1 -7
  279. package/src/query/README.md +64 -0
  280. package/src/query-no-results/README.md +65 -0
  281. package/src/query-pagination/README.md +79 -0
  282. package/src/query-pagination-next/README.md +67 -0
  283. package/src/query-pagination-numbers/README.md +65 -0
  284. package/src/query-pagination-previous/README.md +67 -0
  285. package/src/query-title/README.md +65 -0
  286. package/src/query-total/README.md +66 -0
  287. package/src/quote/README.md +75 -0
  288. package/src/quote/edit.js +3 -9
  289. package/src/read-more/README.md +61 -0
  290. package/src/read-more/index.php +2 -2
  291. package/src/rss/README.md +62 -0
  292. package/src/search/README.md +66 -0
  293. package/src/separator/README.md +62 -0
  294. package/src/shortcode/README.md +44 -0
  295. package/src/shortcode/transforms.js +2 -2
  296. package/src/site-logo/README.md +72 -0
  297. package/src/site-logo/edit.js +5 -0
  298. package/src/site-tagline/README.md +56 -0
  299. package/src/site-title/README.md +57 -0
  300. package/src/social-link/README.md +64 -0
  301. package/src/social-links/README.md +98 -0
  302. package/src/spacer/README.md +53 -0
  303. package/src/tab/README.md +69 -0
  304. package/src/tab-list/README.md +79 -0
  305. package/src/tab-panel/README.md +75 -0
  306. package/src/tab-panels/README.md +75 -0
  307. package/src/table/README.md +71 -0
  308. package/src/table-of-contents/README.md +61 -0
  309. package/src/tabs/README.md +83 -0
  310. package/src/tag-cloud/README.md +62 -0
  311. package/src/template-part/README.md +48 -0
  312. package/src/term-count/README.md +59 -0
  313. package/src/term-description/README.md +60 -0
  314. package/src/term-name/README.md +65 -0
  315. package/src/term-template/README.md +65 -0
  316. package/src/terms-query/README.md +58 -0
  317. package/src/text-columns/README.md +51 -0
  318. package/src/utils/test/waveform-player.js +254 -0
  319. package/src/utils/waveform-player.js +90 -18
  320. package/src/utils/waveform-utils.js +15 -11
  321. package/src/verse/README.md +58 -0
  322. package/src/video/README.md +58 -0
  323. package/src/video/edit-common-settings.js +4 -7
  324. package/src/audio/edit.native.js +0 -250
  325. package/src/audio/style.native.scss +0 -13
  326. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  327. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  328. package/src/audio/test/edit.native.js +0 -132
  329. package/src/audio/test/transforms.native.js +0 -43
  330. package/src/audio/transforms.native.js +0 -12
  331. package/src/block/edit-title.native.js +0 -67
  332. package/src/block/edit.native.js +0 -247
  333. package/src/block/editor.native.scss +0 -125
  334. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  335. package/src/block/test/edit.native.js +0 -262
  336. package/src/block/test/transforms.native.js +0 -40
  337. package/src/button/color-background.native.js +0 -41
  338. package/src/button/edit.native.js +0 -567
  339. package/src/button/editor.native.scss +0 -70
  340. package/src/button/rich-text.android.scss +0 -6
  341. package/src/button/rich-text.ios.scss +0 -6
  342. package/src/buttons/edit.native.js +0 -157
  343. package/src/buttons/editor.native.scss +0 -11
  344. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  345. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  346. package/src/buttons/test/edit.native.js +0 -485
  347. package/src/buttons/test/transforms.native.js +0 -48
  348. package/src/buttons/transforms.native.js +0 -12
  349. package/src/code/edit.native.js +0 -70
  350. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  351. package/src/code/test/edit.native.js +0 -65
  352. package/src/code/theme.native.scss +0 -22
  353. package/src/code/transforms.native.js +0 -12
  354. package/src/column/column-preview.native.js +0 -58
  355. package/src/column/edit.native.js +0 -273
  356. package/src/column/editor.native.scss +0 -75
  357. package/src/columns/columnCalculations.native.js +0 -178
  358. package/src/columns/edit.native.js +0 -507
  359. package/src/columns/editor.native.scss +0 -17
  360. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  361. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  362. package/src/columns/test/edit.native.js +0 -496
  363. package/src/columns/test/transforms.native.js +0 -89
  364. package/src/columns/transforms.native.js +0 -12
  365. package/src/cover/controls.native.js +0 -307
  366. package/src/cover/edit.native.js +0 -708
  367. package/src/cover/focal-point-settings-button.native.js +0 -53
  368. package/src/cover/overlay-color-settings.native.js +0 -106
  369. package/src/cover/style.native.scss +0 -220
  370. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  371. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  372. package/src/cover/test/edit.native.js +0 -701
  373. package/src/cover/test/transforms.native.js +0 -116
  374. package/src/cover/transforms.native.js +0 -12
  375. package/src/cover/use-cover-is-dark.native.js +0 -51
  376. package/src/embed/edit.native.js +0 -345
  377. package/src/embed/embed-controls.native.js +0 -65
  378. package/src/embed/embed-link-settings.native.js +0 -99
  379. package/src/embed/embed-loading.native.js +0 -29
  380. package/src/embed/embed-no-preview.native.js +0 -230
  381. package/src/embed/embed-placeholder.native.js +0 -178
  382. package/src/embed/embed-preview.native.js +0 -157
  383. package/src/embed/styles.native.scss +0 -196
  384. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  385. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  386. package/src/embed/test/index.native.js +0 -1125
  387. package/src/embed/test/transforms.native.js +0 -44
  388. package/src/embed/transforms.native.js +0 -12
  389. package/src/embed/wp-embed-preview.native.js +0 -80
  390. package/src/file/edit.native.js +0 -605
  391. package/src/file/style.native.scss +0 -79
  392. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  393. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  394. package/src/file/test/edit.native.js +0 -93
  395. package/src/file/test/transforms.native.js +0 -43
  396. package/src/file/transforms.native.js +0 -12
  397. package/src/freeform/edit.native.js +0 -13
  398. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  399. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  400. package/src/freeform/test/index.native.js +0 -57
  401. package/src/freeform/test/transforms.native.js +0 -39
  402. package/src/gallery/gallery-styles.native.scss +0 -8
  403. package/src/gallery/gallery.native.js +0 -124
  404. package/src/gallery/styles.native.scss +0 -7
  405. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  406. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  407. package/src/gallery/test/helpers.native.js +0 -106
  408. package/src/gallery/test/index.native.js +0 -700
  409. package/src/gallery/test/transforms.native.js +0 -53
  410. package/src/gallery/test/use-get-media.native.js +0 -24
  411. package/src/gallery/transforms.native.js +0 -12
  412. package/src/gallery/use-get-media.native.js +0 -49
  413. package/src/group/edit.native.js +0 -137
  414. package/src/group/editor.native.scss +0 -56
  415. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  416. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  417. package/src/group/test/edit.native.js +0 -100
  418. package/src/group/test/transforms.native.js +0 -73
  419. package/src/heading/edit.native.js +0 -159
  420. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  421. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  422. package/src/heading/test/index.native.js +0 -257
  423. package/src/heading/test/transforms.native.js +0 -46
  424. package/src/heading/transforms.native.js +0 -12
  425. package/src/html/transforms.native.js +0 -11
  426. package/src/image/edit.native.js +0 -959
  427. package/src/image/styles.native.scss +0 -70
  428. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  429. package/src/image/test/edit.native.js +0 -459
  430. package/src/image/test/transforms.native.js +0 -49
  431. package/src/image/transforms.native.js +0 -12
  432. package/src/index.native.js +0 -274
  433. package/src/latest-posts/edit.native.js +0 -294
  434. package/src/latest-posts/style.native.scss +0 -47
  435. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  436. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  437. package/src/latest-posts/test/edit.native.js +0 -49
  438. package/src/latest-posts/test/transforms.native.js +0 -61
  439. package/src/list/tag-name.native.js +0 -12
  440. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  441. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  442. package/src/list/test/edit.native.js +0 -602
  443. package/src/list/test/transforms.native.js +0 -56
  444. package/src/list/transforms.native.js +0 -12
  445. package/src/list-item/edit.native.js +0 -175
  446. package/src/list-item/hooks/use-enter.native.js +0 -81
  447. package/src/list-item/icons.native.js +0 -34
  448. package/src/list-item/list-style-type.native.js +0 -146
  449. package/src/list-item/style.native.scss +0 -57
  450. package/src/media-text/edit.native.js +0 -417
  451. package/src/media-text/icon-retry.native.js +0 -11
  452. package/src/media-text/media-container.native.js +0 -393
  453. package/src/media-text/style.native.scss +0 -191
  454. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  455. package/src/media-text/test/edit.native.js +0 -58
  456. package/src/media-text/test/transforms.native.js +0 -116
  457. package/src/media-text/transforms.native.js +0 -12
  458. package/src/missing/edit.native.js +0 -294
  459. package/src/missing/style.native.scss +0 -79
  460. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  461. package/src/missing/test/edit-integration.native.js +0 -168
  462. package/src/missing/test/edit.native.js +0 -81
  463. package/src/more/edit.native.js +0 -36
  464. package/src/more/editor.native.scss +0 -21
  465. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  466. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  467. package/src/more/test/edit.native.js +0 -41
  468. package/src/more/test/transforms.native.js +0 -42
  469. package/src/more/transforms.native.js +0 -12
  470. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  471. package/src/nextpage/edit.native.js +0 -58
  472. package/src/nextpage/editor.native.scss +0 -21
  473. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  474. package/src/nextpage/test/transforms.native.js +0 -42
  475. package/src/nextpage/transforms.native.js +0 -12
  476. package/src/paragraph/edit.native.js +0 -116
  477. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  478. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  479. package/src/paragraph/test/edit.native.js +0 -999
  480. package/src/paragraph/test/transforms.native.js +0 -51
  481. package/src/paragraph/transforms.native.js +0 -12
  482. package/src/preformatted/edit.native.js +0 -48
  483. package/src/preformatted/styles.native.scss +0 -30
  484. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  485. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  486. package/src/preformatted/test/edit.native.js +0 -111
  487. package/src/preformatted/test/transforms.native.js +0 -47
  488. package/src/preformatted/transforms.native.js +0 -12
  489. package/src/pullquote/blockquote.native.js +0 -39
  490. package/src/pullquote/blockquote.native.scss +0 -8
  491. package/src/pullquote/edit.native.js +0 -128
  492. package/src/pullquote/figure.native.js +0 -33
  493. package/src/pullquote/figure.native.scss +0 -16
  494. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  495. package/src/pullquote/test/edit.native.js +0 -73
  496. package/src/pullquote/test/transforms.native.js +0 -46
  497. package/src/pullquote/transforms.native.js +0 -12
  498. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  499. package/src/quote/test/edit.native.js +0 -94
  500. package/src/quote/test/transforms.native.js +0 -69
  501. package/src/quote/transforms.native.js +0 -12
  502. package/src/search/edit.native.js +0 -486
  503. package/src/search/style.native.scss +0 -99
  504. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  505. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  506. package/src/search/test/edit.native.js +0 -170
  507. package/src/search/test/transforms.native.js +0 -40
  508. package/src/separator/separator-settings.native.js +0 -3
  509. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  510. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  511. package/src/separator/test/edit.native.js +0 -41
  512. package/src/separator/test/transforms.native.js +0 -42
  513. package/src/separator/transforms.native.js +0 -12
  514. package/src/shortcode/edit.native.js +0 -77
  515. package/src/shortcode/style.native.scss +0 -44
  516. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  517. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  518. package/src/shortcode/test/edit.native.js +0 -70
  519. package/src/shortcode/test/transforms.native.js +0 -42
  520. package/src/shortcode/transforms.native.js +0 -12
  521. package/src/social-link/edit.native.js +0 -219
  522. package/src/social-link/editor.native.scss +0 -18
  523. package/src/social-links/edit.native.js +0 -147
  524. package/src/social-links/editor.native.scss +0 -25
  525. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  526. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  527. package/src/social-links/test/edit.native.js +0 -266
  528. package/src/social-links/test/transforms.native.js +0 -53
  529. package/src/spacer/controls.native.js +0 -86
  530. package/src/spacer/edit.native.js +0 -110
  531. package/src/spacer/editor.native.scss +0 -18
  532. package/src/spacer/save.native.js +0 -18
  533. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  534. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  535. package/src/spacer/test/index.native.js +0 -257
  536. package/src/spacer/test/transforms.native.js +0 -42
  537. package/src/table/transforms.native.js +0 -11
  538. package/src/text-columns/transforms.native.js +0 -12
  539. package/src/utils/init-block.native.js +0 -40
  540. package/src/utils/transformation-categories.native.js +0 -47
  541. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  542. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  543. package/src/verse/test/edit.native.js +0 -118
  544. package/src/verse/test/transforms.native.js +0 -46
  545. package/src/verse/transforms.native.js +0 -12
  546. package/src/video/edit.native.js +0 -406
  547. package/src/video/icon-retry.native.js +0 -11
  548. package/src/video/style.native.scss +0 -81
  549. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  550. package/src/video/test/edit.native.js +0 -53
  551. package/src/video/test/transforms.native.js +0 -49
  552. package/src/video/transforms.native.js +0 -12
@@ -1,22 +0,0 @@
1
- /* stylelint-disable font-family-no-missing-generic-family-keyword -- iOS will use the Menlo typeface and Android will use monospace, no need for a generic family keyword. */
2
-
3
- .blockCode {
4
- font-family: $default-monospace-font;
5
- font-size: 14;
6
- padding: 12px 16px;
7
- border-radius: 4px;
8
- background-color: $gray-light;
9
- }
10
-
11
- .blockCodeDark {
12
- color: $white;
13
- background-color: $gray-100;
14
- }
15
-
16
- .placeholder {
17
- color: $gray;
18
- }
19
-
20
- .placeholderDark {
21
- color: $gray-50;
22
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import webTransforms from './transforms.js';
5
- import transformationCategories from '../utils/transformation-categories';
6
-
7
- const transforms = {
8
- ...webTransforms,
9
- supportedMobileTransforms: transformationCategories.richText,
10
- };
11
-
12
- export default transforms;
@@ -1,58 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
10
- import { useConvertUnitToMobile } from '@wordpress/components';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import styles from './editor.scss';
16
-
17
- function ColumnPreviewItem( { index, selectedColumnIndex, width } ) {
18
- const columnIndicatorStyle = usePreferredColorSchemeStyle(
19
- styles.columnIndicator,
20
- styles.columnIndicatorDark
21
- );
22
-
23
- const isSelectedColumn = index === selectedColumnIndex;
24
-
25
- const convertedWidth = useConvertUnitToMobile( width );
26
- return (
27
- <View
28
- style={ [
29
- isSelectedColumn && columnIndicatorStyle,
30
- { flex: convertedWidth },
31
- ] }
32
- key={ index }
33
- />
34
- );
35
- }
36
-
37
- function ColumnsPreview( { columnWidths, selectedColumnIndex } ) {
38
- const columnsPreviewStyle = usePreferredColorSchemeStyle(
39
- styles.columnsPreview,
40
- styles.columnsPreviewDark
41
- );
42
- return (
43
- <View style={ columnsPreviewStyle }>
44
- { columnWidths.map( ( width, index ) => {
45
- return (
46
- <ColumnPreviewItem
47
- index={ index }
48
- selectedColumnIndex={ selectedColumnIndex }
49
- width={ width }
50
- key={ index }
51
- />
52
- );
53
- } ) }
54
- </View>
55
- );
56
- }
57
-
58
- export default ColumnsPreview;
@@ -1,273 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View, Dimensions } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { withSelect } from '@wordpress/data';
10
- import { compose, withPreferredColorScheme } from '@wordpress/compose';
11
- import { useEffect, useState, useCallback } from '@wordpress/element';
12
- import {
13
- InnerBlocks,
14
- BlockControls,
15
- BlockVerticalAlignmentToolbar,
16
- InspectorControls,
17
- store as blockEditorStore,
18
- useSettings,
19
- } from '@wordpress/block-editor';
20
- import {
21
- PanelBody,
22
- FooterMessageControl,
23
- UnitControl,
24
- getValueAndUnit,
25
- __experimentalUseCustomUnits as useCustomUnits,
26
- } from '@wordpress/components';
27
- import { __ } from '@wordpress/i18n';
28
- /**
29
- * Internal dependencies
30
- */
31
- import styles from './editor.scss';
32
- import ColumnsPreview from './column-preview';
33
- import {
34
- getWidths,
35
- getWidthWithUnit,
36
- isPercentageUnit,
37
- } from '../columns/utils';
38
-
39
- function ColumnEdit( {
40
- attributes,
41
- setAttributes,
42
- hasChildren,
43
- isSelected,
44
- getStylesFromColorScheme,
45
- contentStyle,
46
- columns,
47
- selectedColumnIndex,
48
- parentAlignment,
49
- clientId,
50
- blockWidth,
51
- } ) {
52
- if ( ! contentStyle ) {
53
- contentStyle = { [ clientId ]: {} };
54
- }
55
-
56
- const { verticalAlignment, width } = attributes;
57
- const { valueUnit = '%' } = getValueAndUnit( width ) || {};
58
-
59
- const screenWidth = Math.floor( Dimensions.get( 'window' ).width );
60
-
61
- const [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );
62
-
63
- const [ availableUnits ] = useSettings( 'spacing.units' );
64
- const units = useCustomUnits( {
65
- availableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],
66
- } );
67
-
68
- const updateAlignment = ( alignment ) => {
69
- setAttributes( { verticalAlignment: alignment } );
70
- };
71
-
72
- useEffect( () => {
73
- setWidthUnit( valueUnit );
74
- }, [ valueUnit ] );
75
-
76
- useEffect( () => {
77
- if ( ! verticalAlignment && parentAlignment ) {
78
- updateAlignment( parentAlignment );
79
- }
80
- }, [] );
81
-
82
- const onChangeWidth = ( nextWidth ) => {
83
- const widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );
84
-
85
- setAttributes( {
86
- width: widthWithUnit,
87
- } );
88
- };
89
-
90
- const onChangeUnit = ( nextUnit ) => {
91
- setWidthUnit( nextUnit );
92
- const widthWithoutUnit = parseFloat(
93
- width || getWidths( columns )[ selectedColumnIndex ]
94
- );
95
-
96
- setAttributes( {
97
- width: getWidthWithUnit( widthWithoutUnit, nextUnit ),
98
- } );
99
- };
100
-
101
- const onChange = ( nextWidth ) => {
102
- if ( isPercentageUnit( widthUnit ) || ! widthUnit ) {
103
- return;
104
- }
105
- onChangeWidth( nextWidth );
106
- };
107
-
108
- const renderAppender = useCallback( () => {
109
- if ( isSelected ) {
110
- const { width: columnWidth } = contentStyle[ clientId ] || {};
111
- const isFullWidth = columnWidth === screenWidth;
112
-
113
- return (
114
- <View
115
- style={ [
116
- styles.columnAppender,
117
- isFullWidth && styles.fullwidthColumnAppender,
118
- isFullWidth &&
119
- hasChildren &&
120
- styles.fullwidthHasInnerColumnAppender,
121
- ! isFullWidth &&
122
- hasChildren &&
123
- styles.hasInnerColumnAppender,
124
- ] }
125
- >
126
- <InnerBlocks.ButtonBlockAppender />
127
- </View>
128
- );
129
- }
130
- return null;
131
- }, [ contentStyle, clientId, screenWidth, isSelected, hasChildren ] );
132
-
133
- if ( ! isSelected && ! hasChildren ) {
134
- return (
135
- <View
136
- style={ [
137
- getStylesFromColorScheme(
138
- styles.columnPlaceholder,
139
- styles.columnPlaceholderDark
140
- ),
141
- contentStyle[ clientId ],
142
- ] }
143
- />
144
- );
145
- }
146
-
147
- const parentWidth =
148
- contentStyle &&
149
- contentStyle[ clientId ] &&
150
- contentStyle[ clientId ].width;
151
-
152
- return (
153
- <>
154
- { isSelected && (
155
- <>
156
- <BlockControls>
157
- <BlockVerticalAlignmentToolbar
158
- onChange={ updateAlignment }
159
- value={ verticalAlignment }
160
- />
161
- </BlockControls>
162
- <InspectorControls>
163
- <PanelBody title={ __( 'Settings' ) }>
164
- <UnitControl
165
- label={ __( 'Width' ) }
166
- min={ 1 }
167
- max={
168
- isPercentageUnit( widthUnit )
169
- ? 100
170
- : undefined
171
- }
172
- onChange={ onChange }
173
- onComplete={ onChangeWidth }
174
- onUnitChange={ onChangeUnit }
175
- value={
176
- getWidths( columns )[ selectedColumnIndex ]
177
- }
178
- unit={ widthUnit }
179
- units={ units }
180
- preview={
181
- <ColumnsPreview
182
- columnWidths={ getWidths(
183
- columns,
184
- false
185
- ) }
186
- selectedColumnIndex={
187
- selectedColumnIndex
188
- }
189
- />
190
- }
191
- />
192
- </PanelBody>
193
- <PanelBody>
194
- <FooterMessageControl
195
- label={ __(
196
- 'Note: Column layout may vary between themes and screen sizes'
197
- ) }
198
- />
199
- </PanelBody>
200
- </InspectorControls>
201
- </>
202
- ) }
203
- <View
204
- style={ [
205
- isSelected && hasChildren && styles.innerBlocksBottomSpace,
206
- contentStyle[ clientId ],
207
- ] }
208
- >
209
- <InnerBlocks
210
- renderAppender={ renderAppender }
211
- parentWidth={ parentWidth }
212
- blockWidth={ blockWidth }
213
- />
214
- </View>
215
- </>
216
- );
217
- }
218
-
219
- function ColumnEditWrapper( props ) {
220
- const { verticalAlignment } = props.attributes;
221
-
222
- const getVerticalAlignmentRemap = ( alignment ) => {
223
- if ( ! alignment ) {
224
- return styles.flexBase;
225
- }
226
- return {
227
- ...styles.flexBase,
228
- ...styles[ `is-vertically-aligned-${ alignment }` ],
229
- };
230
- };
231
-
232
- return (
233
- <View style={ getVerticalAlignmentRemap( verticalAlignment ) }>
234
- <ColumnEdit { ...props } />
235
- </View>
236
- );
237
- }
238
-
239
- export default compose( [
240
- withSelect( ( select, { clientId } ) => {
241
- const {
242
- getBlockCount,
243
- getBlockRootClientId,
244
- getSelectedBlockClientId,
245
- getBlocks,
246
- getBlockOrder,
247
- getBlockAttributes,
248
- } = select( blockEditorStore );
249
-
250
- const selectedBlockClientId = getSelectedBlockClientId();
251
- const isSelected = selectedBlockClientId === clientId;
252
-
253
- const parentId = getBlockRootClientId( clientId );
254
- const hasChildren = !! getBlockCount( clientId );
255
-
256
- const blockOrder = getBlockOrder( parentId );
257
-
258
- const selectedColumnIndex = blockOrder.indexOf( clientId );
259
- const columns = getBlocks( parentId );
260
-
261
- const parentAlignment =
262
- getBlockAttributes( parentId )?.verticalAlignment;
263
-
264
- return {
265
- hasChildren,
266
- isSelected,
267
- selectedColumnIndex,
268
- columns,
269
- parentAlignment,
270
- };
271
- } ),
272
- withPreferredColorScheme,
273
- ] )( ColumnEditWrapper );
@@ -1,75 +0,0 @@
1
- .columnPlaceholder {
2
- flex: 1;
3
- padding: $block-selected-to-content;
4
- border: $border-width dashed $gray;
5
- border-radius: 4px;
6
- }
7
-
8
- .columnPlaceholderDark {
9
- border: $border-width dashed $gray-70;
10
- }
11
-
12
- .innerBlocksBottomSpace {
13
- margin-bottom: $block-edge-to-content;
14
- }
15
-
16
- .is-vertically-aligned-top {
17
- justify-content: flex-start;
18
- }
19
-
20
- .is-vertically-aligned-center {
21
- justify-content: center;
22
- }
23
-
24
- .is-vertically-aligned-bottom {
25
- justify-content: flex-end;
26
- }
27
-
28
- .flexBase {
29
- flex: 1;
30
- }
31
-
32
- .columnsPreview {
33
- min-height: 18px;
34
- min-width: 24px;
35
- border-color: $toolbar-button;
36
- flex-direction: row;
37
- align-self: center;
38
- margin-right: 10px;
39
- border-width: $border-width;
40
- border-radius: $radius-block-ui;
41
- }
42
-
43
- .columnsPreviewDark {
44
- border-color: $gray-20;
45
- }
46
-
47
- .columnIndicator {
48
- background-color: $toolbar-button;
49
- }
50
-
51
- .columnIndicatorDark {
52
- background-color: $gray-20;
53
- }
54
-
55
- .columnAppender {
56
- margin-left: $grid-unit-10;
57
- margin-right: $grid-unit-10;
58
- }
59
- .fullwidthColumnAppender {
60
- margin-left: $grid-unit * 2.5;
61
- margin-right: $grid-unit * 2.5;
62
- }
63
- .fullwidthHasInnerColumnAppender {
64
- margin-left: $grid-unit-15;
65
- margin-right: $grid-unit-15;
66
- }
67
- .hasInnerColumnAppender {
68
- margin-left: 0;
69
- margin-right: 0;
70
- }
71
-
72
- .wideColumnAppender {
73
- margin-left: $grid-unit-10;
74
- margin-right: $grid-unit-10;
75
- }
@@ -1,178 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import {
5
- ALIGNMENT_BREAKPOINTS,
6
- convertUnitToMobile,
7
- } from '@wordpress/components';
8
-
9
- /**
10
- * Internal dependencies
11
- */
12
- import { getColumnWidths, getWidths } from './utils';
13
- import styles from './editor.scss';
14
-
15
- /**
16
- * Maximum number of columns in a row
17
- *
18
- * @type {number}
19
- */
20
- const MAX_COLUMNS_NUM_IN_ROW = 3;
21
-
22
- /**
23
- * Minimum width of column
24
- *
25
- * @type {number}
26
- */
27
- const MIN_WIDTH = styles.columnsContainer?.minWidth;
28
-
29
- /**
30
- * Container margin value
31
- *
32
- * @type {number}
33
- */
34
- const MARGIN = styles.columnsContainer?.marginLeft;
35
-
36
- export const getColumnsInRow = ( width, columnCount ) => {
37
- if ( width ) {
38
- if ( width < ALIGNMENT_BREAKPOINTS.mobile ) {
39
- // show only 1 Column in row for mobile breakpoint container width
40
- return 1;
41
- } else if ( width <= ALIGNMENT_BREAKPOINTS.medium ) {
42
- // show the maximum number of columns in a row for large breakpoint container width
43
- return Math.min(
44
- Math.max( 1, columnCount ),
45
- MAX_COLUMNS_NUM_IN_ROW
46
- );
47
- }
48
- // Show all Column in one row.
49
- return columnCount;
50
- }
51
- };
52
-
53
- export const calculateContainerWidth = ( containerWidth, columnsInRow ) =>
54
- 2 * MARGIN + containerWidth - columnsInRow * 2 * MARGIN;
55
-
56
- export const getContentWidths = (
57
- columnsInRow,
58
- width,
59
- columnCount,
60
- innerColumns,
61
- globalStyles
62
- ) => {
63
- const widths = {};
64
- const columnWidthsWithUnits = getWidths( innerColumns, false );
65
- const columnWidths = getColumnWidths( innerColumns, columnCount );
66
-
67
- // Array of column width attribute values
68
- const columnWidthsValues = columnWidthsWithUnits.map( ( v ) =>
69
- convertUnitToMobile( { width }, globalStyles, v )
70
- );
71
-
72
- // The sum of column width attribute values
73
- const columnWidthsSum = columnWidthsValues.reduce(
74
- ( acc, curr ) => acc + curr,
75
- 0
76
- );
77
-
78
- // Array of ratios of each column width attribute value to their sum
79
- const columnRatios = columnWidthsValues.map(
80
- ( colWidth ) => colWidth / columnWidthsSum
81
- );
82
-
83
- // Array of calculated column width for its ratio
84
- const columnWidthsPerRatio = columnRatios.map(
85
- ( columnRatio ) =>
86
- columnRatio * calculateContainerWidth( width, columnsInRow )
87
- );
88
-
89
- // Array of columns whose calculated width is lower than minimum width value
90
- const filteredColumnWidthsPerRatio = columnWidthsPerRatio.filter(
91
- ( columnWidthPerRatio ) => columnWidthPerRatio <= MIN_WIDTH
92
- );
93
-
94
- // Container width to be divided. If there are some results within `filteredColumnWidthsPerRatio`
95
- // there is a need to reduce the main width by multiplying number
96
- // of results in `filteredColumnWidthsPerRatio` and minimum width value
97
- const baseContainerWidth =
98
- width - filteredColumnWidthsPerRatio.length * MIN_WIDTH;
99
-
100
- // The minimum percentage ratio for which column width is equal minimum width value
101
- const minPercentageRatio =
102
- MIN_WIDTH / calculateContainerWidth( width, columnsInRow );
103
-
104
- // The sum of column widths which ratio is higher than `minPercentageRatio`
105
- const largeColumnsWidthsSum = columnRatios
106
- .map( ( ratio, index ) => {
107
- if ( ratio > minPercentageRatio ) {
108
- return columnWidthsValues[ index ];
109
- }
110
- return 0;
111
- } )
112
- .reduce( ( acc, curr ) => acc + curr, 0 );
113
-
114
- const containerWidth = calculateContainerWidth(
115
- baseContainerWidth,
116
- columnsInRow
117
- );
118
-
119
- let columnWidth =
120
- calculateContainerWidth( width, columnsInRow ) / columnsInRow;
121
- let maxColumnWidth = columnWidth;
122
-
123
- innerColumns.forEach(
124
- ( { attributes: innerColumnAttributes, clientId } ) => {
125
- const attributeWidth = convertUnitToMobile(
126
- { width },
127
- globalStyles,
128
- innerColumnAttributes.width || columnWidths[ clientId ]
129
- );
130
- const proportionalRatio = attributeWidth / columnWidthsSum;
131
- const percentageRatio = attributeWidth / width;
132
- const initialColumnWidth = proportionalRatio * containerWidth;
133
-
134
- if ( columnCount === 1 && width > ALIGNMENT_BREAKPOINTS.medium ) {
135
- // Exactly one column inside columns on the breakpoint higher than medium
136
- // has to take a percentage of the full width
137
- columnWidth = percentageRatio * containerWidth;
138
- } else if ( columnsInRow > 1 ) {
139
- if ( width > ALIGNMENT_BREAKPOINTS.medium ) {
140
- if ( initialColumnWidth <= MIN_WIDTH ) {
141
- // Column width cannot be lower than minimum 32px
142
- columnWidth = MIN_WIDTH;
143
- } else if ( initialColumnWidth > MIN_WIDTH ) {
144
- // Column width has to be the result of multiplying the container width and
145
- // the ratio of attribute and the sum of widths of columns wider than 32px
146
- columnWidth =
147
- ( attributeWidth / largeColumnsWidthsSum ) *
148
- containerWidth;
149
- }
150
-
151
- maxColumnWidth = columnWidth;
152
-
153
- if ( Math.round( columnWidthsSum ) < width ) {
154
- // In case that column width attribute values does not exceed 100, each column
155
- // should have attribute percentage of container width
156
- const newColumnWidth = percentageRatio * containerWidth;
157
- if ( newColumnWidth <= MIN_WIDTH ) {
158
- columnWidth = MIN_WIDTH;
159
- } else {
160
- columnWidth = newColumnWidth;
161
- }
162
- }
163
- } else if ( width < ALIGNMENT_BREAKPOINTS.medium ) {
164
- // On the breakpoint lower than medium each column inside columns
165
- // has to take equal part of container width
166
- columnWidth =
167
- calculateContainerWidth( width, columnsInRow ) /
168
- columnsInRow;
169
- }
170
- }
171
- widths[ clientId ] = {
172
- width: Math.floor( columnWidth ),
173
- maxWidth: Math.floor( maxColumnWidth ),
174
- };
175
- }
176
- );
177
- return widths;
178
- };