@wordpress/block-editor 10.3.0 → 10.5.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 (460) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +0 -1
  3. package/build/components/alignment-control/ui.js +1 -1
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/block-alignment-control/constants.js +1 -1
  6. package/build/components/block-alignment-control/constants.js.map +1 -1
  7. package/build/components/block-alignment-matrix-control/index.js +1 -1
  8. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  9. package/build/components/block-compare/index.js +1 -3
  10. package/build/components/block-compare/index.js.map +1 -1
  11. package/build/components/block-edit/index.js +4 -2
  12. package/build/components/block-edit/index.js.map +1 -1
  13. package/build/components/block-list/block.js +3 -1
  14. package/build/components/block-list/block.js.map +1 -1
  15. package/build/components/block-lock/menu-item.js +1 -1
  16. package/build/components/block-lock/menu-item.js.map +1 -1
  17. package/build/components/block-lock/modal.js +16 -9
  18. package/build/components/block-lock/modal.js.map +1 -1
  19. package/build/components/block-popover/inbetween.js +2 -1
  20. package/build/components/block-popover/inbetween.js.map +1 -1
  21. package/build/components/block-popover/index.js +2 -1
  22. package/build/components/block-popover/index.js.map +1 -1
  23. package/build/components/block-preview/index.js +2 -4
  24. package/build/components/block-preview/index.js.map +1 -1
  25. package/build/components/block-settings-menu/block-settings-dropdown.js +2 -8
  26. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  27. package/build/components/block-styles/utils.js +3 -3
  28. package/build/components/block-styles/utils.js.map +1 -1
  29. package/build/components/block-switcher/index.js +21 -12
  30. package/build/components/block-switcher/index.js.map +1 -1
  31. package/build/components/block-switcher/preview-block-popover.js +1 -1
  32. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  33. package/build/components/block-tools/insertion-point.js +12 -2
  34. package/build/components/block-tools/insertion-point.js.map +1 -1
  35. package/build/components/block-tools/selected-block-popover.js +27 -4
  36. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  37. package/build/components/block-vertical-alignment-control/ui.js +1 -1
  38. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  39. package/build/components/border-radius-control/all-input-control.js +2 -1
  40. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  41. package/build/components/border-radius-control/index.js +2 -1
  42. package/build/components/border-radius-control/index.js.map +1 -1
  43. package/build/components/border-radius-control/input-controls.js +2 -1
  44. package/build/components/border-radius-control/input-controls.js.map +1 -1
  45. package/build/components/colors/with-colors.js +4 -3
  46. package/build/components/colors/with-colors.js.map +1 -1
  47. package/build/components/duotone-control/index.js +1 -1
  48. package/build/components/duotone-control/index.js.map +1 -1
  49. package/build/components/font-sizes/fluid-utils.js +24 -40
  50. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  51. package/build/components/font-sizes/with-font-sizes.js +8 -6
  52. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  53. package/build/components/iframe/index.js +1 -1
  54. package/build/components/iframe/index.js.map +1 -1
  55. package/build/components/image-editor/constants.js +1 -1
  56. package/build/components/image-editor/constants.js.map +1 -1
  57. package/build/components/index.js +9 -0
  58. package/build/components/index.js.map +1 -1
  59. package/build/components/inner-blocks/index.js +10 -4
  60. package/build/components/inner-blocks/index.js.map +1 -1
  61. package/build/components/inserter/hooks/use-insertion-point.js +2 -7
  62. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  63. package/build/components/inserter/reusable-blocks-tab.js +4 -1
  64. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  65. package/build/components/inserter/search-items.js +23 -2
  66. package/build/components/inserter/search-items.js.map +1 -1
  67. package/build/components/line-height-control/index.js +2 -1
  68. package/build/components/line-height-control/index.js.map +1 -1
  69. package/build/components/link-control/index.js +18 -34
  70. package/build/components/link-control/index.js.map +1 -1
  71. package/build/components/link-control/search-input.js +1 -1
  72. package/build/components/link-control/search-input.js.map +1 -1
  73. package/build/components/link-control/use-internal-input-value.js +26 -0
  74. package/build/components/link-control/use-internal-input-value.js.map +1 -0
  75. package/build/components/list-view/block.js +5 -3
  76. package/build/components/list-view/block.js.map +1 -1
  77. package/build/components/list-view/branch.js +9 -3
  78. package/build/components/list-view/branch.js.map +1 -1
  79. package/build/components/list-view/drop-indicator.js +2 -1
  80. package/build/components/list-view/drop-indicator.js.map +1 -1
  81. package/build/components/media-replace-flow/index.js +1 -1
  82. package/build/components/media-replace-flow/index.js.map +1 -1
  83. package/build/components/off-canvas-editor/block-contents.js +100 -0
  84. package/build/components/off-canvas-editor/block-contents.js.map +1 -0
  85. package/build/components/off-canvas-editor/block-select-button.js +119 -0
  86. package/build/components/off-canvas-editor/block-select-button.js.map +1 -0
  87. package/build/components/off-canvas-editor/block.js +292 -0
  88. package/build/components/off-canvas-editor/block.js.map +1 -0
  89. package/build/components/off-canvas-editor/branch.js +181 -0
  90. package/build/components/off-canvas-editor/branch.js.map +1 -0
  91. package/build/components/off-canvas-editor/context.js +19 -0
  92. package/build/components/off-canvas-editor/context.js.map +1 -0
  93. package/build/components/off-canvas-editor/drop-indicator.js +118 -0
  94. package/build/components/off-canvas-editor/drop-indicator.js.map +1 -0
  95. package/build/components/off-canvas-editor/expander.js +41 -0
  96. package/build/components/off-canvas-editor/expander.js.map +1 -0
  97. package/build/components/off-canvas-editor/index.js +204 -0
  98. package/build/components/off-canvas-editor/index.js.map +1 -0
  99. package/build/components/off-canvas-editor/leaf.js +60 -0
  100. package/build/components/off-canvas-editor/leaf.js.map +1 -0
  101. package/build/components/off-canvas-editor/use-block-selection.js +139 -0
  102. package/build/components/off-canvas-editor/use-block-selection.js.map +1 -0
  103. package/build/components/off-canvas-editor/use-list-view-client-ids.js +33 -0
  104. package/build/components/off-canvas-editor/use-list-view-client-ids.js.map +1 -0
  105. package/build/components/off-canvas-editor/use-list-view-drop-zone.js +235 -0
  106. package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -0
  107. package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js +60 -0
  108. package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +1 -0
  109. package/build/components/off-canvas-editor/utils.js +60 -0
  110. package/build/components/off-canvas-editor/utils.js.map +1 -0
  111. package/build/components/rich-text/format-toolbar/index.js +1 -1
  112. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  113. package/build/components/rich-text/format-toolbar-container.js +1 -1
  114. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  115. package/build/components/rich-text/use-paste-handler.js +1 -1
  116. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  117. package/build/components/spacing-sizes-control/all-input-control.js +6 -2
  118. package/build/components/spacing-sizes-control/all-input-control.js.map +1 -1
  119. package/build/components/spacing-sizes-control/axial-input-controls.js +6 -2
  120. package/build/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
  121. package/build/components/spacing-sizes-control/index.js +6 -2
  122. package/build/components/spacing-sizes-control/index.js.map +1 -1
  123. package/build/components/spacing-sizes-control/input-controls.js +6 -2
  124. package/build/components/spacing-sizes-control/input-controls.js.map +1 -1
  125. package/build/components/spacing-sizes-control/spacing-input-control.js +12 -5
  126. package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  127. package/build/components/url-input/index.js +1 -1
  128. package/build/components/url-input/index.js.map +1 -1
  129. package/build/components/url-popover/index.js +31 -2
  130. package/build/components/url-popover/index.js.map +1 -1
  131. package/build/components/use-setting/index.js +1 -1
  132. package/build/components/use-setting/index.js.map +1 -1
  133. package/build/hooks/border.js +1 -0
  134. package/build/hooks/border.js.map +1 -1
  135. package/build/hooks/color-panel.js +17 -1
  136. package/build/hooks/color-panel.js.map +1 -1
  137. package/build/hooks/color.js +1 -1
  138. package/build/hooks/color.js.map +1 -1
  139. package/build/hooks/content-lock-ui.js +13 -6
  140. package/build/hooks/content-lock-ui.js.map +1 -1
  141. package/build/hooks/dimensions.js +72 -13
  142. package/build/hooks/dimensions.js.map +1 -1
  143. package/build/hooks/font-size.js +1 -0
  144. package/build/hooks/font-size.js.map +1 -1
  145. package/build/hooks/layout.js +5 -4
  146. package/build/hooks/layout.js.map +1 -1
  147. package/build/hooks/margin.js +26 -18
  148. package/build/hooks/margin.js.map +1 -1
  149. package/build/hooks/min-height.js +145 -0
  150. package/build/hooks/min-height.js.map +1 -0
  151. package/build/hooks/padding.js +22 -13
  152. package/build/hooks/padding.js.map +1 -1
  153. package/build/hooks/style.js +3 -2
  154. package/build/hooks/style.js.map +1 -1
  155. package/build/hooks/utils.js +7 -6
  156. package/build/hooks/utils.js.map +1 -1
  157. package/build/layouts/constrained.js +0 -1
  158. package/build/layouts/constrained.js.map +1 -1
  159. package/build/layouts/flex.js +23 -22
  160. package/build/layouts/flex.js.map +1 -1
  161. package/build/store/actions.js +30 -0
  162. package/build/store/actions.js.map +1 -1
  163. package/build/store/array.js +1 -7
  164. package/build/store/array.js.map +1 -1
  165. package/build/store/reducer.js +46 -14
  166. package/build/store/reducer.js.map +1 -1
  167. package/build/store/selectors.js +62 -31
  168. package/build/store/selectors.js.map +1 -1
  169. package/build-module/components/alignment-control/ui.js +1 -1
  170. package/build-module/components/alignment-control/ui.js.map +1 -1
  171. package/build-module/components/block-alignment-control/constants.js +1 -1
  172. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  173. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  174. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  175. package/build-module/components/block-compare/index.js +2 -3
  176. package/build-module/components/block-compare/index.js.map +1 -1
  177. package/build-module/components/block-edit/index.js +4 -2
  178. package/build-module/components/block-edit/index.js.map +1 -1
  179. package/build-module/components/block-list/block.js +3 -1
  180. package/build-module/components/block-list/block.js.map +1 -1
  181. package/build-module/components/block-lock/menu-item.js +2 -2
  182. package/build-module/components/block-lock/menu-item.js.map +1 -1
  183. package/build-module/components/block-lock/modal.js +17 -10
  184. package/build-module/components/block-lock/modal.js.map +1 -1
  185. package/build-module/components/block-popover/inbetween.js +2 -1
  186. package/build-module/components/block-popover/inbetween.js.map +1 -1
  187. package/build-module/components/block-popover/index.js +2 -1
  188. package/build-module/components/block-popover/index.js.map +1 -1
  189. package/build-module/components/block-preview/index.js +2 -3
  190. package/build-module/components/block-preview/index.js.map +1 -1
  191. package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -7
  192. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  193. package/build-module/components/block-styles/utils.js +3 -3
  194. package/build-module/components/block-styles/utils.js.map +1 -1
  195. package/build-module/components/block-switcher/index.js +21 -11
  196. package/build-module/components/block-switcher/index.js.map +1 -1
  197. package/build-module/components/block-switcher/preview-block-popover.js +1 -1
  198. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  199. package/build-module/components/block-tools/insertion-point.js +12 -2
  200. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  201. package/build-module/components/block-tools/selected-block-popover.js +27 -5
  202. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  203. package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
  204. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  205. package/build-module/components/border-radius-control/all-input-control.js +2 -1
  206. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  207. package/build-module/components/border-radius-control/index.js +2 -1
  208. package/build-module/components/border-radius-control/index.js.map +1 -1
  209. package/build-module/components/border-radius-control/input-controls.js +2 -1
  210. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  211. package/build-module/components/colors/with-colors.js +5 -4
  212. package/build-module/components/colors/with-colors.js.map +1 -1
  213. package/build-module/components/duotone-control/index.js +1 -1
  214. package/build-module/components/duotone-control/index.js.map +1 -1
  215. package/build-module/components/font-sizes/fluid-utils.js +24 -40
  216. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  217. package/build-module/components/font-sizes/with-font-sizes.js +9 -7
  218. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  219. package/build-module/components/iframe/index.js +1 -1
  220. package/build-module/components/iframe/index.js.map +1 -1
  221. package/build-module/components/image-editor/constants.js +1 -1
  222. package/build-module/components/image-editor/constants.js.map +1 -1
  223. package/build-module/components/index.js +1 -0
  224. package/build-module/components/index.js.map +1 -1
  225. package/build-module/components/inner-blocks/index.js +10 -4
  226. package/build-module/components/inner-blocks/index.js.map +1 -1
  227. package/build-module/components/inserter/hooks/use-insertion-point.js +2 -6
  228. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  229. package/build-module/components/inserter/reusable-blocks-tab.js +3 -1
  230. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  231. package/build-module/components/inserter/search-items.js +23 -3
  232. package/build-module/components/inserter/search-items.js.map +1 -1
  233. package/build-module/components/line-height-control/index.js +2 -1
  234. package/build-module/components/line-height-control/index.js.map +1 -1
  235. package/build-module/components/link-control/index.js +17 -34
  236. package/build-module/components/link-control/index.js.map +1 -1
  237. package/build-module/components/link-control/search-input.js +1 -1
  238. package/build-module/components/link-control/search-input.js.map +1 -1
  239. package/build-module/components/link-control/use-internal-input-value.js +18 -0
  240. package/build-module/components/link-control/use-internal-input-value.js.map +1 -0
  241. package/build-module/components/list-view/block.js +5 -3
  242. package/build-module/components/list-view/block.js.map +1 -1
  243. package/build-module/components/list-view/branch.js +9 -3
  244. package/build-module/components/list-view/branch.js.map +1 -1
  245. package/build-module/components/list-view/drop-indicator.js +2 -1
  246. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  247. package/build-module/components/media-replace-flow/index.js +1 -1
  248. package/build-module/components/media-replace-flow/index.js.map +1 -1
  249. package/build-module/components/off-canvas-editor/block-contents.js +85 -0
  250. package/build-module/components/off-canvas-editor/block-contents.js.map +1 -0
  251. package/build-module/components/off-canvas-editor/block-select-button.js +101 -0
  252. package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -0
  253. package/build-module/components/off-canvas-editor/block.js +268 -0
  254. package/build-module/components/off-canvas-editor/block.js.map +1 -0
  255. package/build-module/components/off-canvas-editor/branch.js +165 -0
  256. package/build-module/components/off-canvas-editor/branch.js.map +1 -0
  257. package/build-module/components/off-canvas-editor/context.js +7 -0
  258. package/build-module/components/off-canvas-editor/context.js.map +1 -0
  259. package/build-module/components/off-canvas-editor/drop-indicator.js +111 -0
  260. package/build-module/components/off-canvas-editor/drop-indicator.js.map +1 -0
  261. package/build-module/components/off-canvas-editor/expander.js +32 -0
  262. package/build-module/components/off-canvas-editor/expander.js.map +1 -0
  263. package/build-module/components/off-canvas-editor/index.js +181 -0
  264. package/build-module/components/off-canvas-editor/index.js.map +1 -0
  265. package/build-module/components/off-canvas-editor/leaf.js +45 -0
  266. package/build-module/components/off-canvas-editor/leaf.js.map +1 -0
  267. package/build-module/components/off-canvas-editor/use-block-selection.js +124 -0
  268. package/build-module/components/off-canvas-editor/use-block-selection.js.map +1 -0
  269. package/build-module/components/off-canvas-editor/use-list-view-client-ids.js +24 -0
  270. package/build-module/components/off-canvas-editor/use-list-view-client-ids.js.map +1 -0
  271. package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +220 -0
  272. package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -0
  273. package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js +50 -0
  274. package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +1 -0
  275. package/build-module/components/off-canvas-editor/utils.js +44 -0
  276. package/build-module/components/off-canvas-editor/utils.js.map +1 -0
  277. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  278. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  279. package/build-module/components/rich-text/format-toolbar-container.js +1 -1
  280. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  281. package/build-module/components/rich-text/use-paste-handler.js +1 -1
  282. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  283. package/build-module/components/spacing-sizes-control/all-input-control.js +6 -2
  284. package/build-module/components/spacing-sizes-control/all-input-control.js.map +1 -1
  285. package/build-module/components/spacing-sizes-control/axial-input-controls.js +6 -2
  286. package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
  287. package/build-module/components/spacing-sizes-control/index.js +6 -2
  288. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  289. package/build-module/components/spacing-sizes-control/input-controls.js +6 -2
  290. package/build-module/components/spacing-sizes-control/input-controls.js.map +1 -1
  291. package/build-module/components/spacing-sizes-control/spacing-input-control.js +12 -5
  292. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  293. package/build-module/components/url-input/index.js +1 -1
  294. package/build-module/components/url-input/index.js.map +1 -1
  295. package/build-module/components/url-popover/index.js +30 -3
  296. package/build-module/components/url-popover/index.js.map +1 -1
  297. package/build-module/components/use-setting/index.js +1 -1
  298. package/build-module/components/use-setting/index.js.map +1 -1
  299. package/build-module/hooks/border.js +1 -0
  300. package/build-module/hooks/border.js.map +1 -1
  301. package/build-module/hooks/color-panel.js +17 -1
  302. package/build-module/hooks/color-panel.js.map +1 -1
  303. package/build-module/hooks/color.js +1 -1
  304. package/build-module/hooks/color.js.map +1 -1
  305. package/build-module/hooks/content-lock-ui.js +15 -8
  306. package/build-module/hooks/content-lock-ui.js.map +1 -1
  307. package/build-module/hooks/dimensions.js +67 -12
  308. package/build-module/hooks/dimensions.js.map +1 -1
  309. package/build-module/hooks/font-size.js +1 -0
  310. package/build-module/hooks/font-size.js.map +1 -1
  311. package/build-module/hooks/layout.js +6 -5
  312. package/build-module/hooks/layout.js.map +1 -1
  313. package/build-module/hooks/margin.js +27 -19
  314. package/build-module/hooks/margin.js.map +1 -1
  315. package/build-module/hooks/min-height.js +122 -0
  316. package/build-module/hooks/min-height.js.map +1 -0
  317. package/build-module/hooks/padding.js +23 -14
  318. package/build-module/hooks/padding.js.map +1 -1
  319. package/build-module/hooks/style.js +4 -3
  320. package/build-module/hooks/style.js.map +1 -1
  321. package/build-module/hooks/utils.js +7 -7
  322. package/build-module/hooks/utils.js.map +1 -1
  323. package/build-module/layouts/constrained.js +0 -1
  324. package/build-module/layouts/constrained.js.map +1 -1
  325. package/build-module/layouts/flex.js +24 -23
  326. package/build-module/layouts/flex.js.map +1 -1
  327. package/build-module/store/actions.js +26 -0
  328. package/build-module/store/actions.js.map +1 -1
  329. package/build-module/store/array.js +1 -6
  330. package/build-module/store/array.js.map +1 -1
  331. package/build-module/store/reducer.js +44 -14
  332. package/build-module/store/reducer.js.map +1 -1
  333. package/build-module/store/selectors.js +59 -31
  334. package/build-module/store/selectors.js.map +1 -1
  335. package/build-style/style-rtl.css +88 -88
  336. package/build-style/style.css +84 -84
  337. package/package.json +29 -28
  338. package/src/components/alignment-control/README.md +1 -1
  339. package/src/components/alignment-control/ui.js +1 -1
  340. package/src/components/block-alignment-control/constants.js +1 -1
  341. package/src/components/block-alignment-control/test/index.native.js +4 -4
  342. package/src/components/block-alignment-matrix-control/index.js +1 -1
  343. package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +13 -11
  344. package/src/components/block-breadcrumb/test/index.js +1 -1
  345. package/src/components/block-compare/index.js +3 -2
  346. package/src/components/block-draggable/test/helpers.native.js +3 -3
  347. package/src/components/block-draggable/test/index.native.js +27 -27
  348. package/src/components/block-edit/index.js +2 -1
  349. package/src/components/block-list/block.js +2 -0
  350. package/src/components/block-list/style.scss +11 -6
  351. package/src/components/block-lock/menu-item.js +5 -2
  352. package/src/components/block-lock/modal.js +19 -36
  353. package/src/components/block-lock/style.scss +8 -17
  354. package/src/components/block-mover/stories/index.js +1 -1
  355. package/src/components/block-mover/style.scss +35 -1
  356. package/src/components/block-popover/inbetween.js +1 -0
  357. package/src/components/block-popover/index.js +1 -0
  358. package/src/components/block-popover/style.scss +1 -5
  359. package/src/components/block-preview/index.js +8 -3
  360. package/src/components/block-settings-menu/block-settings-dropdown.js +4 -7
  361. package/src/components/block-styles/utils.js +3 -3
  362. package/src/components/block-switcher/index.js +21 -11
  363. package/src/components/block-switcher/preview-block-popover.js +1 -1
  364. package/src/components/block-tools/insertion-point.js +10 -1
  365. package/src/components/block-tools/selected-block-popover.js +80 -34
  366. package/src/components/block-tools/style.scss +15 -0
  367. package/src/components/block-variation-picker/README.md +1 -1
  368. package/src/components/block-vertical-alignment-control/ui.js +1 -1
  369. package/src/components/border-radius-control/all-input-control.js +1 -0
  370. package/src/components/border-radius-control/index.js +1 -0
  371. package/src/components/border-radius-control/input-controls.js +1 -0
  372. package/src/components/border-radius-control/style.scss +15 -24
  373. package/src/components/color-palette/test/__snapshots__/control.js.snap +85 -83
  374. package/src/components/color-palette/test/control.js +1 -1
  375. package/src/components/colors/with-colors.js +13 -23
  376. package/src/components/default-block-appender/style.scss +1 -0
  377. package/src/components/duotone-control/index.js +1 -1
  378. package/src/components/font-sizes/fluid-utils.js +37 -64
  379. package/src/components/font-sizes/test/fluid-utils.js +5 -5
  380. package/src/components/font-sizes/with-font-sizes.js +15 -13
  381. package/src/components/iframe/index.js +1 -1
  382. package/src/components/image-editor/constants.js +1 -1
  383. package/src/components/index.js +1 -0
  384. package/src/components/inner-blocks/index.js +11 -4
  385. package/src/components/inner-blocks/test/index.js +4 -0
  386. package/src/components/inserter/hooks/use-insertion-point.js +3 -11
  387. package/src/components/inserter/reusable-blocks-tab.js +4 -2
  388. package/src/components/inserter/search-items.js +23 -3
  389. package/src/components/inserter/style.scss +8 -7
  390. package/src/components/inserter/test/reusable-blocks-tab.js +14 -57
  391. package/src/components/inserter/test/search-items.js +6 -0
  392. package/src/components/inserter-list-item/style.scss +2 -0
  393. package/src/components/letter-spacing-control/README.md +55 -0
  394. package/src/components/line-height-control/index.js +1 -0
  395. package/src/components/link-control/README.md +3 -3
  396. package/src/components/link-control/index.js +23 -39
  397. package/src/components/link-control/search-input.js +1 -1
  398. package/src/components/link-control/test/index.js +272 -241
  399. package/src/components/link-control/use-internal-input-value.js +22 -0
  400. package/src/components/list-view/block.js +4 -3
  401. package/src/components/list-view/branch.js +11 -6
  402. package/src/components/list-view/drop-indicator.js +1 -0
  403. package/src/components/list-view/style.scss +1 -36
  404. package/src/components/media-replace-flow/index.js +1 -1
  405. package/src/components/media-replace-flow/test/index.js +69 -51
  406. package/src/components/off-canvas-editor/README.md +5 -0
  407. package/src/components/off-canvas-editor/block-contents.js +89 -0
  408. package/src/components/off-canvas-editor/block-select-button.js +113 -0
  409. package/src/components/off-canvas-editor/block.js +335 -0
  410. package/src/components/off-canvas-editor/branch.js +210 -0
  411. package/src/components/off-canvas-editor/context.js +8 -0
  412. package/src/components/off-canvas-editor/drop-indicator.js +126 -0
  413. package/src/components/off-canvas-editor/expander.js +26 -0
  414. package/src/components/off-canvas-editor/index.js +216 -0
  415. package/src/components/off-canvas-editor/leaf.js +48 -0
  416. package/src/components/off-canvas-editor/style.scss +397 -0
  417. package/src/components/off-canvas-editor/test/utils.js +50 -0
  418. package/src/components/off-canvas-editor/use-block-selection.js +169 -0
  419. package/src/components/off-canvas-editor/use-list-view-client-ids.js +29 -0
  420. package/src/components/off-canvas-editor/use-list-view-drop-zone.js +260 -0
  421. package/src/components/off-canvas-editor/use-list-view-expand-selected-item.js +58 -0
  422. package/src/components/off-canvas-editor/utils.js +58 -0
  423. package/src/components/responsive-block-control/test/index.js +69 -92
  424. package/src/components/rich-text/format-toolbar/index.js +1 -1
  425. package/src/components/rich-text/format-toolbar-container.js +1 -1
  426. package/src/components/rich-text/use-paste-handler.js +1 -1
  427. package/src/components/spacing-sizes-control/all-input-control.js +4 -0
  428. package/src/components/spacing-sizes-control/axial-input-controls.js +4 -0
  429. package/src/components/spacing-sizes-control/index.js +4 -0
  430. package/src/components/spacing-sizes-control/input-controls.js +4 -0
  431. package/src/components/spacing-sizes-control/spacing-input-control.js +10 -1
  432. package/src/components/spacing-sizes-control/style.scss +1 -0
  433. package/src/components/url-input/index.js +1 -1
  434. package/src/components/url-popover/README.md +12 -3
  435. package/src/components/url-popover/index.js +33 -3
  436. package/src/components/use-setting/index.js +7 -1
  437. package/src/hooks/border.js +1 -0
  438. package/src/hooks/color-panel.js +13 -1
  439. package/src/hooks/color.js +2 -0
  440. package/src/hooks/content-lock-ui.js +46 -34
  441. package/src/hooks/dimensions.js +106 -19
  442. package/src/hooks/font-size.js +1 -0
  443. package/src/hooks/layout.js +8 -11
  444. package/src/hooks/margin.js +23 -17
  445. package/src/hooks/min-height.js +121 -0
  446. package/src/hooks/padding.js +23 -19
  447. package/src/hooks/style.js +10 -2
  448. package/src/hooks/test/align.js +96 -72
  449. package/src/hooks/test/style.js +4 -0
  450. package/src/hooks/test/use-typography-props.js +1 -1
  451. package/src/hooks/utils.js +5 -6
  452. package/src/layouts/constrained.js +0 -1
  453. package/src/layouts/flex.js +44 -39
  454. package/src/store/actions.js +26 -0
  455. package/src/store/array.js +1 -6
  456. package/src/store/reducer.js +50 -40
  457. package/src/store/selectors.js +43 -29
  458. package/src/store/test/actions.js +18 -0
  459. package/src/store/test/reducer.js +40 -0
  460. package/src/store/test/selectors.js +20 -1
@@ -8,7 +8,6 @@ const DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';
8
8
  const DEFAULT_MINIMUM_VIEWPORT_WIDTH = '768px';
9
9
  const DEFAULT_SCALE_FACTOR = 1;
10
10
  const DEFAULT_MINIMUM_FONT_SIZE_FACTOR = 0.75;
11
- const DEFAULT_MAXIMUM_FONT_SIZE_FACTOR = 1.5;
12
11
  const DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';
13
12
  /**
14
13
  * Computes a fluid font-size value that uses clamp(). A minimum and maxinmum
@@ -39,7 +38,6 @@ const DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';
39
38
  * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.
40
39
  * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.
41
40
  * @param {?number} args.minimumFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.
42
- * @param {?number} args.maximumFontSizeFactor How much to scale defaultFontSize by to derive maximumFontSize. Optional.
43
41
  *
44
42
  * @return {string|null} A font-size value using clamp().
45
43
  */
@@ -53,74 +51,60 @@ export function getComputedFluidTypographyValue(_ref) {
53
51
  maximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,
54
52
  scaleFactor = DEFAULT_SCALE_FACTOR,
55
53
  minimumFontSizeFactor = DEFAULT_MINIMUM_FONT_SIZE_FACTOR,
56
- maximumFontSizeFactor = DEFAULT_MAXIMUM_FONT_SIZE_FACTOR,
57
54
  minimumFontSizeLimit = DEFAULT_MINIMUM_FONT_SIZE_LIMIT
58
55
  } = _ref;
59
56
 
60
- /*
61
- * Caches minimumFontSize in minimumFontSizeValue
62
- * so we can check if minimumFontSize exists later.
63
- */
64
- let minimumFontSizeValue = minimumFontSize;
65
57
  /*
66
58
  * Calculates missing minimumFontSize and maximumFontSize from
67
59
  * defaultFontSize if provided.
68
60
  */
69
-
70
61
  if (fontSize) {
71
62
  // Parses default font size.
72
63
  const fontSizeParsed = getTypographyValueAndUnit(fontSize); // Protect against invalid units.
73
64
 
74
65
  if (!(fontSizeParsed !== null && fontSizeParsed !== void 0 && fontSizeParsed.unit)) {
75
66
  return null;
76
- } // If no minimumFontSize is provided, derive using min scale factor.
77
-
78
-
79
- if (!minimumFontSizeValue) {
80
- minimumFontSizeValue = roundToPrecision(fontSizeParsed.value * minimumFontSizeFactor, 3) + fontSizeParsed.unit;
81
67
  } // Parses the minimum font size limit, so we can perform checks using it.
82
68
 
83
69
 
84
70
  const minimumFontSizeLimitParsed = getTypographyValueAndUnit(minimumFontSizeLimit, {
85
71
  coerceTo: fontSizeParsed.unit
86
- });
72
+ }); // Don't enforce minimum font size if a font size has explicitly set a min and max value.
87
73
 
88
- if (!!(minimumFontSizeLimitParsed !== null && minimumFontSizeLimitParsed !== void 0 && minimumFontSizeLimitParsed.value)) {
74
+ if (!!(minimumFontSizeLimitParsed !== null && minimumFontSizeLimitParsed !== void 0 && minimumFontSizeLimitParsed.value) && !minimumFontSize && !maximumFontSize) {
89
75
  /*
90
76
  * If a minimum size was not passed to this function
91
- * and the user-defined font size is lower than `minimumFontSizeLimit`,
92
- * then uses the user-defined font size as the minimum font-size.
77
+ * and the user-defined font size is lower than $minimum_font_size_limit,
78
+ * do not calculate a fluid value.
93
79
  */
94
- if (!minimumFontSize && (fontSizeParsed === null || fontSizeParsed === void 0 ? void 0 : fontSizeParsed.value) < (minimumFontSizeLimitParsed === null || minimumFontSizeLimitParsed === void 0 ? void 0 : minimumFontSizeLimitParsed.value)) {
95
- minimumFontSizeValue = `${fontSizeParsed.value}${fontSizeParsed.unit}`;
96
- } else {
97
- const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSizeValue, {
98
- coerceTo: fontSizeParsed.unit
99
- });
100
- /*
101
- * Otherwise, if the passed or calculated minimum font size is lower than `minimumFontSizeLimit`
102
- * use `minimumFontSizeLimit` instead.
103
- */
104
-
105
- if (!!(minimumFontSizeParsed !== null && minimumFontSizeParsed !== void 0 && minimumFontSizeParsed.value) && minimumFontSizeParsed.value < minimumFontSizeLimitParsed.value) {
106
- minimumFontSizeValue = `${minimumFontSizeLimitParsed.value}${minimumFontSizeLimitParsed.unit}`;
107
- }
80
+ if ((fontSizeParsed === null || fontSizeParsed === void 0 ? void 0 : fontSizeParsed.value) <= (minimumFontSizeLimitParsed === null || minimumFontSizeLimitParsed === void 0 ? void 0 : minimumFontSizeLimitParsed.value)) {
81
+ return null;
108
82
  }
109
- } // If no maximumFontSize is provided, derive using max scale factor.
83
+ } // If no fluid max font size is available use the incoming value.
110
84
 
111
85
 
112
86
  if (!maximumFontSize) {
113
- maximumFontSize = roundToPrecision(fontSizeParsed.value * maximumFontSizeFactor, 3) + fontSizeParsed.unit;
87
+ maximumFontSize = `${fontSizeParsed.value}${fontSizeParsed.unit}`;
114
88
  }
115
- } // Return early if one of the provided inputs is not provided.
89
+ /*
90
+ * If no minimumFontSize is provided, create one using
91
+ * the given font size multiplied by the min font size scale factor.
92
+ */
116
93
 
117
94
 
118
- if (!minimumFontSizeValue || !maximumFontSize) {
119
- return null;
95
+ if (!minimumFontSize) {
96
+ const calculatedMinimumFontSize = roundToPrecision(fontSizeParsed.value * minimumFontSizeFactor, 3); // Only use calculated min font size if it's > $minimum_font_size_limit value.
97
+
98
+ if (!!(minimumFontSizeLimitParsed !== null && minimumFontSizeLimitParsed !== void 0 && minimumFontSizeLimitParsed.value) && calculatedMinimumFontSize < (minimumFontSizeLimitParsed === null || minimumFontSizeLimitParsed === void 0 ? void 0 : minimumFontSizeLimitParsed.value)) {
99
+ minimumFontSize = `${minimumFontSizeLimitParsed.value}${minimumFontSizeLimitParsed.unit}`;
100
+ } else {
101
+ minimumFontSize = `${calculatedMinimumFontSize}${fontSizeParsed.unit}`;
102
+ }
103
+ }
120
104
  } // Grab the minimum font size and normalize it in order to use the value for calculations.
121
105
 
122
106
 
123
- const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSizeValue); // We get a 'preferred' unit to keep units consistent when calculating,
107
+ const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSize); // We get a 'preferred' unit to keep units consistent when calculating,
124
108
  // otherwise the result will not be accurate.
125
109
 
126
110
  const fontSizeUnit = (minimumFontSizeParsed === null || minimumFontSizeParsed === void 0 ? void 0 : minimumFontSizeParsed.unit) || 'rem'; // Grabs the maximum font size and normalize it in order to use the value for calculations.
@@ -134,7 +118,7 @@ export function getComputedFluidTypographyValue(_ref) {
134
118
  } // Uses rem for accessible fluid target font scaling.
135
119
 
136
120
 
137
- const minimumFontSizeRem = getTypographyValueAndUnit(minimumFontSizeValue, {
121
+ const minimumFontSizeRem = getTypographyValueAndUnit(minimumFontSize, {
138
122
  coerceTo: 'rem'
139
123
  }); // Viewport widths defined for fluid typography. Normalize units
140
124
 
@@ -156,7 +140,7 @@ export function getComputedFluidTypographyValue(_ref) {
156
140
  const linearFactor = 100 * ((maximumFontSizeParsed.value - minimumFontSizeParsed.value) / (maximumViewPortWidthParsed.value - minumumViewPortWidthParsed.value));
157
141
  const linearFactorScaled = roundToPrecision((linearFactor || 1) * scaleFactor, 3);
158
142
  const fluidTargetFontSize = `${minimumFontSizeRem.value}${minimumFontSizeRem.unit} + ((1vw - ${viewPortWidthOffset}) * ${linearFactorScaled})`;
159
- return `clamp(${minimumFontSizeValue}, ${fluidTargetFontSize}, ${maximumFontSize})`;
143
+ return `clamp(${minimumFontSize}, ${fluidTargetFontSize}, ${maximumFontSize})`;
160
144
  }
161
145
  /**
162
146
  * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ].
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/fluid-utils.js"],"names":["DEFAULT_MAXIMUM_VIEWPORT_WIDTH","DEFAULT_MINIMUM_VIEWPORT_WIDTH","DEFAULT_SCALE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_FACTOR","DEFAULT_MAXIMUM_FONT_SIZE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_LIMIT","getComputedFluidTypographyValue","minimumFontSize","maximumFontSize","fontSize","minimumViewPortWidth","maximumViewPortWidth","scaleFactor","minimumFontSizeFactor","maximumFontSizeFactor","minimumFontSizeLimit","minimumFontSizeValue","fontSizeParsed","getTypographyValueAndUnit","unit","roundToPrecision","value","minimumFontSizeLimitParsed","coerceTo","minimumFontSizeParsed","fontSizeUnit","maximumFontSizeParsed","minimumFontSizeRem","maximumViewPortWidthParsed","minumumViewPortWidthParsed","minViewPortWidthOffsetValue","viewPortWidthOffset","linearFactor","linearFactorScaled","fluidTargetFontSize","rawValue","options","isFinite","rootSizeValue","acceptableUnits","acceptableUnitsGroup","join","regexUnits","RegExp","matches","match","length","returnValue","parseFloat","digits","base","Math","pow","Number","round","undefined"],"mappings":"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","sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n// Defaults.\nconst DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';\nconst DEFAULT_MINIMUM_VIEWPORT_WIDTH = '768px';\nconst DEFAULT_SCALE_FACTOR = 1;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR = 0.75;\nconst DEFAULT_MAXIMUM_FONT_SIZE_FACTOR = 1.5;\nconst DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';\n\n/**\n * Computes a fluid font-size value that uses clamp(). A minimum and maxinmum\n * font size OR a single font size can be specified.\n *\n * If a single font size is specified, it is scaled up and down by\n * minimumFontSizeFactor and maximumFontSizeFactor to arrive at the minimum and\n * maximum sizes.\n *\n * @example\n * ```js\n * // Calculate fluid font-size value from a minimum and maximum value.\n * const fontSize = getComputedFluidTypographyValue( {\n * minimumFontSize: '20px',\n * maximumFontSize: '45px'\n * } );\n * // Calculate fluid font-size value from a single font size.\n * const fontSize = getComputedFluidTypographyValue( {\n * fontSize: '30px',\n * } );\n * ```\n *\n * @param {Object} args\n * @param {?string} args.minimumViewPortWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.\n * @param {?string} args.maximumViewPortWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified.\n * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.\n * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional.\n * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.\n * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @param {?number} args.minimumFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.\n * @param {?number} args.maximumFontSizeFactor How much to scale defaultFontSize by to derive maximumFontSize. Optional.\n *\n * @return {string|null} A font-size value using clamp().\n */\nexport function getComputedFluidTypographyValue( {\n\tminimumFontSize,\n\tmaximumFontSize,\n\tfontSize,\n\tminimumViewPortWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,\n\tmaximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,\n\tscaleFactor = DEFAULT_SCALE_FACTOR,\n\tminimumFontSizeFactor = DEFAULT_MINIMUM_FONT_SIZE_FACTOR,\n\tmaximumFontSizeFactor = DEFAULT_MAXIMUM_FONT_SIZE_FACTOR,\n\tminimumFontSizeLimit = DEFAULT_MINIMUM_FONT_SIZE_LIMIT,\n} ) {\n\t/*\n\t * Caches minimumFontSize in minimumFontSizeValue\n\t * so we can check if minimumFontSize exists later.\n\t */\n\tlet minimumFontSizeValue = minimumFontSize;\n\n\t/*\n\t * Calculates missing minimumFontSize and maximumFontSize from\n\t * defaultFontSize if provided.\n\t */\n\tif ( fontSize ) {\n\t\t// Parses default font size.\n\t\tconst fontSizeParsed = getTypographyValueAndUnit( fontSize );\n\n\t\t// Protect against invalid units.\n\t\tif ( ! fontSizeParsed?.unit ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// If no minimumFontSize is provided, derive using min scale factor.\n\t\tif ( ! minimumFontSizeValue ) {\n\t\t\tminimumFontSizeValue =\n\t\t\t\troundToPrecision(\n\t\t\t\t\tfontSizeParsed.value * minimumFontSizeFactor,\n\t\t\t\t\t3\n\t\t\t\t) + fontSizeParsed.unit;\n\t\t}\n\n\t\t// Parses the minimum font size limit, so we can perform checks using it.\n\t\tconst minimumFontSizeLimitParsed = getTypographyValueAndUnit(\n\t\t\tminimumFontSizeLimit,\n\t\t\t{\n\t\t\t\tcoerceTo: fontSizeParsed.unit,\n\t\t\t}\n\t\t);\n\n\t\tif ( !! minimumFontSizeLimitParsed?.value ) {\n\t\t\t/*\n\t\t\t * If a minimum size was not passed to this function\n\t\t\t * and the user-defined font size is lower than `minimumFontSizeLimit`,\n\t\t\t * then uses the user-defined font size as the minimum font-size.\n\t\t\t */\n\t\t\tif (\n\t\t\t\t! minimumFontSize &&\n\t\t\t\tfontSizeParsed?.value < minimumFontSizeLimitParsed?.value\n\t\t\t) {\n\t\t\t\tminimumFontSizeValue = `${ fontSizeParsed.value }${ fontSizeParsed.unit }`;\n\t\t\t} else {\n\t\t\t\tconst minimumFontSizeParsed = getTypographyValueAndUnit(\n\t\t\t\t\tminimumFontSizeValue,\n\t\t\t\t\t{\n\t\t\t\t\t\tcoerceTo: fontSizeParsed.unit,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t/*\n\t\t\t\t * Otherwise, if the passed or calculated minimum font size is lower than `minimumFontSizeLimit`\n\t\t\t\t * use `minimumFontSizeLimit` instead.\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\t!! minimumFontSizeParsed?.value &&\n\t\t\t\t\tminimumFontSizeParsed.value <\n\t\t\t\t\t\tminimumFontSizeLimitParsed.value\n\t\t\t\t) {\n\t\t\t\t\tminimumFontSizeValue = `${ minimumFontSizeLimitParsed.value }${ minimumFontSizeLimitParsed.unit }`;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If no maximumFontSize is provided, derive using max scale factor.\n\t\tif ( ! maximumFontSize ) {\n\t\t\tmaximumFontSize =\n\t\t\t\troundToPrecision(\n\t\t\t\t\tfontSizeParsed.value * maximumFontSizeFactor,\n\t\t\t\t\t3\n\t\t\t\t) + fontSizeParsed.unit;\n\t\t}\n\t}\n\n\t// Return early if one of the provided inputs is not provided.\n\tif ( ! minimumFontSizeValue || ! maximumFontSize ) {\n\t\treturn null;\n\t}\n\n\t// Grab the minimum font size and normalize it in order to use the value for calculations.\n\tconst minimumFontSizeParsed =\n\t\tgetTypographyValueAndUnit( minimumFontSizeValue );\n\n\t// We get a 'preferred' unit to keep units consistent when calculating,\n\t// otherwise the result will not be accurate.\n\tconst fontSizeUnit = minimumFontSizeParsed?.unit || 'rem';\n\n\t// Grabs the maximum font size and normalize it in order to use the value for calculations.\n\tconst maximumFontSizeParsed = getTypographyValueAndUnit( maximumFontSize, {\n\t\tcoerceTo: fontSizeUnit,\n\t} );\n\n\t// Checks for mandatory min and max sizes, and protects against unsupported units.\n\tif ( ! minimumFontSizeParsed || ! maximumFontSizeParsed ) {\n\t\treturn null;\n\t}\n\n\t// Uses rem for accessible fluid target font scaling.\n\tconst minimumFontSizeRem = getTypographyValueAndUnit(\n\t\tminimumFontSizeValue,\n\t\t{\n\t\t\tcoerceTo: 'rem',\n\t\t}\n\t);\n\n\t// Viewport widths defined for fluid typography. Normalize units\n\tconst maximumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tmaximumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\tconst minumumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tminimumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\n\t// Protect against unsupported units.\n\tif (\n\t\t! maximumViewPortWidthParsed ||\n\t\t! minumumViewPortWidthParsed ||\n\t\t! minimumFontSizeRem\n\t) {\n\t\treturn null;\n\t}\n\n\t// Build CSS rule.\n\t// Borrowed from https://websemantics.uk/tools/responsive-font-calculator/.\n\tconst minViewPortWidthOffsetValue = roundToPrecision(\n\t\tminumumViewPortWidthParsed.value / 100,\n\t\t3\n\t);\n\n\tconst viewPortWidthOffset =\n\t\troundToPrecision( minViewPortWidthOffsetValue, 3 ) + fontSizeUnit;\n\tconst linearFactor =\n\t\t100 *\n\t\t( ( maximumFontSizeParsed.value - minimumFontSizeParsed.value ) /\n\t\t\t( maximumViewPortWidthParsed.value -\n\t\t\t\tminumumViewPortWidthParsed.value ) );\n\tconst linearFactorScaled = roundToPrecision(\n\t\t( linearFactor || 1 ) * scaleFactor,\n\t\t3\n\t);\n\tconst fluidTargetFontSize = `${ minimumFontSizeRem.value }${ minimumFontSizeRem.unit } + ((1vw - ${ viewPortWidthOffset }) * ${ linearFactorScaled })`;\n\n\treturn `clamp(${ minimumFontSizeValue }, ${ fluidTargetFontSize }, ${ maximumFontSize })`;\n}\n\n/**\n * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ].\n * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`.\n *\n * @param {string|number} rawValue Raw size value from theme.json.\n * @param {Object|undefined} options Calculation options.\n *\n * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties.\n */\nexport function getTypographyValueAndUnit( rawValue, options = {} ) {\n\tif ( typeof rawValue !== 'string' && typeof rawValue !== 'number' ) {\n\t\treturn null;\n\t}\n\n\t// Converts numeric values to pixel values by default.\n\tif ( isFinite( rawValue ) ) {\n\t\trawValue = `${ rawValue }px`;\n\t}\n\n\tconst { coerceTo, rootSizeValue, acceptableUnits } = {\n\t\tcoerceTo: '',\n\t\t// Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( \"html\" ) ).fontSize`.\n\t\trootSizeValue: 16,\n\t\tacceptableUnits: [ 'rem', 'px', 'em' ],\n\t\t...options,\n\t};\n\n\tconst acceptableUnitsGroup = acceptableUnits?.join( '|' );\n\tconst regexUnits = new RegExp(\n\t\t`^(\\\\d*\\\\.?\\\\d+)(${ acceptableUnitsGroup }){1,1}$`\n\t);\n\n\tconst matches = rawValue.match( regexUnits );\n\n\t// We need a number value and a unit.\n\tif ( ! matches || matches.length < 3 ) {\n\t\treturn null;\n\t}\n\n\tlet [ , value, unit ] = matches;\n\n\tlet returnValue = parseFloat( value );\n\n\tif ( 'px' === coerceTo && ( 'em' === unit || 'rem' === unit ) ) {\n\t\treturnValue = returnValue * rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\tif ( 'px' === unit && ( 'em' === coerceTo || 'rem' === coerceTo ) ) {\n\t\treturnValue = returnValue / rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\t/*\n\t * No calculation is required if swapping between em and rem yet,\n\t * since we assume a root size value. Later we might like to differentiate between\n\t * :root font size (rem) and parent element font size (em) relativity.\n\t */\n\tif (\n\t\t( 'em' === coerceTo || 'rem' === coerceTo ) &&\n\t\t( 'em' === unit || 'rem' === unit )\n\t) {\n\t\tunit = coerceTo;\n\t}\n\n\treturn {\n\t\tvalue: roundToPrecision( returnValue, 3 ),\n\t\tunit,\n\t};\n}\n\n/**\n * Returns a value rounded to defined precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {number} value Raw value.\n * @param {number} digits The number of digits to appear after the decimal point\n *\n * @return {number|undefined} Value rounded to standard precision.\n */\nexport function roundToPrecision( value, digits = 3 ) {\n\tconst base = Math.pow( 10, digits );\n\treturn Number.isFinite( value )\n\t\t? parseFloat( Math.round( value * base ) / base )\n\t\t: undefined;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/fluid-utils.js"],"names":["DEFAULT_MAXIMUM_VIEWPORT_WIDTH","DEFAULT_MINIMUM_VIEWPORT_WIDTH","DEFAULT_SCALE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_FACTOR","DEFAULT_MINIMUM_FONT_SIZE_LIMIT","getComputedFluidTypographyValue","minimumFontSize","maximumFontSize","fontSize","minimumViewPortWidth","maximumViewPortWidth","scaleFactor","minimumFontSizeFactor","minimumFontSizeLimit","fontSizeParsed","getTypographyValueAndUnit","unit","minimumFontSizeLimitParsed","coerceTo","value","calculatedMinimumFontSize","roundToPrecision","minimumFontSizeParsed","fontSizeUnit","maximumFontSizeParsed","minimumFontSizeRem","maximumViewPortWidthParsed","minumumViewPortWidthParsed","minViewPortWidthOffsetValue","viewPortWidthOffset","linearFactor","linearFactorScaled","fluidTargetFontSize","rawValue","options","isFinite","rootSizeValue","acceptableUnits","acceptableUnitsGroup","join","regexUnits","RegExp","matches","match","length","returnValue","parseFloat","digits","base","Math","pow","Number","round","undefined"],"mappings":"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","sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n// Defaults.\nconst DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';\nconst DEFAULT_MINIMUM_VIEWPORT_WIDTH = '768px';\nconst DEFAULT_SCALE_FACTOR = 1;\nconst DEFAULT_MINIMUM_FONT_SIZE_FACTOR = 0.75;\nconst DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';\n\n/**\n * Computes a fluid font-size value that uses clamp(). A minimum and maxinmum\n * font size OR a single font size can be specified.\n *\n * If a single font size is specified, it is scaled up and down by\n * minimumFontSizeFactor and maximumFontSizeFactor to arrive at the minimum and\n * maximum sizes.\n *\n * @example\n * ```js\n * // Calculate fluid font-size value from a minimum and maximum value.\n * const fontSize = getComputedFluidTypographyValue( {\n * minimumFontSize: '20px',\n * maximumFontSize: '45px'\n * } );\n * // Calculate fluid font-size value from a single font size.\n * const fontSize = getComputedFluidTypographyValue( {\n * fontSize: '30px',\n * } );\n * ```\n *\n * @param {Object} args\n * @param {?string} args.minimumViewPortWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.\n * @param {?string} args.maximumViewPortWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified.\n * @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.\n * @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional.\n * @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.\n * @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @param {?number} args.minimumFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.\n *\n * @return {string|null} A font-size value using clamp().\n */\nexport function getComputedFluidTypographyValue( {\n\tminimumFontSize,\n\tmaximumFontSize,\n\tfontSize,\n\tminimumViewPortWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,\n\tmaximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,\n\tscaleFactor = DEFAULT_SCALE_FACTOR,\n\tminimumFontSizeFactor = DEFAULT_MINIMUM_FONT_SIZE_FACTOR,\n\tminimumFontSizeLimit = DEFAULT_MINIMUM_FONT_SIZE_LIMIT,\n} ) {\n\t/*\n\t * Calculates missing minimumFontSize and maximumFontSize from\n\t * defaultFontSize if provided.\n\t */\n\tif ( fontSize ) {\n\t\t// Parses default font size.\n\t\tconst fontSizeParsed = getTypographyValueAndUnit( fontSize );\n\n\t\t// Protect against invalid units.\n\t\tif ( ! fontSizeParsed?.unit ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Parses the minimum font size limit, so we can perform checks using it.\n\t\tconst minimumFontSizeLimitParsed = getTypographyValueAndUnit(\n\t\t\tminimumFontSizeLimit,\n\t\t\t{\n\t\t\t\tcoerceTo: fontSizeParsed.unit,\n\t\t\t}\n\t\t);\n\n\t\t// Don't enforce minimum font size if a font size has explicitly set a min and max value.\n\t\tif (\n\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t! minimumFontSize &&\n\t\t\t! maximumFontSize\n\t\t) {\n\t\t\t/*\n\t\t\t * If a minimum size was not passed to this function\n\t\t\t * and the user-defined font size is lower than $minimum_font_size_limit,\n\t\t\t * do not calculate a fluid value.\n\t\t\t */\n\t\t\tif ( fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\t// If no fluid max font size is available use the incoming value.\n\t\tif ( ! maximumFontSize ) {\n\t\t\tmaximumFontSize = `${ fontSizeParsed.value }${ fontSizeParsed.unit }`;\n\t\t}\n\n\t\t/*\n\t\t * If no minimumFontSize is provided, create one using\n\t\t * the given font size multiplied by the min font size scale factor.\n\t\t */\n\t\tif ( ! minimumFontSize ) {\n\t\t\tconst calculatedMinimumFontSize = roundToPrecision(\n\t\t\t\tfontSizeParsed.value * minimumFontSizeFactor,\n\t\t\t\t3\n\t\t\t);\n\n\t\t\t// Only use calculated min font size if it's > $minimum_font_size_limit value.\n\t\t\tif (\n\t\t\t\t!! minimumFontSizeLimitParsed?.value &&\n\t\t\t\tcalculatedMinimumFontSize < minimumFontSizeLimitParsed?.value\n\t\t\t) {\n\t\t\t\tminimumFontSize = `${ minimumFontSizeLimitParsed.value }${ minimumFontSizeLimitParsed.unit }`;\n\t\t\t} else {\n\t\t\t\tminimumFontSize = `${ calculatedMinimumFontSize }${ fontSizeParsed.unit }`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Grab the minimum font size and normalize it in order to use the value for calculations.\n\tconst minimumFontSizeParsed = getTypographyValueAndUnit( minimumFontSize );\n\n\t// We get a 'preferred' unit to keep units consistent when calculating,\n\t// otherwise the result will not be accurate.\n\tconst fontSizeUnit = minimumFontSizeParsed?.unit || 'rem';\n\n\t// Grabs the maximum font size and normalize it in order to use the value for calculations.\n\tconst maximumFontSizeParsed = getTypographyValueAndUnit( maximumFontSize, {\n\t\tcoerceTo: fontSizeUnit,\n\t} );\n\n\t// Checks for mandatory min and max sizes, and protects against unsupported units.\n\tif ( ! minimumFontSizeParsed || ! maximumFontSizeParsed ) {\n\t\treturn null;\n\t}\n\n\t// Uses rem for accessible fluid target font scaling.\n\tconst minimumFontSizeRem = getTypographyValueAndUnit( minimumFontSize, {\n\t\tcoerceTo: 'rem',\n\t} );\n\n\t// Viewport widths defined for fluid typography. Normalize units\n\tconst maximumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tmaximumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\tconst minumumViewPortWidthParsed = getTypographyValueAndUnit(\n\t\tminimumViewPortWidth,\n\t\t{ coerceTo: fontSizeUnit }\n\t);\n\n\t// Protect against unsupported units.\n\tif (\n\t\t! maximumViewPortWidthParsed ||\n\t\t! minumumViewPortWidthParsed ||\n\t\t! minimumFontSizeRem\n\t) {\n\t\treturn null;\n\t}\n\n\t// Build CSS rule.\n\t// Borrowed from https://websemantics.uk/tools/responsive-font-calculator/.\n\tconst minViewPortWidthOffsetValue = roundToPrecision(\n\t\tminumumViewPortWidthParsed.value / 100,\n\t\t3\n\t);\n\n\tconst viewPortWidthOffset =\n\t\troundToPrecision( minViewPortWidthOffsetValue, 3 ) + fontSizeUnit;\n\tconst linearFactor =\n\t\t100 *\n\t\t( ( maximumFontSizeParsed.value - minimumFontSizeParsed.value ) /\n\t\t\t( maximumViewPortWidthParsed.value -\n\t\t\t\tminumumViewPortWidthParsed.value ) );\n\tconst linearFactorScaled = roundToPrecision(\n\t\t( linearFactor || 1 ) * scaleFactor,\n\t\t3\n\t);\n\tconst fluidTargetFontSize = `${ minimumFontSizeRem.value }${ minimumFontSizeRem.unit } + ((1vw - ${ viewPortWidthOffset }) * ${ linearFactorScaled })`;\n\n\treturn `clamp(${ minimumFontSize }, ${ fluidTargetFontSize }, ${ maximumFontSize })`;\n}\n\n/**\n * Internal method that checks a string for a unit and value and returns an array consisting of `'value'` and `'unit'`, e.g., [ '42', 'rem' ].\n * A raw font size of `value + unit` is expected. If the value is an integer, it will convert to `value + 'px'`.\n *\n * @param {string|number} rawValue Raw size value from theme.json.\n * @param {Object|undefined} options Calculation options.\n *\n * @return {{ unit: string, value: number }|null} An object consisting of `'value'` and `'unit'` properties.\n */\nexport function getTypographyValueAndUnit( rawValue, options = {} ) {\n\tif ( typeof rawValue !== 'string' && typeof rawValue !== 'number' ) {\n\t\treturn null;\n\t}\n\n\t// Converts numeric values to pixel values by default.\n\tif ( isFinite( rawValue ) ) {\n\t\trawValue = `${ rawValue }px`;\n\t}\n\n\tconst { coerceTo, rootSizeValue, acceptableUnits } = {\n\t\tcoerceTo: '',\n\t\t// Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( \"html\" ) ).fontSize`.\n\t\trootSizeValue: 16,\n\t\tacceptableUnits: [ 'rem', 'px', 'em' ],\n\t\t...options,\n\t};\n\n\tconst acceptableUnitsGroup = acceptableUnits?.join( '|' );\n\tconst regexUnits = new RegExp(\n\t\t`^(\\\\d*\\\\.?\\\\d+)(${ acceptableUnitsGroup }){1,1}$`\n\t);\n\n\tconst matches = rawValue.match( regexUnits );\n\n\t// We need a number value and a unit.\n\tif ( ! matches || matches.length < 3 ) {\n\t\treturn null;\n\t}\n\n\tlet [ , value, unit ] = matches;\n\n\tlet returnValue = parseFloat( value );\n\n\tif ( 'px' === coerceTo && ( 'em' === unit || 'rem' === unit ) ) {\n\t\treturnValue = returnValue * rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\tif ( 'px' === unit && ( 'em' === coerceTo || 'rem' === coerceTo ) ) {\n\t\treturnValue = returnValue / rootSizeValue;\n\t\tunit = coerceTo;\n\t}\n\n\t/*\n\t * No calculation is required if swapping between em and rem yet,\n\t * since we assume a root size value. Later we might like to differentiate between\n\t * :root font size (rem) and parent element font size (em) relativity.\n\t */\n\tif (\n\t\t( 'em' === coerceTo || 'rem' === coerceTo ) &&\n\t\t( 'em' === unit || 'rem' === unit )\n\t) {\n\t\tunit = coerceTo;\n\t}\n\n\treturn {\n\t\tvalue: roundToPrecision( returnValue, 3 ),\n\t\tunit,\n\t};\n}\n\n/**\n * Returns a value rounded to defined precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {number} value Raw value.\n * @param {number} digits The number of digits to appear after the decimal point\n *\n * @return {number|undefined} Value rounded to standard precision.\n */\nexport function roundToPrecision( value, digits = 3 ) {\n\tconst base = Math.pow( 10, digits );\n\treturn Number.isFinite( value )\n\t\t? parseFloat( Math.round( value * base ) / base )\n\t\t: undefined;\n}\n"]}
@@ -4,7 +4,7 @@ import { createElement } from "@wordpress/element";
4
4
  /**
5
5
  * External dependencies
6
6
  */
7
- import { find, pickBy, reduce, some } from 'lodash';
7
+ import { find, pickBy } from 'lodash';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
@@ -52,7 +52,7 @@ export default (function () {
52
52
  * and the value is the custom font size attribute name.
53
53
  * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.
54
54
  */
55
- const fontSizeAttributeNames = reduce(fontSizeNames, (fontSizeAttributeNamesAccumulator, fontSizeAttributeName) => {
55
+ const fontSizeAttributeNames = fontSizeNames.reduce((fontSizeAttributeNamesAccumulator, fontSizeAttributeName) => {
56
56
  fontSizeAttributeNamesAccumulator[fontSizeAttributeName] = `custom${upperFirst(fontSizeAttributeName)}`;
57
57
  return fontSizeAttributeNamesAccumulator;
58
58
  }, {});
@@ -70,7 +70,8 @@ export default (function () {
70
70
  }
71
71
 
72
72
  createSetters() {
73
- return reduce(fontSizeAttributeNames, (settersAccumulator, customFontSizeAttributeName, fontSizeAttributeName) => {
73
+ return Object.entries(fontSizeAttributeNames).reduce((settersAccumulator, _ref2) => {
74
+ let [fontSizeAttributeName, customFontSizeAttributeName] = _ref2;
74
75
  const upperFirstFontSizeAttributeName = upperFirst(fontSizeAttributeName);
75
76
  settersAccumulator[`set${upperFirstFontSizeAttributeName}`] = this.createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName);
76
77
  return settersAccumulator;
@@ -89,11 +90,11 @@ export default (function () {
89
90
  };
90
91
  }
91
92
 
92
- static getDerivedStateFromProps(_ref2, previousState) {
93
+ static getDerivedStateFromProps(_ref3, previousState) {
93
94
  let {
94
95
  attributes,
95
96
  fontSizes
96
- } = _ref2;
97
+ } = _ref3;
97
98
 
98
99
  const didAttributesChange = (customFontSizeAttributeName, fontSizeAttributeName) => {
99
100
  if (previousState[fontSizeAttributeName]) {
@@ -110,11 +111,12 @@ export default (function () {
110
111
  return true;
111
112
  };
112
113
 
113
- if (!some(fontSizeAttributeNames, didAttributesChange)) {
114
+ if (!Object.values(fontSizeAttributeNames).some(didAttributesChange)) {
114
115
  return null;
115
116
  }
116
117
 
117
- const newState = reduce(pickBy(fontSizeAttributeNames, didAttributesChange), (newStateAccumulator, customFontSizeAttributeName, fontSizeAttributeName) => {
118
+ const newState = Object.entries(pickBy(fontSizeAttributeNames, didAttributesChange)).reduce((newStateAccumulator, _ref4) => {
119
+ let [fontSizeAttributeName, customFontSizeAttributeName] = _ref4;
118
120
  const fontSizeAttributeValue = attributes[fontSizeAttributeName];
119
121
  const fontSizeObject = getFontSize(fontSizes, fontSizeAttributeValue, attributes[customFontSizeAttributeName]);
120
122
  newStateAccumulator[fontSizeAttributeName] = { ...fontSizeObject,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["find","pickBy","reduce","some","createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","fontSizeNames","fontSizeAttributeNames","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","previousState","attributes","didAttributesChange","newState","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, pickBy, reduce, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = reduce(\n\t\tfontSizeNames,\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn reduce(\n\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = find( this.props.fontSizes, {\n\t\t\t\t\t\t\t\tsize: Number( fontSizeValue ),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\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// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! some(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = reduce(\n\t\t\t\t\t\t\tpickBy(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnewStateAccumulator[ fontSizeAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\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\t'withFontSizes'\n\t);\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["find","pickBy","createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","previousState","attributes","didAttributesChange","values","some","newState","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,MAAf,QAA6B,QAA7B;AAEA;AACA;AACA;;AACA,SAASC,0BAAT,EAAqCC,OAArC,QAAoD,oBAApD;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,gBAAtB,QAA8C,SAA9C;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,MAAMC,kBAAkB,GAAG,EAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAU,GAAG;AAAA,MAAE,CAAEC,WAAF,EAAe,GAAGC,IAAlB,CAAF;AAAA,SAClBD,WAAW,CAACE,WAAZ,KAA4BD,IAAI,CAACE,IAAL,CAAW,EAAX,CADV;AAAA,CAAnB;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,gBAAe,YAAwB;AAAA,oCAAnBC,aAAmB;AAAnBA,IAAAA,aAAmB;AAAA;;AACtC;AACD;AACA;AACA;AACA;AACC,QAAMC,sBAAsB,GAAGD,aAAa,CAACE,MAAd,CAC9B,CAAEC,iCAAF,EAAqCC,qBAArC,KAAgE;AAC/DD,IAAAA,iCAAiC,CAChCC,qBADgC,CAAjC,GAEK,SAAST,UAAU,CAAES,qBAAF,CAA2B,EAFnD;AAGA,WAAOD,iCAAP;AACA,GAN6B,EAO9B,EAP8B,CAA/B;AAUA,SAAOf,0BAA0B,CAChCC,OAAO,CAAE,CACRD,0BAA0B,CACvBiB,gBAAF,IAA0BC,KAAF,IAAa;AACpC,UAAMC,SAAS,GACdd,UAAU,CAAE,sBAAF,CAAV,IACAC,kBAFD;AAGA,WACC,cAAC,gBAAD,eACMY,KADN;AAEC,MAAA,SAAS,EAAGC;AAFb,OADD;AAMA,GAXwB,EAYzB,eAZyB,CADlB,EAeNF,gBAAF,IAAwB;AACvB,WAAO,cAAcf,SAAd,CAAwB;AAC9BkB,MAAAA,WAAW,CAAEF,KAAF,EAAU;AACpB,cAAOA,KAAP;AAEA,aAAKG,OAAL,GAAe,KAAKC,aAAL,EAAf;AAEA,aAAKC,KAAL,GAAa,EAAb;AACA;;AAEDD,MAAAA,aAAa,GAAG;AACf,eAAOE,MAAM,CAACC,OAAP,CAAgBZ,sBAAhB,EAAyCC,MAAzC,CACN,CACCY,kBADD,YAMK;AAAA,cAJJ,CACCV,qBADD,EAECW,2BAFD,CAII;AACJ,gBAAMC,+BAA+B,GACpCrB,UAAU,CAAES,qBAAF,CADX;AAEAU,UAAAA,kBAAkB,CAChB,MAAME,+BAAiC,EADvB,CAAlB,GAEI,KAAKC,iBAAL,CACHb,qBADG,EAEHW,2BAFG,CAFJ;AAMA,iBAAOD,kBAAP;AACA,SAjBK,EAkBN,EAlBM,CAAP;AAoBA;;AAEDG,MAAAA,iBAAiB,CAChBb,qBADgB,EAEhBW,2BAFgB,EAGf;AACD,eAASG,aAAF,IAAqB;AAC3B,gBAAMC,cAAc,GAAGjC,IAAI,CAAE,KAAKoB,KAAL,CAAWC,SAAb,EAAwB;AAClDa,YAAAA,IAAI,EAAEC,MAAM,CAAEH,aAAF;AADsC,WAAxB,CAA3B;AAGA,eAAKZ,KAAL,CAAWgB,aAAX,CAA0B;AACzB,aAAElB,qBAAF,GACCe,cAAc,IAAIA,cAAc,CAACI,IAAjC,GACGJ,cAAc,CAACI,IADlB,GAEGC,SAJqB;AAKzB,aAAET,2BAAF,GACCI,cAAc,IAAIA,cAAc,CAACI,IAAjC,GACGC,SADH,GAEGN;AARqB,WAA1B;AAUA,SAdD;AAeA;;AAE8B,aAAxBO,wBAAwB,QAE9BC,aAF8B,EAG7B;AAAA,YAFD;AAAEC,UAAAA,UAAF;AAAcpB,UAAAA;AAAd,SAEC;;AACD,cAAMqB,mBAAmB,GAAG,CAC3Bb,2BAD2B,EAE3BX,qBAF2B,KAGvB;AACJ,cAAKsB,aAAa,CAAEtB,qBAAF,CAAlB,EAA8C;AAC7C;AACA,gBAAKuB,UAAU,CAAEvB,qBAAF,CAAf,EAA2C;AAC1C,qBACCuB,UAAU,CAAEvB,qBAAF,CAAV,KACAsB,aAAa,CAAEtB,qBAAF,CAAb,CACEmB,IAHH;AAKA,aAR4C,CAS7C;;;AACA,mBACCG,aAAa,CAAEtB,qBAAF,CAAb,CACEgB,IADF,KAEAO,UAAU,CAAEZ,2BAAF,CAHX;AAKA,WAhBG,CAiBJ;;;AACA,iBAAO,IAAP;AACA,SAtBD;;AAwBA,YACC,CAAEH,MAAM,CAACiB,MAAP,CAAe5B,sBAAf,EAAwC6B,IAAxC,CACDF,mBADC,CADH,EAIE;AACD,iBAAO,IAAP;AACA;;AAED,cAAMG,QAAQ,GAAGnB,MAAM,CAACC,OAAP,CAChB1B,MAAM,CACLc,sBADK,EAEL2B,mBAFK,CADU,EAKf1B,MALe,CAMhB,CACC8B,mBADD,YAMK;AAAA,cAJJ,CACC5B,qBADD,EAECW,2BAFD,CAII;AACJ,gBAAMkB,sBAAsB,GAC3BN,UAAU,CAAEvB,qBAAF,CADX;AAEA,gBAAMe,cAAc,GAAG5B,WAAW,CACjCgB,SADiC,EAEjC0B,sBAFiC,EAGjCN,UAAU,CAAEZ,2BAAF,CAHuB,CAAlC;AAKAiB,UAAAA,mBAAmB,CAAE5B,qBAAF,CAAnB,GAA+C,EAC9C,GAAGe,cAD2C;AAE9Ce,YAAAA,KAAK,EAAE1C,gBAAgB,CACtByC,sBADsB;AAFuB,WAA/C;AAMA,iBAAOD,mBAAP;AACA,SA3Be,EA4BhB,EA5BgB,CAAjB;AA+BA,eAAO,EACN,GAAGN,aADG;AAEN,aAAGK;AAFG,SAAP;AAIA;;AAEDI,MAAAA,MAAM,GAAG;AACR,eACC,cAAC,gBAAD,eAEK,KAAK7B,KAFV;AAGEC,UAAAA,SAAS,EAAEiB;AAHb,WAIK,KAAKb,KAJV,EAKK,KAAKF,OALV,EADD;AAUA;;AAzI6B,KAA/B;AA2IA,GA3JO,CAAF,CADyB,EA8JhC,eA9JgC,CAAjC;AAgKA,CAhLD","sourcesContent":["/**\n * External dependencies\n */\nimport { find, pickBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\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\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = find( this.props.fontSizes, {\n\t\t\t\t\t\t\t\tsize: Number( fontSizeValue ),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\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// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tpickBy(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\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\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnewStateAccumulator[ fontSizeAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\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\t'withFontSizes'\n\t);\n};\n"]}
@@ -257,7 +257,7 @@ function Iframe(_ref3, ref) {
257
257
  }, []);
258
258
  const bodyRef = useMergeRefs([contentRef, clearerRef, writingFlowRef]);
259
259
  const styleCompatibilityRef = useStylesCompatibility();
260
- head = createElement(Fragment, null, createElement("style", null, 'body{margin:0}'), styles.map(_ref4 => {
260
+ head = createElement(Fragment, null, createElement("style", null, 'html{height:auto!important;}body{margin:0}'), styles.map(_ref4 => {
261
261
  let {
262
262
  tagName,
263
263
  href,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["classnames","useState","createPortal","forwardRef","useMemo","useReducer","__","useResizeObserver","useMergeRefs","useRefEffect","__experimentalStyleProvider","StyleProvider","useBlockSelectionClearer","useWritingFlow","BODY_CLASS_NAME","BLOCK_PREFIX","useStylesCompatibility","node","Array","from","document","styleSheets","forEach","styleSheet","cssRules","e","ownerNode","tagName","id","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","isMatch","ownerDocument","getElementById","appendChild","cloneNode","inlineCssId","replace","inlineCssElement","bubbleEvents","doc","defaultView","frameElement","bubbleEvent","event","prototype","Object","getPrototypeOf","constructorName","constructor","name","Constructor","window","init","key","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","cancelled","dispatchEvent","preventDefault","eventTypes","addEventListener","useParsedAssets","html","implementation","createHTMLDocument","body","innerHTML","children","loadScript","head","src","Promise","resolve","reject","script","createElement","onload","onerror","Iframe","ref","contentRef","tabIndex","assets","isZoomedOut","props","forceRender","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","styles","scripts","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","iFrameDocument","preventFileDropDefault","setDocumentIfReady","contentDocument","readyState","documentElement","classList","filter","startsWith","dir","removeChild","removeEventListener","headRef","element","reduce","promise","then","finally","bodyRef","styleCompatibilityRef","map","href","rel","media","textContent","TagName","toLowerCase","marginBottom","display"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\n\nconst BODY_CLASS_NAME = 'editor-styles-wrapper';\nconst BLOCK_PREFIX = 'wp-block';\n\n/**\n * Clones stylesheets targetting the editor canvas to the given document. A\n * stylesheet is considered targetting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nfunction useStylesCompatibility() {\n\treturn useRefEffect( ( node ) => {\n\t\t// Search the document for stylesheets targetting the editor canvas.\n\t\tArray.from( document.styleSheets ).forEach( ( styleSheet ) => {\n\t\t\ttry {\n\t\t\t\t// May fail for external styles.\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\tstyleSheet.cssRules;\n\t\t\t} catch ( e ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\tif ( ! cssRules ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Generally, ignore inline styles. We add inline styles belonging to a\n\t\t\t// stylesheet later, which may or may not match the selectors.\n\t\t\tif ( ownerNode.tagName !== 'LINK' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't try to add the reset styles, which were removed as a dependency\n\t\t\t// from `edit-blocks` for the iframe since we don't need to reset admin\n\t\t\t// styles.\n\t\t\tif ( ownerNode.id === 'wp-reset-editor-styles-css' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t( {\n\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t`.${ BODY_CLASS_NAME }`\n\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\tselectorText.includes( `.${ BLOCK_PREFIX }` ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst isMatch = matchFromRules( cssRules );\n\n\t\t\tif (\n\t\t\t\tisMatch &&\n\t\t\t\t! node.ownerDocument.getElementById( ownerNode.id )\n\t\t\t) {\n\t\t\t\t// Display warning once we have a way to add style dependencies to the editor.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/37466.\n\t\t\t\tnode.appendChild( ownerNode.cloneNode( true ) );\n\n\t\t\t\t// Add inline styles belonging to the stylesheet.\n\t\t\t\tconst inlineCssId = ownerNode.id.replace(\n\t\t\t\t\t'-css',\n\t\t\t\t\t'-inline-css'\n\t\t\t\t);\n\t\t\t\tconst inlineCssElement = document.getElementById( inlineCssId );\n\n\t\t\t\tif ( inlineCssElement ) {\n\t\t\t\t\tnode.appendChild( inlineCssElement.cloneNode( true ) );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}, [] );\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} doc Document to attach listeners to.\n */\nfunction bubbleEvents( doc ) {\n\tconst { defaultView } = doc;\n\tconst { frameElement } = defaultView;\n\n\tfunction bubbleEvent( event ) {\n\t\tconst prototype = Object.getPrototypeOf( event );\n\t\tconst constructorName = prototype.constructor.name;\n\t\tconst Constructor = window[ constructorName ];\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tif ( event instanceof defaultView.MouseEvent ) {\n\t\t\tconst rect = frameElement.getBoundingClientRect();\n\t\t\tinit.clientX += rect.left;\n\t\t\tinit.clientY += rect.top;\n\t\t}\n\n\t\tconst newEvent = new Constructor( event.type, init );\n\t\tconst cancelled = ! frameElement.dispatchEvent( newEvent );\n\n\t\tif ( cancelled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tconst eventTypes = [ 'dragover' ];\n\n\tfor ( const name of eventTypes ) {\n\t\tdoc.addEventListener( name, bubbleEvent );\n\t}\n}\n\nfunction useParsedAssets( html ) {\n\treturn useMemo( () => {\n\t\tconst doc = document.implementation.createHTMLDocument( '' );\n\t\tdoc.body.innerHTML = html;\n\t\treturn Array.from( doc.body.children );\n\t}, [ html ] );\n}\n\nasync function loadScript( head, { id, src } ) {\n\treturn new Promise( ( resolve, reject ) => {\n\t\tconst script = head.ownerDocument.createElement( 'script' );\n\t\tscript.id = id;\n\t\tif ( src ) {\n\t\t\tscript.src = src;\n\t\t\tscript.onload = () => resolve();\n\t\t\tscript.onerror = () => reject();\n\t\t} else {\n\t\t\tresolve();\n\t\t}\n\t\thead.appendChild( script );\n\t} );\n}\n\nfunction Iframe(\n\t{ contentRef, children, head, tabIndex = 0, assets, isZoomedOut, ...props },\n\tref\n) {\n\tconst [ , forceRender ] = useReducer( () => ( {} ) );\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst styles = useParsedAssets( assets?.styles );\n\tconst scripts = useParsedAssets( assets?.scripts );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction setDocumentIfReady() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { readyState, documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tif ( readyState !== 'interactive' && readyState !== 'complete' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tbubbleEvents( contentDocument );\n\t\t\tsetIframeDocument( contentDocument );\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\t\t\tdocumentElement.removeChild( contentDocument.head );\n\t\t\tdocumentElement.removeChild( contentDocument.body );\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Document set with srcDoc is not immediately ready.\n\t\tnode.addEventListener( 'load', setDocumentIfReady );\n\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'load', setDocumentIfReady );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst headRef = useRefEffect( ( element ) => {\n\t\tscripts\n\t\t\t.reduce(\n\t\t\t\t( promise, script ) =>\n\t\t\t\t\tpromise.then( () => loadScript( element, script ) ),\n\t\t\t\tPromise.resolve()\n\t\t\t)\n\t\t\t.finally( () => {\n\t\t\t\t// When script are loaded, re-render blocks to allow them\n\t\t\t\t// to initialise.\n\t\t\t\tforceRender();\n\t\t\t} );\n\t}, [] );\n\tconst bodyRef = useMergeRefs( [ contentRef, clearerRef, writingFlowRef ] );\n\tconst styleCompatibilityRef = useStylesCompatibility();\n\n\thead = (\n\t\t<>\n\t\t\t<style>{ 'body{margin:0}' }</style>\n\t\t\t{ styles.map(\n\t\t\t\t( { tagName, href, id, rel, media, textContent } ) => {\n\t\t\t\t\tconst TagName = tagName.toLowerCase();\n\n\t\t\t\t\tif ( TagName === 'style' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TagName { ...{ id } } key={ id }>\n\t\t\t\t\t\t\t\t{ textContent }\n\t\t\t\t\t\t\t</TagName>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TagName { ...{ href, id, rel, media } } key={ id } />\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t) }\n\t\t\t{ head }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards mode\n\t\t\t\tsrcDoc=\"<!doctype html>\"\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<head ref={ headRef }>\n\t\t\t\t\t\t\t\t{ head }\n\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t{ `html { transition: background 5s; ${\n\t\t\t\t\t\t\t\t\t\tisZoomedOut\n\t\t\t\t\t\t\t\t\t\t\t? 'background: #2f2f2f; transition: background 0s;'\n\t\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</style>\n\t\t\t\t\t\t\t</head>\n\t\t\t\t\t\t\t<body\n\t\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t\tBODY_CLASS_NAME,\n\t\t\t\t\t\t\t\t\t...bodyClasses,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-zoomed-out': isZoomedOut,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tisZoomedOut\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t// This is the remaining percentage from the scaling down\n\t\t\t\t\t\t\t\t\t\t\t\t// of the iframe body(`scale(0.45)`). We also need to subtract\n\t\t\t\t\t\t\t\t\t\t\t\t// the body's bottom margin.\n\t\t\t\t\t\t\t\t\t\t\t\tmarginBottom: `-${\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentHeight * 0.55 - 100\n\t\t\t\t\t\t\t\t\t\t\t\t}px`,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: {}\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\t{ contentResizeListener }\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * This is a wrapper for the extra styles and scripts\n\t\t\t\t\t\t\t\t * rendered imperatively by cloning the parent,\n\t\t\t\t\t\t\t\t * it's important that this div's content remains uncontrolled.\n\t\t\t\t\t\t\t\t */ }\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\t\t\t\t\tref={ styleCompatibilityRef }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t\t</body>\n\t\t\t\t\t\t</>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nexport default forwardRef( Iframe );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["classnames","useState","createPortal","forwardRef","useMemo","useReducer","__","useResizeObserver","useMergeRefs","useRefEffect","__experimentalStyleProvider","StyleProvider","useBlockSelectionClearer","useWritingFlow","BODY_CLASS_NAME","BLOCK_PREFIX","useStylesCompatibility","node","Array","from","document","styleSheets","forEach","styleSheet","cssRules","e","ownerNode","tagName","id","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","isMatch","ownerDocument","getElementById","appendChild","cloneNode","inlineCssId","replace","inlineCssElement","bubbleEvents","doc","defaultView","frameElement","bubbleEvent","event","prototype","Object","getPrototypeOf","constructorName","constructor","name","Constructor","window","init","key","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","cancelled","dispatchEvent","preventDefault","eventTypes","addEventListener","useParsedAssets","html","implementation","createHTMLDocument","body","innerHTML","children","loadScript","head","src","Promise","resolve","reject","script","createElement","onload","onerror","Iframe","ref","contentRef","tabIndex","assets","isZoomedOut","props","forceRender","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","styles","scripts","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","iFrameDocument","preventFileDropDefault","setDocumentIfReady","contentDocument","readyState","documentElement","classList","filter","startsWith","dir","removeChild","removeEventListener","headRef","element","reduce","promise","then","finally","bodyRef","styleCompatibilityRef","map","href","rel","media","textContent","TagName","toLowerCase","marginBottom","display"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\n\nconst BODY_CLASS_NAME = 'editor-styles-wrapper';\nconst BLOCK_PREFIX = 'wp-block';\n\n/**\n * Clones stylesheets targetting the editor canvas to the given document. A\n * stylesheet is considered targetting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nfunction useStylesCompatibility() {\n\treturn useRefEffect( ( node ) => {\n\t\t// Search the document for stylesheets targetting the editor canvas.\n\t\tArray.from( document.styleSheets ).forEach( ( styleSheet ) => {\n\t\t\ttry {\n\t\t\t\t// May fail for external styles.\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\tstyleSheet.cssRules;\n\t\t\t} catch ( e ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\tif ( ! cssRules ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Generally, ignore inline styles. We add inline styles belonging to a\n\t\t\t// stylesheet later, which may or may not match the selectors.\n\t\t\tif ( ownerNode.tagName !== 'LINK' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't try to add the reset styles, which were removed as a dependency\n\t\t\t// from `edit-blocks` for the iframe since we don't need to reset admin\n\t\t\t// styles.\n\t\t\tif ( ownerNode.id === 'wp-reset-editor-styles-css' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t( {\n\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t`.${ BODY_CLASS_NAME }`\n\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\tselectorText.includes( `.${ BLOCK_PREFIX }` ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst isMatch = matchFromRules( cssRules );\n\n\t\t\tif (\n\t\t\t\tisMatch &&\n\t\t\t\t! node.ownerDocument.getElementById( ownerNode.id )\n\t\t\t) {\n\t\t\t\t// Display warning once we have a way to add style dependencies to the editor.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/37466.\n\t\t\t\tnode.appendChild( ownerNode.cloneNode( true ) );\n\n\t\t\t\t// Add inline styles belonging to the stylesheet.\n\t\t\t\tconst inlineCssId = ownerNode.id.replace(\n\t\t\t\t\t'-css',\n\t\t\t\t\t'-inline-css'\n\t\t\t\t);\n\t\t\t\tconst inlineCssElement = document.getElementById( inlineCssId );\n\n\t\t\t\tif ( inlineCssElement ) {\n\t\t\t\t\tnode.appendChild( inlineCssElement.cloneNode( true ) );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}, [] );\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} doc Document to attach listeners to.\n */\nfunction bubbleEvents( doc ) {\n\tconst { defaultView } = doc;\n\tconst { frameElement } = defaultView;\n\n\tfunction bubbleEvent( event ) {\n\t\tconst prototype = Object.getPrototypeOf( event );\n\t\tconst constructorName = prototype.constructor.name;\n\t\tconst Constructor = window[ constructorName ];\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tif ( event instanceof defaultView.MouseEvent ) {\n\t\t\tconst rect = frameElement.getBoundingClientRect();\n\t\t\tinit.clientX += rect.left;\n\t\t\tinit.clientY += rect.top;\n\t\t}\n\n\t\tconst newEvent = new Constructor( event.type, init );\n\t\tconst cancelled = ! frameElement.dispatchEvent( newEvent );\n\n\t\tif ( cancelled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tconst eventTypes = [ 'dragover' ];\n\n\tfor ( const name of eventTypes ) {\n\t\tdoc.addEventListener( name, bubbleEvent );\n\t}\n}\n\nfunction useParsedAssets( html ) {\n\treturn useMemo( () => {\n\t\tconst doc = document.implementation.createHTMLDocument( '' );\n\t\tdoc.body.innerHTML = html;\n\t\treturn Array.from( doc.body.children );\n\t}, [ html ] );\n}\n\nasync function loadScript( head, { id, src } ) {\n\treturn new Promise( ( resolve, reject ) => {\n\t\tconst script = head.ownerDocument.createElement( 'script' );\n\t\tscript.id = id;\n\t\tif ( src ) {\n\t\t\tscript.src = src;\n\t\t\tscript.onload = () => resolve();\n\t\t\tscript.onerror = () => reject();\n\t\t} else {\n\t\t\tresolve();\n\t\t}\n\t\thead.appendChild( script );\n\t} );\n}\n\nfunction Iframe(\n\t{ contentRef, children, head, tabIndex = 0, assets, isZoomedOut, ...props },\n\tref\n) {\n\tconst [ , forceRender ] = useReducer( () => ( {} ) );\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst styles = useParsedAssets( assets?.styles );\n\tconst scripts = useParsedAssets( assets?.scripts );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction setDocumentIfReady() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { readyState, documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tif ( readyState !== 'interactive' && readyState !== 'complete' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tbubbleEvents( contentDocument );\n\t\t\tsetIframeDocument( contentDocument );\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\t\t\tdocumentElement.removeChild( contentDocument.head );\n\t\t\tdocumentElement.removeChild( contentDocument.body );\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Document set with srcDoc is not immediately ready.\n\t\tnode.addEventListener( 'load', setDocumentIfReady );\n\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'load', setDocumentIfReady );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst headRef = useRefEffect( ( element ) => {\n\t\tscripts\n\t\t\t.reduce(\n\t\t\t\t( promise, script ) =>\n\t\t\t\t\tpromise.then( () => loadScript( element, script ) ),\n\t\t\t\tPromise.resolve()\n\t\t\t)\n\t\t\t.finally( () => {\n\t\t\t\t// When script are loaded, re-render blocks to allow them\n\t\t\t\t// to initialise.\n\t\t\t\tforceRender();\n\t\t\t} );\n\t}, [] );\n\tconst bodyRef = useMergeRefs( [ contentRef, clearerRef, writingFlowRef ] );\n\tconst styleCompatibilityRef = useStylesCompatibility();\n\n\thead = (\n\t\t<>\n\t\t\t<style>{ 'html{height:auto!important;}body{margin:0}' }</style>\n\t\t\t{ styles.map(\n\t\t\t\t( { tagName, href, id, rel, media, textContent } ) => {\n\t\t\t\t\tconst TagName = tagName.toLowerCase();\n\n\t\t\t\t\tif ( TagName === 'style' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TagName { ...{ id } } key={ id }>\n\t\t\t\t\t\t\t\t{ textContent }\n\t\t\t\t\t\t\t</TagName>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TagName { ...{ href, id, rel, media } } key={ id } />\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t) }\n\t\t\t{ head }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards mode\n\t\t\t\tsrcDoc=\"<!doctype html>\"\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<head ref={ headRef }>\n\t\t\t\t\t\t\t\t{ head }\n\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t{ `html { transition: background 5s; ${\n\t\t\t\t\t\t\t\t\t\tisZoomedOut\n\t\t\t\t\t\t\t\t\t\t\t? 'background: #2f2f2f; transition: background 0s;'\n\t\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</style>\n\t\t\t\t\t\t\t</head>\n\t\t\t\t\t\t\t<body\n\t\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t\tBODY_CLASS_NAME,\n\t\t\t\t\t\t\t\t\t...bodyClasses,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-zoomed-out': isZoomedOut,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tisZoomedOut\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t// This is the remaining percentage from the scaling down\n\t\t\t\t\t\t\t\t\t\t\t\t// of the iframe body(`scale(0.45)`). We also need to subtract\n\t\t\t\t\t\t\t\t\t\t\t\t// the body's bottom margin.\n\t\t\t\t\t\t\t\t\t\t\t\tmarginBottom: `-${\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentHeight * 0.55 - 100\n\t\t\t\t\t\t\t\t\t\t\t\t}px`,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: {}\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\t{ contentResizeListener }\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * This is a wrapper for the extra styles and scripts\n\t\t\t\t\t\t\t\t * rendered imperatively by cloning the parent,\n\t\t\t\t\t\t\t\t * it's important that this div's content remains uncontrolled.\n\t\t\t\t\t\t\t\t */ }\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\t\t\t\t\tref={ styleCompatibilityRef }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t\t</body>\n\t\t\t\t\t\t</>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nexport default forwardRef( Iframe );\n"]}
@@ -2,6 +2,6 @@ export const MIN_ZOOM = 100;
2
2
  export const MAX_ZOOM = 300;
3
3
  export const POPOVER_PROPS = {
4
4
  position: 'bottom right',
5
- isAlternate: true
5
+ variant: 'toolbar'
6
6
  };
7
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/image-editor/constants.js"],"names":["MIN_ZOOM","MAX_ZOOM","POPOVER_PROPS","position","isAlternate"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,GAAG,GAAjB;AACP,OAAO,MAAMC,QAAQ,GAAG,GAAjB;AACP,OAAO,MAAMC,aAAa,GAAG;AAC5BC,EAAAA,QAAQ,EAAE,cADkB;AAE5BC,EAAAA,WAAW,EAAE;AAFe,CAAtB","sourcesContent":["export const MIN_ZOOM = 100;\nexport const MAX_ZOOM = 300;\nexport const POPOVER_PROPS = {\n\tposition: 'bottom right',\n\tisAlternate: true,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/image-editor/constants.js"],"names":["MIN_ZOOM","MAX_ZOOM","POPOVER_PROPS","position","variant"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,GAAG,GAAjB;AACP,OAAO,MAAMC,QAAQ,GAAG,GAAjB;AACP,OAAO,MAAMC,aAAa,GAAG;AAC5BC,EAAAA,QAAQ,EAAE,cADkB;AAE5BC,EAAAA,OAAO,EAAE;AAFmB,CAAtB","sourcesContent":["export const MIN_ZOOM = 100;\nexport const MAX_ZOOM = 300;\nexport const POPOVER_PROPS = {\n\tposition: 'bottom right',\n\tvariant: 'toolbar',\n};\n"]}
@@ -51,6 +51,7 @@ export { default as __experimentalLinkControlSearchResults } from './link-contro
51
51
  export { default as __experimentalLinkControlSearchItem } from './link-control/search-item';
52
52
  export { default as LineHeightControl } from './line-height-control';
53
53
  export { default as __experimentalListView } from './list-view';
54
+ export { default as __experimentalOffCanvasEditor } from './off-canvas-editor';
54
55
  export { default as MediaReplaceFlow } from './media-replace-flow';
55
56
  export { default as MediaPlaceholder } from './media-placeholder';
56
57
  export { default as MediaUpload } from './media-upload';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","__experimentalImageEditor","ImageEditingProvider","__experimentalImageEditingProvider","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","LayoutStyle","__experimentalLayoutStyle","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","BlockEditorProvider","useSetting"],"mappings":"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","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport * from './duotone';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport {\n\tdefault as __experimentalImageEditor,\n\tImageEditingProvider as __experimentalImageEditingProvider,\n} from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\n\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","__experimentalImageEditor","ImageEditingProvider","__experimentalImageEditingProvider","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","__experimentalOffCanvasEditor","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","LayoutStyle","__experimentalLayoutStyle","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","BlockEditorProvider","useSetting"],"mappings":"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","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport * from './duotone';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport {\n\tdefault as __experimentalImageEditor,\n\tImageEditingProvider as __experimentalImageEditingProvider,\n} from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as __experimentalOffCanvasEditor } from './off-canvas-editor';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\n\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
@@ -129,7 +129,12 @@ export function useInnerBlocksProps() {
129
129
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
130
130
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
131
131
  const {
132
- clientId
132
+ __unstableDisableLayoutClassNames,
133
+ __unstableDisableDropZone
134
+ } = options;
135
+ const {
136
+ clientId,
137
+ __unstableLayoutClassNames: layoutClassNames = ''
133
138
  } = useBlockEditContext();
134
139
  const isSmallScreen = useViewportMatch('medium', '<');
135
140
  const {
@@ -153,9 +158,10 @@ export function useInnerBlocksProps() {
153
158
  hasOverlay: blockName !== 'core/template' && !isBlockSelected(clientId) && !hasSelectedInnerBlock(clientId, true) && enableClickThrough
154
159
  };
155
160
  }, [clientId, isSmallScreen]);
156
- const ref = useMergeRefs([props.ref, useBlockDropZone({
161
+ const blockDropZoneRef = useBlockDropZone({
157
162
  rootClientId: clientId
158
- })]);
163
+ });
164
+ const ref = useMergeRefs([props.ref, __unstableDisableDropZone ? null : blockDropZoneRef]);
159
165
  const innerBlocksProps = {
160
166
  __experimentalCaptureToolbars,
161
167
  ...options
@@ -163,7 +169,7 @@ export function useInnerBlocksProps() {
163
169
  const InnerBlocks = innerBlocksProps.value && innerBlocksProps.onChange ? ControlledInnerBlocks : UncontrolledInnerBlocks;
164
170
  return { ...props,
165
171
  ref,
166
- className: classnames(props.className, 'block-editor-block-list__layout', {
172
+ className: classnames(props.className, 'block-editor-block-list__layout', __unstableDisableLayoutClassNames ? '' : layoutClassNames, {
167
173
  'has-overlay': hasOverlay
168
174
  }),
169
175
  children: clientId ? createElement(InnerBlocks, _extends({}, innerBlocksProps, {