@wordpress/block-editor 12.1.0 → 12.3.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 (1853) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/autocompleters/block.js +11 -5
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/components/alignment-control/ui.js +9 -11
  5. package/build/components/alignment-control/ui.js.map +1 -1
  6. package/build/components/autocomplete/index.js +3 -4
  7. package/build/components/autocomplete/index.js.map +1 -1
  8. package/build/components/block-actions/index.js +8 -12
  9. package/build/components/block-actions/index.js.map +1 -1
  10. package/build/components/block-alignment-control/ui.js +17 -21
  11. package/build/components/block-alignment-control/ui.js.map +1 -1
  12. package/build/components/block-alignment-control/ui.native.js +14 -17
  13. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  14. package/build/components/block-alignment-control/use-available-alignments.js +5 -10
  15. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  16. package/build/components/block-alignment-matrix-control/index.js +4 -6
  17. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  18. package/build/components/block-breadcrumb/index.js +9 -7
  19. package/build/components/block-breadcrumb/index.js.map +1 -1
  20. package/build/components/block-caption/index.native.js +30 -35
  21. package/build/components/block-caption/index.native.js.map +1 -1
  22. package/build/components/block-card/index.js +7 -9
  23. package/build/components/block-card/index.js.map +1 -1
  24. package/build/components/block-compare/block-view.js +8 -9
  25. package/build/components/block-compare/block-view.js.map +1 -1
  26. package/build/components/block-compare/index.js +7 -9
  27. package/build/components/block-compare/index.js.map +1 -1
  28. package/build/components/block-context/index.js +4 -5
  29. package/build/components/block-context/index.js.map +1 -1
  30. package/build/components/block-controls/fill.js +15 -22
  31. package/build/components/block-controls/fill.js.map +1 -1
  32. package/build/components/block-controls/hook.js +1 -3
  33. package/build/components/block-controls/hook.js.map +1 -1
  34. package/build/components/block-controls/slot.js +28 -18
  35. package/build/components/block-controls/slot.js.map +1 -1
  36. package/build/components/block-controls/slot.native.js +7 -17
  37. package/build/components/block-controls/slot.native.js.map +1 -1
  38. package/build/components/block-draggable/draggable-chip.js +5 -6
  39. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  40. package/build/components/block-draggable/draggable-chip.native.js +3 -4
  41. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  42. package/build/components/block-draggable/dropping-insertion-point.native.js +6 -7
  43. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  44. package/build/components/block-draggable/index.js +15 -16
  45. package/build/components/block-draggable/index.js.map +1 -1
  46. package/build/components/block-draggable/index.native.js +43 -58
  47. package/build/components/block-draggable/index.native.js.map +1 -1
  48. package/build/components/block-edit/edit.js +1 -4
  49. package/build/components/block-edit/edit.js.map +1 -1
  50. package/build/components/block-edit/edit.native.js +1 -4
  51. package/build/components/block-edit/edit.native.js.map +1 -1
  52. package/build/components/block-edit-visually-button/index.js +3 -4
  53. package/build/components/block-edit-visually-button/index.js.map +1 -1
  54. package/build/components/block-editing-mode/index.js +84 -0
  55. package/build/components/block-editing-mode/index.js.map +1 -0
  56. package/build/components/block-full-height-alignment-control/index.js +6 -7
  57. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  58. package/build/components/block-icon/index.js +7 -11
  59. package/build/components/block-icon/index.js.map +1 -1
  60. package/build/components/block-icon/index.native.js +9 -13
  61. package/build/components/block-icon/index.native.js.map +1 -1
  62. package/build/components/block-inspector/index.js +36 -46
  63. package/build/components/block-inspector/index.js.map +1 -1
  64. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  65. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  66. package/build/components/block-list/block-html.js +3 -4
  67. package/build/components/block-list/block-html.js.map +1 -1
  68. package/build/components/block-list/block-invalid-warning.js +3 -4
  69. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  70. package/build/components/block-list/block-invalid-warning.native.js +10 -15
  71. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  72. package/build/components/block-list/block-list-block-context.js +15 -0
  73. package/build/components/block-list/block-list-block-context.js.map +1 -0
  74. package/build/components/block-list/block-list-context.native.js +5 -11
  75. package/build/components/block-list/block-list-context.native.js.map +1 -1
  76. package/build/components/block-list/block-list-item-cell.native.js +5 -6
  77. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  78. package/build/components/block-list/block-list-item.native.js +17 -18
  79. package/build/components/block-list/block-list-item.native.js.map +1 -1
  80. package/build/components/block-list/block-outline.native.js +8 -9
  81. package/build/components/block-list/block-outline.native.js.map +1 -1
  82. package/build/components/block-list/block-selection-button.native.js +10 -12
  83. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  84. package/build/components/block-list/block.js +68 -83
  85. package/build/components/block-list/block.js.map +1 -1
  86. package/build/components/block-list/block.native.js +69 -90
  87. package/build/components/block-list/block.native.js.map +1 -1
  88. package/build/components/block-list/index.js +12 -15
  89. package/build/components/block-list/index.js.map +1 -1
  90. package/build/components/block-list/index.native.js +143 -153
  91. package/build/components/block-list/index.native.js.map +1 -1
  92. package/build/components/block-list/insertion-point.native.js +4 -5
  93. package/build/components/block-list/insertion-point.native.js.map +1 -1
  94. package/build/components/block-list/layout.js +6 -9
  95. package/build/components/block-list/layout.js.map +1 -1
  96. package/build/components/block-list/subdirectory-icon.js +10 -13
  97. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  98. package/build/components/block-list/use-block-props/index.js +17 -13
  99. package/build/components/block-list/use-block-props/index.js.map +1 -1
  100. package/build/components/block-list/use-block-props/index.native.js +1 -2
  101. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  102. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  103. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  104. package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  105. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  106. package/build/components/block-list/use-in-between-inserter.js +8 -8
  107. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  108. package/build/components/block-list-appender/index.js +30 -15
  109. package/build/components/block-list-appender/index.js.map +1 -1
  110. package/build/components/block-list-appender/index.native.js +9 -11
  111. package/build/components/block-list-appender/index.native.js.map +1 -1
  112. package/build/components/block-lock/menu-item.js +3 -4
  113. package/build/components/block-lock/menu-item.js.map +1 -1
  114. package/build/components/block-lock/modal.js +6 -9
  115. package/build/components/block-lock/modal.js.map +1 -1
  116. package/build/components/block-lock/toolbar.js +4 -10
  117. package/build/components/block-lock/toolbar.js.map +1 -1
  118. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +67 -70
  119. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  120. package/build/components/block-mobile-toolbar/index.native.js +26 -34
  121. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  122. package/build/components/block-mover/button.js +6 -7
  123. package/build/components/block-mover/button.js.map +1 -1
  124. package/build/components/block-mover/index.js +5 -8
  125. package/build/components/block-mover/index.js.map +1 -1
  126. package/build/components/block-mover/index.native.js +23 -46
  127. package/build/components/block-mover/index.native.js.map +1 -1
  128. package/build/components/block-mover/mover-description.native.js +7 -10
  129. package/build/components/block-mover/mover-description.native.js.map +1 -1
  130. package/build/components/block-navigation/dropdown.js +20 -25
  131. package/build/components/block-navigation/dropdown.js.map +1 -1
  132. package/build/components/block-parent-selector/index.js +2 -2
  133. package/build/components/block-parent-selector/index.js.map +1 -1
  134. package/build/components/block-pattern-setup/index.js +27 -31
  135. package/build/components/block-pattern-setup/index.js.map +1 -1
  136. package/build/components/block-pattern-setup/setup-toolbar.js +35 -42
  137. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  138. package/build/components/block-patterns-list/index.js +74 -81
  139. package/build/components/block-patterns-list/index.js.map +1 -1
  140. package/build/components/block-popover/drop-zone.js +4 -5
  141. package/build/components/block-popover/drop-zone.js.map +1 -1
  142. package/build/components/block-popover/inbetween.js +10 -15
  143. package/build/components/block-popover/inbetween.js.map +1 -1
  144. package/build/components/block-popover/index.js +14 -15
  145. package/build/components/block-popover/index.js.map +1 -1
  146. package/build/components/block-preview/auto.js +6 -8
  147. package/build/components/block-preview/auto.js.map +1 -1
  148. package/build/components/block-preview/index.js +15 -18
  149. package/build/components/block-preview/index.js.map +1 -1
  150. package/build/components/block-settings/button.native.js +7 -10
  151. package/build/components/block-settings/button.native.js.map +1 -1
  152. package/build/components/block-settings-menu/block-convert-button.js +5 -7
  153. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  154. package/build/components/block-settings-menu/block-html-convert-button.js +10 -14
  155. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  156. package/build/components/block-settings-menu/block-mode-toggle.js +19 -25
  157. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  158. package/build/components/block-settings-menu/block-settings-dropdown.js +132 -111
  159. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  160. package/build/components/block-settings-menu/index.js +4 -5
  161. package/build/components/block-settings-menu/index.js.map +1 -1
  162. package/build/components/block-settings-menu-controls/index.js +14 -16
  163. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  164. package/build/components/block-styles/index.js +6 -7
  165. package/build/components/block-styles/index.js.map +1 -1
  166. package/build/components/block-styles/index.native.js +5 -7
  167. package/build/components/block-styles/index.native.js.map +1 -1
  168. package/build/components/block-styles/menu-items.js +4 -5
  169. package/build/components/block-styles/menu-items.js.map +1 -1
  170. package/build/components/block-styles/preview-panel.js +8 -12
  171. package/build/components/block-styles/preview-panel.js.map +1 -1
  172. package/build/components/block-styles/preview.native.js +6 -7
  173. package/build/components/block-styles/preview.native.js.map +1 -1
  174. package/build/components/block-styles/use-styles-for-block.js +7 -9
  175. package/build/components/block-styles/use-styles-for-block.js.map +1 -1
  176. package/build/components/block-styles/utils.js +4 -7
  177. package/build/components/block-styles/utils.js.map +1 -1
  178. package/build/components/block-switcher/block-styles-menu.js +4 -5
  179. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  180. package/build/components/block-switcher/block-transformations-menu.js +29 -26
  181. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  182. package/build/components/block-switcher/block-transformations-menu.native.js +9 -10
  183. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  184. package/build/components/block-switcher/block-variation-transformations.js +116 -0
  185. package/build/components/block-switcher/block-variation-transformations.js.map +1 -0
  186. package/build/components/block-switcher/index.js +64 -55
  187. package/build/components/block-switcher/index.js.map +1 -1
  188. package/build/components/block-switcher/pattern-transformations-menu.js +21 -25
  189. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  190. package/build/components/block-switcher/preview-block-popover.js +3 -4
  191. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  192. package/build/components/block-switcher/utils.js +2 -3
  193. package/build/components/block-switcher/utils.js.map +1 -1
  194. package/build/components/block-title/index.js +5 -6
  195. package/build/components/block-title/index.js.map +1 -1
  196. package/build/components/block-title/use-block-display-title.js +5 -6
  197. package/build/components/block-title/use-block-display-title.js.map +1 -1
  198. package/build/components/block-toolbar/index.js +13 -12
  199. package/build/components/block-toolbar/index.js.map +1 -1
  200. package/build/components/block-toolbar/utils.js +14 -16
  201. package/build/components/block-toolbar/utils.js.map +1 -1
  202. package/build/components/block-tools/back-compat.js +3 -4
  203. package/build/components/block-tools/back-compat.js.map +1 -1
  204. package/build/components/block-tools/block-contextual-toolbar.js +10 -9
  205. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  206. package/build/components/block-tools/block-selection-button.js +6 -9
  207. package/build/components/block-tools/block-selection-button.js.map +1 -1
  208. package/build/components/block-tools/index.js +6 -7
  209. package/build/components/block-tools/index.js.map +1 -1
  210. package/build/components/block-tools/insertion-point.js +17 -14
  211. package/build/components/block-tools/insertion-point.js.map +1 -1
  212. package/build/components/block-tools/selected-block-popover.js +19 -20
  213. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  214. package/build/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  215. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  216. package/build/components/block-tools/zoom-out-mode-inserters.js +3 -4
  217. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  218. package/build/components/block-types-list/index.js +8 -9
  219. package/build/components/block-types-list/index.js.map +1 -1
  220. package/build/components/block-types-list/index.native.js +22 -27
  221. package/build/components/block-types-list/index.native.js.map +1 -1
  222. package/build/components/block-variation-picker/index.js +8 -9
  223. package/build/components/block-variation-picker/index.js.map +1 -1
  224. package/build/components/block-variation-picker/index.native.js +7 -9
  225. package/build/components/block-variation-picker/index.native.js.map +1 -1
  226. package/build/components/block-variation-transforms/index.js +30 -41
  227. package/build/components/block-variation-transforms/index.js.map +1 -1
  228. package/build/components/block-vertical-alignment-control/ui.js +7 -9
  229. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  230. package/build/components/border-radius-control/all-input-control.js +7 -8
  231. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  232. package/build/components/border-radius-control/index.js +9 -10
  233. package/build/components/border-radius-control/index.js.map +1 -1
  234. package/build/components/border-radius-control/input-controls.js +8 -11
  235. package/build/components/border-radius-control/input-controls.js.map +1 -1
  236. package/build/components/border-radius-control/linked-button.js +4 -5
  237. package/build/components/border-radius-control/linked-button.js.map +1 -1
  238. package/build/components/border-radius-control/utils.js +3 -7
  239. package/build/components/border-radius-control/utils.js.map +1 -1
  240. package/build/components/button-block-appender/index.js +13 -15
  241. package/build/components/button-block-appender/index.js.map +1 -1
  242. package/build/components/button-block-appender/index.native.js +25 -29
  243. package/build/components/button-block-appender/index.native.js.map +1 -1
  244. package/build/components/caption/index.native.js +40 -43
  245. package/build/components/caption/index.native.js.map +1 -1
  246. package/build/components/child-layout-control/index.js +5 -6
  247. package/build/components/child-layout-control/index.js.map +1 -1
  248. package/build/components/color-palette/control.js +5 -6
  249. package/build/components/color-palette/control.js.map +1 -1
  250. package/build/components/color-palette/with-color-context.js +1 -7
  251. package/build/components/color-palette/with-color-context.js.map +1 -1
  252. package/build/components/color-style-selector/index.js +28 -35
  253. package/build/components/color-style-selector/index.js.map +1 -1
  254. package/build/components/colors/utils.js +5 -8
  255. package/build/components/colors/utils.js.map +1 -1
  256. package/build/components/colors/with-colors.js +9 -24
  257. package/build/components/colors/with-colors.js.map +1 -1
  258. package/build/components/colors-gradients/control.js +19 -22
  259. package/build/components/colors-gradients/control.js.map +1 -1
  260. package/build/components/colors-gradients/dropdown.js +32 -39
  261. package/build/components/colors-gradients/dropdown.js.map +1 -1
  262. package/build/components/colors-gradients/panel-color-gradient-settings.js +20 -25
  263. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  264. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  265. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  266. package/build/components/contrast-checker/index.js +12 -13
  267. package/build/components/contrast-checker/index.js.map +1 -1
  268. package/build/components/contrast-checker/index.native.js +16 -18
  269. package/build/components/contrast-checker/index.native.js.map +1 -1
  270. package/build/components/convert-to-group-buttons/index.js +15 -11
  271. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  272. package/build/components/convert-to-group-buttons/index.native.js +86 -3
  273. package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
  274. package/build/components/convert-to-group-buttons/toolbar.js +6 -12
  275. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  276. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +22 -38
  277. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  278. package/build/components/copy-handler/index.js +4 -7
  279. package/build/components/copy-handler/index.js.map +1 -1
  280. package/build/components/date-format-picker/index.js +12 -16
  281. package/build/components/date-format-picker/index.js.map +1 -1
  282. package/build/components/default-block-appender/index.js +7 -9
  283. package/build/components/default-block-appender/index.js.map +1 -1
  284. package/build/components/default-block-appender/index.native.js +8 -10
  285. package/build/components/default-block-appender/index.native.js.map +1 -1
  286. package/build/components/default-style-picker/index.js +14 -22
  287. package/build/components/default-style-picker/index.js.map +1 -1
  288. package/build/components/duotone/components.js +14 -18
  289. package/build/components/duotone/components.js.map +1 -1
  290. package/build/components/duotone/utils.js +1 -2
  291. package/build/components/duotone/utils.js.map +1 -1
  292. package/build/components/duotone-control/index.js +12 -15
  293. package/build/components/duotone-control/index.js.map +1 -1
  294. package/build/components/editable-text/index.js +5 -6
  295. package/build/components/editable-text/index.js.map +1 -1
  296. package/build/components/editor-styles/index.js +4 -5
  297. package/build/components/editor-styles/index.js.map +1 -1
  298. package/build/components/floating-toolbar/index.native.js +7 -8
  299. package/build/components/floating-toolbar/index.native.js.map +1 -1
  300. package/build/components/font-appearance-control/index.js +19 -26
  301. package/build/components/font-appearance-control/index.js.map +1 -1
  302. package/build/components/font-family/index.js +10 -12
  303. package/build/components/font-family/index.js.map +1 -1
  304. package/build/components/font-sizes/fluid-utils.js +17 -21
  305. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  306. package/build/components/font-sizes/utils.js +6 -12
  307. package/build/components/font-sizes/utils.js.map +1 -1
  308. package/build/components/font-sizes/with-font-sizes.js +11 -30
  309. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  310. package/build/components/global-styles/advanced-panel.js +7 -10
  311. package/build/components/global-styles/advanced-panel.js.map +1 -1
  312. package/build/components/global-styles/border-panel.js +45 -78
  313. package/build/components/global-styles/border-panel.js.map +1 -1
  314. package/build/components/global-styles/color-panel.js +104 -147
  315. package/build/components/global-styles/color-panel.js.map +1 -1
  316. package/build/components/global-styles/color-panel.native.js +25 -42
  317. package/build/components/global-styles/color-panel.native.js.map +1 -1
  318. package/build/components/global-styles/dimensions-panel.js +81 -111
  319. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  320. package/build/components/global-styles/effects-panel.js +58 -72
  321. package/build/components/global-styles/effects-panel.js.map +1 -1
  322. package/build/components/global-styles/filters-panel.js +53 -71
  323. package/build/components/global-styles/filters-panel.js.map +1 -1
  324. package/build/components/global-styles/get-block-css-selector.js +4 -7
  325. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  326. package/build/components/global-styles/hooks.js +22 -37
  327. package/build/components/global-styles/hooks.js.map +1 -1
  328. package/build/components/global-styles/typography-panel.js +69 -125
  329. package/build/components/global-styles/typography-panel.js.map +1 -1
  330. package/build/components/global-styles/typography-utils.js +49 -26
  331. package/build/components/global-styles/typography-utils.js.map +1 -1
  332. package/build/components/global-styles/use-global-styles-output.js +140 -235
  333. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  334. package/build/components/global-styles/utils.js +11 -27
  335. package/build/components/global-styles/utils.js.map +1 -1
  336. package/build/components/gradients/use-gradient.js +6 -7
  337. package/build/components/gradients/use-gradient.js.map +1 -1
  338. package/build/components/height-control/index.js +9 -10
  339. package/build/components/height-control/index.js.map +1 -1
  340. package/build/components/iframe/index.js +52 -80
  341. package/build/components/iframe/index.js.map +1 -1
  342. package/build/components/iframe/use-compatibility-styles.js +29 -20
  343. package/build/components/iframe/use-compatibility-styles.js.map +1 -1
  344. package/build/components/image-editor/aspect-ratio-dropdown.js +83 -91
  345. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  346. package/build/components/image-editor/context.js +9 -10
  347. package/build/components/image-editor/context.js.map +1 -1
  348. package/build/components/image-editor/cropper.js +11 -12
  349. package/build/components/image-editor/cropper.js.map +1 -1
  350. package/build/components/image-editor/index.js +12 -13
  351. package/build/components/image-editor/index.js.map +1 -1
  352. package/build/components/image-editor/use-save-image.js +11 -12
  353. package/build/components/image-editor/use-save-image.js.map +1 -1
  354. package/build/components/image-editor/use-transform-image.js +5 -6
  355. package/build/components/image-editor/use-transform-image.js.map +1 -1
  356. package/build/components/image-editor/zoom-dropdown.js +10 -13
  357. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  358. package/build/components/image-size-control/index.js +12 -13
  359. package/build/components/image-size-control/index.js.map +1 -1
  360. package/build/components/inner-blocks/button-block-appender.js +7 -8
  361. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  362. package/build/components/inner-blocks/default-block-appender.js +6 -8
  363. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  364. package/build/components/inner-blocks/index.js +4 -7
  365. package/build/components/inner-blocks/index.js.map +1 -1
  366. package/build/components/inner-blocks/index.native.js +8 -10
  367. package/build/components/inner-blocks/index.native.js.map +1 -1
  368. package/build/components/inner-blocks/use-block-context.js +1 -4
  369. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  370. package/build/components/inner-blocks/use-nested-settings-update.js +15 -9
  371. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  372. package/build/components/inserter/block-patterns-explorer/explorer.js +9 -11
  373. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  374. package/build/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  375. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  376. package/build/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  377. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  378. package/build/components/inserter/block-patterns-tab.js +29 -40
  379. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  380. package/build/components/inserter/block-types-tab.js +7 -9
  381. package/build/components/inserter/block-types-tab.js.map +1 -1
  382. package/build/components/inserter/block-types-tab.native.js +8 -9
  383. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  384. package/build/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  385. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  386. package/build/components/inserter/hooks/use-block-types-state.js +5 -6
  387. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  388. package/build/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  389. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  390. package/build/components/inserter/hooks/use-debounced-input.js +1 -2
  391. package/build/components/inserter/hooks/use-debounced-input.js.map +1 -1
  392. package/build/components/inserter/hooks/use-insertion-point.js +10 -12
  393. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  394. package/build/components/inserter/index.js +40 -58
  395. package/build/components/inserter/index.js.map +1 -1
  396. package/build/components/inserter/index.native.js +24 -31
  397. package/build/components/inserter/index.native.js.map +1 -1
  398. package/build/components/inserter/library.js +11 -12
  399. package/build/components/inserter/library.js.map +1 -1
  400. package/build/components/inserter/media-tab/hooks.js +2 -5
  401. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  402. package/build/components/inserter/media-tab/media-list.js +6 -7
  403. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  404. package/build/components/inserter/media-tab/media-panel.js +12 -14
  405. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  406. package/build/components/inserter/media-tab/media-preview.js +47 -58
  407. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  408. package/build/components/inserter/media-tab/media-tab.js +24 -28
  409. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  410. package/build/components/inserter/media-tab/utils.js +3 -5
  411. package/build/components/inserter/media-tab/utils.js.map +1 -1
  412. package/build/components/inserter/menu.js +15 -19
  413. package/build/components/inserter/menu.js.map +1 -1
  414. package/build/components/inserter/menu.native.js +27 -31
  415. package/build/components/inserter/menu.native.js.map +1 -1
  416. package/build/components/inserter/mobile-tab-navigation.js +7 -9
  417. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  418. package/build/components/inserter/panel.js +5 -6
  419. package/build/components/inserter/panel.js.map +1 -1
  420. package/build/components/inserter/preview-panel.js +4 -5
  421. package/build/components/inserter/preview-panel.js.map +1 -1
  422. package/build/components/inserter/quick-inserter.js +9 -12
  423. package/build/components/inserter/quick-inserter.js.map +1 -1
  424. package/build/components/inserter/reusable-blocks-tab.js +13 -18
  425. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  426. package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
  427. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  428. package/build/components/inserter/search-items.js +12 -40
  429. package/build/components/inserter/search-items.js.map +1 -1
  430. package/build/components/inserter/search-results.js +34 -22
  431. package/build/components/inserter/search-results.js.map +1 -1
  432. package/build/components/inserter/search-results.native.js +11 -12
  433. package/build/components/inserter/search-results.native.js.map +1 -1
  434. package/build/components/inserter/tabs.js +8 -9
  435. package/build/components/inserter/tabs.js.map +1 -1
  436. package/build/components/inserter/tabs.native.js +37 -55
  437. package/build/components/inserter/tabs.native.js.map +1 -1
  438. package/build/components/inserter/utils.native.js +13 -17
  439. package/build/components/inserter/utils.native.js.map +1 -1
  440. package/build/components/inserter-draggable-blocks/index.js +11 -13
  441. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  442. package/build/components/inserter-list-item/index.js +68 -72
  443. package/build/components/inserter-list-item/index.js.map +1 -1
  444. package/build/components/inserter-listbox/index.js +3 -4
  445. package/build/components/inserter-listbox/index.js.map +1 -1
  446. package/build/components/inserter-listbox/item.js +6 -7
  447. package/build/components/inserter-listbox/item.js.map +1 -1
  448. package/build/components/inspector-controls/block-support-slot-container.js +4 -5
  449. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  450. package/build/components/inspector-controls/block-support-tools-panel.js +6 -8
  451. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  452. package/build/components/inspector-controls/fill.js +13 -24
  453. package/build/components/inspector-controls/fill.js.map +1 -1
  454. package/build/components/inspector-controls/fill.native.js +7 -11
  455. package/build/components/inspector-controls/fill.native.js.map +1 -1
  456. package/build/components/inspector-controls/slot.js +9 -13
  457. package/build/components/inspector-controls/slot.js.map +1 -1
  458. package/build/components/inspector-controls/slot.native.js +6 -10
  459. package/build/components/inspector-controls/slot.native.js.map +1 -1
  460. package/build/components/inspector-controls-tabs/index.js +6 -7
  461. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  462. package/build/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  463. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  464. package/build/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  465. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  466. package/build/components/inspector-controls-tabs/settings-tab.js +3 -6
  467. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  468. package/build/components/inspector-controls-tabs/styles-tab.js +5 -6
  469. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  470. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  471. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  472. package/build/components/inspector-popover-header/index.js +18 -22
  473. package/build/components/inspector-popover-header/index.js.map +1 -1
  474. package/build/components/justify-content-control/ui.js +8 -10
  475. package/build/components/justify-content-control/ui.js.map +1 -1
  476. package/build/components/letter-spacing-control/index.js +6 -7
  477. package/build/components/letter-spacing-control/index.js.map +1 -1
  478. package/build/components/line-height-control/index.js +13 -18
  479. package/build/components/line-height-control/index.js.map +1 -1
  480. package/build/components/line-height-control/index.native.js +4 -5
  481. package/build/components/line-height-control/index.native.js.map +1 -1
  482. package/build/components/link-control/index.js +84 -63
  483. package/build/components/link-control/index.js.map +1 -1
  484. package/build/components/link-control/is-url-like.js +32 -2
  485. package/build/components/link-control/is-url-like.js.map +1 -1
  486. package/build/components/link-control/link-preview.js +24 -27
  487. package/build/components/link-control/link-preview.js.map +1 -1
  488. package/build/components/link-control/search-create-button.js +7 -9
  489. package/build/components/link-control/search-create-button.js.map +1 -1
  490. package/build/components/link-control/search-input.js +22 -27
  491. package/build/components/link-control/search-input.js.map +1 -1
  492. package/build/components/link-control/search-item.js +13 -15
  493. package/build/components/link-control/search-item.js.map +1 -1
  494. package/build/components/link-control/search-results.js +22 -28
  495. package/build/components/link-control/search-results.js.map +1 -1
  496. package/build/components/link-control/settings-drawer.js +6 -35
  497. package/build/components/link-control/settings-drawer.js.map +1 -1
  498. package/build/components/link-control/settings.js +6 -8
  499. package/build/components/link-control/settings.js.map +1 -1
  500. package/build/components/link-control/use-internal-value.js +54 -0
  501. package/build/components/link-control/use-internal-value.js.map +1 -0
  502. package/build/components/link-control/use-rich-url-data.js +1 -1
  503. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  504. package/build/components/link-control/use-search-handler.js +10 -23
  505. package/build/components/link-control/use-search-handler.js.map +1 -1
  506. package/build/components/list-view/appender.js +18 -13
  507. package/build/components/list-view/appender.js.map +1 -1
  508. package/build/components/list-view/aria-referenced-text.js +44 -0
  509. package/build/components/list-view/aria-referenced-text.js.map +1 -0
  510. package/build/components/list-view/block-contents.js +40 -38
  511. package/build/components/list-view/block-contents.js.map +1 -1
  512. package/build/components/list-view/block-select-button.js +67 -21
  513. package/build/components/list-view/block-select-button.js.map +1 -1
  514. package/build/components/list-view/block.js +134 -120
  515. package/build/components/list-view/block.js.map +1 -1
  516. package/build/components/list-view/branch.js +6 -8
  517. package/build/components/list-view/branch.js.map +1 -1
  518. package/build/components/list-view/drop-indicator.js +4 -5
  519. package/build/components/list-view/drop-indicator.js.map +1 -1
  520. package/build/components/list-view/expander.js +3 -4
  521. package/build/components/list-view/expander.js.map +1 -1
  522. package/build/components/list-view/index.js +56 -46
  523. package/build/components/list-view/index.js.map +1 -1
  524. package/build/components/list-view/leaf.js +10 -11
  525. package/build/components/list-view/leaf.js.map +1 -1
  526. package/build/components/list-view/use-block-selection.js +4 -6
  527. package/build/components/list-view/use-block-selection.js.map +1 -1
  528. package/build/components/list-view/use-list-view-client-ids.js +29 -8
  529. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  530. package/build/components/list-view/use-list-view-drop-zone.js +25 -13
  531. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  532. package/build/components/list-view/use-list-view-expand-selected-item.js +4 -5
  533. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  534. package/build/components/list-view/use-list-view-scroll-into-view.js +5 -6
  535. package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  536. package/build/components/media-placeholder/index.js +71 -92
  537. package/build/components/media-placeholder/index.js.map +1 -1
  538. package/build/components/media-placeholder/index.native.js +5 -6
  539. package/build/components/media-placeholder/index.native.js.map +1 -1
  540. package/build/components/media-replace-flow/index.js +94 -107
  541. package/build/components/media-replace-flow/index.js.map +1 -1
  542. package/build/components/media-upload/check.js +4 -5
  543. package/build/components/media-upload/check.js.map +1 -1
  544. package/build/components/media-upload/index.native.js +1 -1
  545. package/build/components/media-upload/index.native.js.map +1 -1
  546. package/build/components/multi-selection-inspector/index.js +3 -4
  547. package/build/components/multi-selection-inspector/index.js.map +1 -1
  548. package/build/components/navigable-toolbar/index.js +16 -15
  549. package/build/components/navigable-toolbar/index.js.map +1 -1
  550. package/build/components/observe-typing/index.js +3 -4
  551. package/build/components/observe-typing/index.js.map +1 -1
  552. package/build/components/panel-color-settings/index.js +4 -5
  553. package/build/components/panel-color-settings/index.js.map +1 -1
  554. package/build/components/plain-text/index.js +4 -6
  555. package/build/components/plain-text/index.js.map +1 -1
  556. package/build/components/plain-text/index.native.js +8 -14
  557. package/build/components/plain-text/index.native.js.map +1 -1
  558. package/build/components/preview-options/index.js +8 -9
  559. package/build/components/preview-options/index.js.map +1 -1
  560. package/build/components/provider/block-refs-provider.js +3 -4
  561. package/build/components/provider/block-refs-provider.js.map +1 -1
  562. package/build/components/provider/use-block-sync.js +7 -8
  563. package/build/components/provider/use-block-sync.js.map +1 -1
  564. package/build/components/provider/with-registry-provider.js +5 -7
  565. package/build/components/provider/with-registry-provider.js.map +1 -1
  566. package/build/components/publish-date-time-picker/index.js +6 -9
  567. package/build/components/publish-date-time-picker/index.js.map +1 -1
  568. package/build/components/recursion-provider/index.js +7 -11
  569. package/build/components/recursion-provider/index.js.map +1 -1
  570. package/build/components/resizable-box-popover/index.js +5 -6
  571. package/build/components/resizable-box-popover/index.js.map +1 -1
  572. package/build/components/responsive-block-control/label.js +5 -6
  573. package/build/components/responsive-block-control/label.js.map +1 -1
  574. package/build/components/rich-text/embed-handler-picker.native.js +6 -10
  575. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  576. package/build/components/rich-text/format-edit.js +7 -8
  577. package/build/components/rich-text/format-edit.js.map +1 -1
  578. package/build/components/rich-text/format-toolbar/index.js +9 -18
  579. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  580. package/build/components/rich-text/format-toolbar-container.js +13 -16
  581. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  582. package/build/components/rich-text/index.js +43 -47
  583. package/build/components/rich-text/index.js.map +1 -1
  584. package/build/components/rich-text/index.native.js +130 -157
  585. package/build/components/rich-text/index.native.js.map +1 -1
  586. package/build/components/rich-text/input-event.js +4 -5
  587. package/build/components/rich-text/input-event.js.map +1 -1
  588. package/build/components/rich-text/shortcut.js +5 -6
  589. package/build/components/rich-text/shortcut.js.map +1 -1
  590. package/build/components/rich-text/split-value.js +8 -10
  591. package/build/components/rich-text/split-value.js.map +1 -1
  592. package/build/components/rich-text/toolbar-button.js +6 -7
  593. package/build/components/rich-text/toolbar-button.js.map +1 -1
  594. package/build/components/rich-text/use-before-input-rules.js +1 -4
  595. package/build/components/rich-text/use-before-input-rules.js.map +1 -1
  596. package/build/components/rich-text/use-enter.js +3 -6
  597. package/build/components/rich-text/use-enter.js.map +1 -1
  598. package/build/components/rich-text/use-firefox-compat.js +32 -1
  599. package/build/components/rich-text/use-firefox-compat.js.map +1 -1
  600. package/build/components/rich-text/use-format-types.js +11 -17
  601. package/build/components/rich-text/use-format-types.js.map +1 -1
  602. package/build/components/rich-text/use-input-rules.js +9 -15
  603. package/build/components/rich-text/use-input-rules.js.map +1 -1
  604. package/build/components/rich-text/use-mark-persistent.js +4 -5
  605. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  606. package/build/components/rich-text/use-paste-handler.js +5 -7
  607. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  608. package/build/components/rich-text/utils.js +5 -7
  609. package/build/components/rich-text/utils.js.map +1 -1
  610. package/build/components/skip-to-selected-block/index.js +3 -4
  611. package/build/components/skip-to-selected-block/index.js.map +1 -1
  612. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +38 -0
  613. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  614. package/build/components/spacing-sizes-control/index.js +60 -62
  615. package/build/components/spacing-sizes-control/index.js.map +1 -1
  616. package/build/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  617. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  618. package/build/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +22 -22
  619. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  620. package/build/components/spacing-sizes-control/input-controls/single.js +51 -0
  621. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  622. package/build/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +51 -69
  623. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  624. package/build/components/spacing-sizes-control/sides-dropdown/index.js +84 -0
  625. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  626. package/build/components/spacing-sizes-control/utils.js +213 -31
  627. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  628. package/build/components/text-decoration-control/index.js +5 -6
  629. package/build/components/text-decoration-control/index.js.map +1 -1
  630. package/build/components/text-transform-control/index.js +5 -6
  631. package/build/components/text-transform-control/index.js.map +1 -1
  632. package/build/components/tool-selector/index.js +13 -16
  633. package/build/components/tool-selector/index.js.map +1 -1
  634. package/build/components/typewriter/index.js +6 -9
  635. package/build/components/typewriter/index.js.map +1 -1
  636. package/build/components/ungroup-button/index.native.js +11 -16
  637. package/build/components/ungroup-button/index.native.js.map +1 -1
  638. package/build/components/unit-control/index.js +4 -5
  639. package/build/components/unit-control/index.js.map +1 -1
  640. package/build/components/url-input/index.js +15 -23
  641. package/build/components/url-input/index.js.map +1 -1
  642. package/build/components/url-input/index.native.js +6 -8
  643. package/build/components/url-input/index.native.js.map +1 -1
  644. package/build/components/url-popover/image-url-input-ui.js +12 -15
  645. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  646. package/build/components/url-popover/index.js +12 -14
  647. package/build/components/url-popover/index.js.map +1 -1
  648. package/build/components/url-popover/link-editor.js +7 -8
  649. package/build/components/url-popover/link-editor.js.map +1 -1
  650. package/build/components/url-popover/link-viewer-url.js +5 -6
  651. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  652. package/build/components/url-popover/link-viewer.js +8 -9
  653. package/build/components/url-popover/link-viewer.js.map +1 -1
  654. package/build/components/use-block-display-information/index.js +2 -2
  655. package/build/components/use-block-display-information/index.js.map +1 -1
  656. package/build/components/use-block-drop-zone/index.js +41 -38
  657. package/build/components/use-block-drop-zone/index.js.map +1 -1
  658. package/build/components/use-block-drop-zone/index.native.js +8 -11
  659. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  660. package/build/components/use-moving-animation/index.js +9 -12
  661. package/build/components/use-moving-animation/index.js.map +1 -1
  662. package/build/components/use-on-block-drop/index.js +2 -6
  663. package/build/components/use-on-block-drop/index.js.map +1 -1
  664. package/build/components/use-on-block-drop/index.native.js +8 -10
  665. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  666. package/build/components/use-paste-styles/index.js +2 -6
  667. package/build/components/use-paste-styles/index.js.map +1 -1
  668. package/build/components/use-resize-canvas/index.js +8 -1
  669. package/build/components/use-resize-canvas/index.js.map +1 -1
  670. package/build/components/warning/index.js +6 -7
  671. package/build/components/warning/index.js.map +1 -1
  672. package/build/components/warning/index.native.js +9 -10
  673. package/build/components/warning/index.native.js.map +1 -1
  674. package/build/components/writing-flow/index.js +4 -5
  675. package/build/components/writing-flow/index.js.map +1 -1
  676. package/build/components/writing-flow/use-arrow-nav.js +13 -7
  677. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  678. package/build/components/writing-flow/use-drag-selection.js +4 -6
  679. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  680. package/build/components/writing-flow/use-tab-nav.js +9 -6
  681. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  682. package/build/hooks/align.js +11 -22
  683. package/build/hooks/align.js.map +1 -1
  684. package/build/hooks/anchor.js +6 -3
  685. package/build/hooks/anchor.js.map +1 -1
  686. package/build/hooks/aria-label.js +1 -3
  687. package/build/hooks/aria-label.js.map +1 -1
  688. package/build/hooks/behaviors.js +148 -0
  689. package/build/hooks/behaviors.js.map +1 -0
  690. package/build/hooks/border.js +25 -38
  691. package/build/hooks/border.js.map +1 -1
  692. package/build/hooks/color.js +22 -37
  693. package/build/hooks/color.js.map +1 -1
  694. package/build/hooks/content-lock-ui.js +26 -30
  695. package/build/hooks/content-lock-ui.js.map +1 -1
  696. package/build/hooks/contrast-checker.js +4 -7
  697. package/build/hooks/contrast-checker.js.map +1 -1
  698. package/build/hooks/custom-class-name.js +5 -4
  699. package/build/hooks/custom-class-name.js.map +1 -1
  700. package/build/hooks/dimensions.js +6 -39
  701. package/build/hooks/dimensions.js.map +1 -1
  702. package/build/hooks/duotone.js +36 -52
  703. package/build/hooks/duotone.js.map +1 -1
  704. package/build/hooks/font-family.js +5 -6
  705. package/build/hooks/font-family.js.map +1 -1
  706. package/build/hooks/font-size.js +14 -21
  707. package/build/hooks/font-size.js.map +1 -1
  708. package/build/hooks/gap.js +5 -6
  709. package/build/hooks/gap.js.map +1 -1
  710. package/build/hooks/index.js +2 -0
  711. package/build/hooks/index.js.map +1 -1
  712. package/build/hooks/layout.js +50 -68
  713. package/build/hooks/layout.js.map +1 -1
  714. package/build/hooks/line-height.js +5 -8
  715. package/build/hooks/line-height.js.map +1 -1
  716. package/build/hooks/lock.js +2 -2
  717. package/build/hooks/lock.js.map +1 -1
  718. package/build/hooks/margin.js +6 -9
  719. package/build/hooks/margin.js.map +1 -1
  720. package/build/hooks/metadata-name.js +4 -5
  721. package/build/hooks/metadata-name.js.map +1 -1
  722. package/build/hooks/metadata.js +3 -7
  723. package/build/hooks/metadata.js.map +1 -1
  724. package/build/hooks/padding.js +6 -9
  725. package/build/hooks/padding.js.map +1 -1
  726. package/build/hooks/position.js +26 -40
  727. package/build/hooks/position.js.map +1 -1
  728. package/build/hooks/settings.js +1 -3
  729. package/build/hooks/settings.js.map +1 -1
  730. package/build/hooks/style.js +12 -19
  731. package/build/hooks/style.js.map +1 -1
  732. package/build/hooks/supports.js +3 -5
  733. package/build/hooks/supports.js.map +1 -1
  734. package/build/hooks/typography.js +18 -27
  735. package/build/hooks/typography.js.map +1 -1
  736. package/build/hooks/typography.native.js +1 -2
  737. package/build/hooks/typography.native.js.map +1 -1
  738. package/build/hooks/use-border-props.js +1 -3
  739. package/build/hooks/use-border-props.js.map +1 -1
  740. package/build/hooks/use-color-props.js +6 -8
  741. package/build/hooks/use-color-props.js.map +1 -1
  742. package/build/hooks/use-editor-wrapper-styles.native.js +34 -39
  743. package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  744. package/build/hooks/use-spacing-props.js +1 -1
  745. package/build/hooks/use-spacing-props.js.map +1 -1
  746. package/build/hooks/use-typography-props.js +8 -12
  747. package/build/hooks/use-typography-props.js.map +1 -1
  748. package/build/hooks/utils.js +6 -18
  749. package/build/hooks/utils.js.map +1 -1
  750. package/build/layouts/constrained.js +22 -27
  751. package/build/layouts/constrained.js.map +1 -1
  752. package/build/layouts/flex.js +43 -54
  753. package/build/layouts/flex.js.map +1 -1
  754. package/build/layouts/flow.js +10 -13
  755. package/build/layouts/flow.js.map +1 -1
  756. package/build/layouts/grid.js +45 -25
  757. package/build/layouts/grid.js.map +1 -1
  758. package/build/layouts/index.js +1 -2
  759. package/build/layouts/index.js.map +1 -1
  760. package/build/layouts/utils.js +3 -9
  761. package/build/layouts/utils.js.map +1 -1
  762. package/build/private-apis.js +4 -7
  763. package/build/private-apis.js.map +1 -1
  764. package/build/store/actions.js +251 -334
  765. package/build/store/actions.js.map +1 -1
  766. package/build/store/array.js +1 -2
  767. package/build/store/array.js.map +1 -1
  768. package/build/store/private-actions.js +44 -2
  769. package/build/store/private-actions.js.map +1 -1
  770. package/build/store/private-selectors.js +108 -3
  771. package/build/store/private-selectors.js.map +1 -1
  772. package/build/store/reducer.js +99 -166
  773. package/build/store/reducer.js.map +1 -1
  774. package/build/store/selectors.js +171 -231
  775. package/build/store/selectors.js.map +1 -1
  776. package/build/utils/block-variation-transforms.js +4 -7
  777. package/build/utils/block-variation-transforms.js.map +1 -1
  778. package/build/utils/math.js +1 -2
  779. package/build/utils/math.js.map +1 -1
  780. package/build/utils/object.js +1 -4
  781. package/build/utils/object.js.map +1 -1
  782. package/build/utils/order-inserter-block-items.js +39 -0
  783. package/build/utils/order-inserter-block-items.js.map +1 -0
  784. package/build/utils/parse-css-unit-to-px.js +3 -6
  785. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  786. package/build/utils/pasting.js +5 -8
  787. package/build/utils/pasting.js.map +1 -1
  788. package/build/utils/pre-parse-patterns.js +1 -1
  789. package/build/utils/pre-parse-patterns.js.map +1 -1
  790. package/build/utils/sorting.js +1 -2
  791. package/build/utils/sorting.js.map +1 -1
  792. package/build/utils/transform-styles/index.js +5 -7
  793. package/build/utils/transform-styles/index.js.map +1 -1
  794. package/build/utils/transform-styles/transforms/wrap.js +28 -31
  795. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  796. package/build-module/autocompleters/block.js +10 -5
  797. package/build-module/autocompleters/block.js.map +1 -1
  798. package/build-module/components/alignment-control/ui.js +9 -11
  799. package/build-module/components/alignment-control/ui.js.map +1 -1
  800. package/build-module/components/autocomplete/index.js +3 -4
  801. package/build-module/components/autocomplete/index.js.map +1 -1
  802. package/build-module/components/block-actions/index.js +8 -12
  803. package/build-module/components/block-actions/index.js.map +1 -1
  804. package/build-module/components/block-alignment-control/ui.js +17 -21
  805. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  806. package/build-module/components/block-alignment-control/ui.native.js +14 -17
  807. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  808. package/build-module/components/block-alignment-control/use-available-alignments.js +5 -10
  809. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  810. package/build-module/components/block-alignment-matrix-control/index.js +4 -6
  811. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  812. package/build-module/components/block-breadcrumb/index.js +8 -7
  813. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  814. package/build-module/components/block-caption/index.native.js +29 -34
  815. package/build-module/components/block-caption/index.native.js.map +1 -1
  816. package/build-module/components/block-card/index.js +7 -9
  817. package/build-module/components/block-card/index.js.map +1 -1
  818. package/build-module/components/block-compare/block-view.js +8 -9
  819. package/build-module/components/block-compare/block-view.js.map +1 -1
  820. package/build-module/components/block-compare/index.js +7 -9
  821. package/build-module/components/block-compare/index.js.map +1 -1
  822. package/build-module/components/block-context/index.js +4 -5
  823. package/build-module/components/block-context/index.js.map +1 -1
  824. package/build-module/components/block-controls/fill.js +17 -23
  825. package/build-module/components/block-controls/fill.js.map +1 -1
  826. package/build-module/components/block-controls/hook.js +1 -3
  827. package/build-module/components/block-controls/hook.js.map +1 -1
  828. package/build-module/components/block-controls/slot.js +29 -21
  829. package/build-module/components/block-controls/slot.js.map +1 -1
  830. package/build-module/components/block-controls/slot.native.js +8 -18
  831. package/build-module/components/block-controls/slot.native.js.map +1 -1
  832. package/build-module/components/block-draggable/draggable-chip.js +5 -7
  833. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  834. package/build-module/components/block-draggable/draggable-chip.native.js +3 -4
  835. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  836. package/build-module/components/block-draggable/dropping-insertion-point.native.js +6 -7
  837. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  838. package/build-module/components/block-draggable/index.js +16 -17
  839. package/build-module/components/block-draggable/index.js.map +1 -1
  840. package/build-module/components/block-draggable/index.native.js +43 -58
  841. package/build-module/components/block-draggable/index.native.js.map +1 -1
  842. package/build-module/components/block-edit/edit.js +1 -4
  843. package/build-module/components/block-edit/edit.js.map +1 -1
  844. package/build-module/components/block-edit/edit.native.js +1 -4
  845. package/build-module/components/block-edit/edit.native.js.map +1 -1
  846. package/build-module/components/block-edit-visually-button/index.js +3 -4
  847. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  848. package/build-module/components/block-editing-mode/index.js +72 -0
  849. package/build-module/components/block-editing-mode/index.js.map +1 -0
  850. package/build-module/components/block-full-height-alignment-control/index.js +6 -7
  851. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  852. package/build-module/components/block-icon/index.js +7 -11
  853. package/build-module/components/block-icon/index.js.map +1 -1
  854. package/build-module/components/block-icon/index.native.js +9 -13
  855. package/build-module/components/block-icon/index.native.js.map +1 -1
  856. package/build-module/components/block-inspector/index.js +36 -46
  857. package/build-module/components/block-inspector/index.js.map +1 -1
  858. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  859. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  860. package/build-module/components/block-list/block-html.js +3 -4
  861. package/build-module/components/block-list/block-html.js.map +1 -1
  862. package/build-module/components/block-list/block-invalid-warning.js +3 -4
  863. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  864. package/build-module/components/block-list/block-invalid-warning.native.js +10 -15
  865. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  866. package/build-module/components/block-list/block-list-block-context.js +6 -0
  867. package/build-module/components/block-list/block-list-block-context.js.map +1 -0
  868. package/build-module/components/block-list/block-list-context.native.js +5 -11
  869. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  870. package/build-module/components/block-list/block-list-item-cell.native.js +5 -6
  871. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  872. package/build-module/components/block-list/block-list-item.native.js +17 -18
  873. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  874. package/build-module/components/block-list/block-outline.native.js +8 -9
  875. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  876. package/build-module/components/block-list/block-selection-button.native.js +10 -12
  877. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  878. package/build-module/components/block-list/block.js +65 -80
  879. package/build-module/components/block-list/block.js.map +1 -1
  880. package/build-module/components/block-list/block.native.js +69 -90
  881. package/build-module/components/block-list/block.native.js.map +1 -1
  882. package/build-module/components/block-list/index.js +12 -15
  883. package/build-module/components/block-list/index.js.map +1 -1
  884. package/build-module/components/block-list/index.native.js +144 -155
  885. package/build-module/components/block-list/index.native.js.map +1 -1
  886. package/build-module/components/block-list/insertion-point.native.js +4 -5
  887. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  888. package/build-module/components/block-list/layout.js +6 -9
  889. package/build-module/components/block-list/layout.js.map +1 -1
  890. package/build-module/components/block-list/subdirectory-icon.js +10 -13
  891. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  892. package/build-module/components/block-list/use-block-props/index.js +15 -12
  893. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  894. package/build-module/components/block-list/use-block-props/index.native.js +1 -2
  895. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  896. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  897. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  898. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  899. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  900. package/build-module/components/block-list/use-in-between-inserter.js +7 -8
  901. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  902. package/build-module/components/block-list-appender/index.js +29 -15
  903. package/build-module/components/block-list-appender/index.js.map +1 -1
  904. package/build-module/components/block-list-appender/index.native.js +9 -11
  905. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  906. package/build-module/components/block-lock/menu-item.js +3 -4
  907. package/build-module/components/block-lock/menu-item.js.map +1 -1
  908. package/build-module/components/block-lock/modal.js +6 -9
  909. package/build-module/components/block-lock/modal.js.map +1 -1
  910. package/build-module/components/block-lock/toolbar.js +5 -10
  911. package/build-module/components/block-lock/toolbar.js.map +1 -1
  912. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +66 -70
  913. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  914. package/build-module/components/block-mobile-toolbar/index.native.js +26 -34
  915. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  916. package/build-module/components/block-mover/button.js +6 -7
  917. package/build-module/components/block-mover/button.js.map +1 -1
  918. package/build-module/components/block-mover/index.js +5 -8
  919. package/build-module/components/block-mover/index.js.map +1 -1
  920. package/build-module/components/block-mover/index.native.js +23 -46
  921. package/build-module/components/block-mover/index.native.js.map +1 -1
  922. package/build-module/components/block-mover/mover-description.native.js +7 -10
  923. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  924. package/build-module/components/block-navigation/dropdown.js +20 -25
  925. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  926. package/build-module/components/block-parent-selector/index.js +2 -2
  927. package/build-module/components/block-parent-selector/index.js.map +1 -1
  928. package/build-module/components/block-pattern-setup/index.js +27 -31
  929. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  930. package/build-module/components/block-pattern-setup/setup-toolbar.js +35 -42
  931. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  932. package/build-module/components/block-patterns-list/index.js +71 -78
  933. package/build-module/components/block-patterns-list/index.js.map +1 -1
  934. package/build-module/components/block-popover/drop-zone.js +4 -5
  935. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  936. package/build-module/components/block-popover/inbetween.js +10 -15
  937. package/build-module/components/block-popover/inbetween.js.map +1 -1
  938. package/build-module/components/block-popover/index.js +14 -15
  939. package/build-module/components/block-popover/index.js.map +1 -1
  940. package/build-module/components/block-preview/auto.js +6 -8
  941. package/build-module/components/block-preview/auto.js.map +1 -1
  942. package/build-module/components/block-preview/index.js +15 -18
  943. package/build-module/components/block-preview/index.js.map +1 -1
  944. package/build-module/components/block-settings/button.native.js +7 -10
  945. package/build-module/components/block-settings/button.native.js.map +1 -1
  946. package/build-module/components/block-settings-menu/block-convert-button.js +5 -7
  947. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  948. package/build-module/components/block-settings-menu/block-html-convert-button.js +10 -14
  949. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  950. package/build-module/components/block-settings-menu/block-mode-toggle.js +19 -25
  951. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  952. package/build-module/components/block-settings-menu/block-settings-dropdown.js +135 -113
  953. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  954. package/build-module/components/block-settings-menu/index.js +4 -5
  955. package/build-module/components/block-settings-menu/index.js.map +1 -1
  956. package/build-module/components/block-settings-menu-controls/index.js +14 -16
  957. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  958. package/build-module/components/block-styles/index.js +6 -7
  959. package/build-module/components/block-styles/index.js.map +1 -1
  960. package/build-module/components/block-styles/index.native.js +5 -7
  961. package/build-module/components/block-styles/index.native.js.map +1 -1
  962. package/build-module/components/block-styles/menu-items.js +4 -5
  963. package/build-module/components/block-styles/menu-items.js.map +1 -1
  964. package/build-module/components/block-styles/preview-panel.js +8 -12
  965. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  966. package/build-module/components/block-styles/preview.native.js +6 -7
  967. package/build-module/components/block-styles/preview.native.js.map +1 -1
  968. package/build-module/components/block-styles/use-styles-for-block.js +7 -9
  969. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
  970. package/build-module/components/block-styles/utils.js +4 -7
  971. package/build-module/components/block-styles/utils.js.map +1 -1
  972. package/build-module/components/block-switcher/block-styles-menu.js +4 -5
  973. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  974. package/build-module/components/block-switcher/block-transformations-menu.js +28 -26
  975. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  976. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -10
  977. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  978. package/build-module/components/block-switcher/block-variation-transformations.js +99 -0
  979. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -0
  980. package/build-module/components/block-switcher/index.js +63 -55
  981. package/build-module/components/block-switcher/index.js.map +1 -1
  982. package/build-module/components/block-switcher/pattern-transformations-menu.js +21 -25
  983. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  984. package/build-module/components/block-switcher/preview-block-popover.js +3 -4
  985. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  986. package/build-module/components/block-switcher/utils.js +2 -3
  987. package/build-module/components/block-switcher/utils.js.map +1 -1
  988. package/build-module/components/block-title/index.js +5 -6
  989. package/build-module/components/block-title/index.js.map +1 -1
  990. package/build-module/components/block-title/use-block-display-title.js +5 -6
  991. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  992. package/build-module/components/block-toolbar/index.js +12 -12
  993. package/build-module/components/block-toolbar/index.js.map +1 -1
  994. package/build-module/components/block-toolbar/utils.js +14 -16
  995. package/build-module/components/block-toolbar/utils.js.map +1 -1
  996. package/build-module/components/block-tools/back-compat.js +3 -4
  997. package/build-module/components/block-tools/back-compat.js.map +1 -1
  998. package/build-module/components/block-tools/block-contextual-toolbar.js +9 -9
  999. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  1000. package/build-module/components/block-tools/block-selection-button.js +6 -9
  1001. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  1002. package/build-module/components/block-tools/index.js +6 -7
  1003. package/build-module/components/block-tools/index.js.map +1 -1
  1004. package/build-module/components/block-tools/insertion-point.js +17 -14
  1005. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  1006. package/build-module/components/block-tools/selected-block-popover.js +19 -20
  1007. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  1008. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  1009. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  1010. package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -4
  1011. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  1012. package/build-module/components/block-types-list/index.js +8 -9
  1013. package/build-module/components/block-types-list/index.js.map +1 -1
  1014. package/build-module/components/block-types-list/index.native.js +22 -27
  1015. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1016. package/build-module/components/block-variation-picker/index.js +8 -9
  1017. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1018. package/build-module/components/block-variation-picker/index.native.js +7 -9
  1019. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1020. package/build-module/components/block-variation-transforms/index.js +30 -41
  1021. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1022. package/build-module/components/block-vertical-alignment-control/ui.js +7 -9
  1023. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1024. package/build-module/components/border-radius-control/all-input-control.js +7 -8
  1025. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1026. package/build-module/components/border-radius-control/index.js +9 -10
  1027. package/build-module/components/border-radius-control/index.js.map +1 -1
  1028. package/build-module/components/border-radius-control/input-controls.js +8 -11
  1029. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1030. package/build-module/components/border-radius-control/linked-button.js +4 -5
  1031. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1032. package/build-module/components/border-radius-control/utils.js +3 -7
  1033. package/build-module/components/border-radius-control/utils.js.map +1 -1
  1034. package/build-module/components/button-block-appender/index.js +13 -15
  1035. package/build-module/components/button-block-appender/index.js.map +1 -1
  1036. package/build-module/components/button-block-appender/index.native.js +25 -29
  1037. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1038. package/build-module/components/caption/index.native.js +40 -43
  1039. package/build-module/components/caption/index.native.js.map +1 -1
  1040. package/build-module/components/child-layout-control/index.js +5 -6
  1041. package/build-module/components/child-layout-control/index.js.map +1 -1
  1042. package/build-module/components/color-palette/control.js +5 -6
  1043. package/build-module/components/color-palette/control.js.map +1 -1
  1044. package/build-module/components/color-palette/with-color-context.js +1 -6
  1045. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1046. package/build-module/components/color-style-selector/index.js +28 -35
  1047. package/build-module/components/color-style-selector/index.js.map +1 -1
  1048. package/build-module/components/colors/utils.js +5 -8
  1049. package/build-module/components/colors/utils.js.map +1 -1
  1050. package/build-module/components/colors/with-colors.js +9 -24
  1051. package/build-module/components/colors/with-colors.js.map +1 -1
  1052. package/build-module/components/colors-gradients/control.js +19 -21
  1053. package/build-module/components/colors-gradients/control.js.map +1 -1
  1054. package/build-module/components/colors-gradients/dropdown.js +32 -39
  1055. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1056. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +20 -24
  1057. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1058. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  1059. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1060. package/build-module/components/contrast-checker/index.js +12 -13
  1061. package/build-module/components/contrast-checker/index.js.map +1 -1
  1062. package/build-module/components/contrast-checker/index.native.js +16 -18
  1063. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1064. package/build-module/components/convert-to-group-buttons/index.js +15 -11
  1065. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1066. package/build-module/components/convert-to-group-buttons/index.native.js +75 -1
  1067. package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
  1068. package/build-module/components/convert-to-group-buttons/toolbar.js +6 -12
  1069. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1070. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +21 -37
  1071. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  1072. package/build-module/components/copy-handler/index.js +4 -7
  1073. package/build-module/components/copy-handler/index.js.map +1 -1
  1074. package/build-module/components/date-format-picker/index.js +12 -16
  1075. package/build-module/components/date-format-picker/index.js.map +1 -1
  1076. package/build-module/components/default-block-appender/index.js +7 -9
  1077. package/build-module/components/default-block-appender/index.js.map +1 -1
  1078. package/build-module/components/default-block-appender/index.native.js +8 -10
  1079. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1080. package/build-module/components/default-style-picker/index.js +14 -22
  1081. package/build-module/components/default-style-picker/index.js.map +1 -1
  1082. package/build-module/components/duotone/components.js +14 -18
  1083. package/build-module/components/duotone/components.js.map +1 -1
  1084. package/build-module/components/duotone/utils.js +1 -2
  1085. package/build-module/components/duotone/utils.js.map +1 -1
  1086. package/build-module/components/duotone-control/index.js +12 -15
  1087. package/build-module/components/duotone-control/index.js.map +1 -1
  1088. package/build-module/components/editable-text/index.js +5 -6
  1089. package/build-module/components/editable-text/index.js.map +1 -1
  1090. package/build-module/components/editor-styles/index.js +4 -5
  1091. package/build-module/components/editor-styles/index.js.map +1 -1
  1092. package/build-module/components/floating-toolbar/index.native.js +7 -8
  1093. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1094. package/build-module/components/font-appearance-control/index.js +19 -26
  1095. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1096. package/build-module/components/font-family/index.js +10 -12
  1097. package/build-module/components/font-family/index.js.map +1 -1
  1098. package/build-module/components/font-sizes/fluid-utils.js +17 -21
  1099. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  1100. package/build-module/components/font-sizes/utils.js +6 -12
  1101. package/build-module/components/font-sizes/utils.js.map +1 -1
  1102. package/build-module/components/font-sizes/with-font-sizes.js +11 -30
  1103. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1104. package/build-module/components/global-styles/advanced-panel.js +7 -10
  1105. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1106. package/build-module/components/global-styles/border-panel.js +45 -78
  1107. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1108. package/build-module/components/global-styles/color-panel.js +104 -147
  1109. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1110. package/build-module/components/global-styles/color-panel.native.js +25 -42
  1111. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1112. package/build-module/components/global-styles/dimensions-panel.js +81 -111
  1113. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1114. package/build-module/components/global-styles/effects-panel.js +58 -72
  1115. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  1116. package/build-module/components/global-styles/filters-panel.js +53 -71
  1117. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1118. package/build-module/components/global-styles/get-block-css-selector.js +5 -8
  1119. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  1120. package/build-module/components/global-styles/hooks.js +22 -37
  1121. package/build-module/components/global-styles/hooks.js.map +1 -1
  1122. package/build-module/components/global-styles/typography-panel.js +69 -125
  1123. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1124. package/build-module/components/global-styles/typography-utils.js +48 -26
  1125. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  1126. package/build-module/components/global-styles/use-global-styles-output.js +142 -237
  1127. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1128. package/build-module/components/global-styles/utils.js +12 -28
  1129. package/build-module/components/global-styles/utils.js.map +1 -1
  1130. package/build-module/components/gradients/use-gradient.js +6 -7
  1131. package/build-module/components/gradients/use-gradient.js.map +1 -1
  1132. package/build-module/components/height-control/index.js +9 -10
  1133. package/build-module/components/height-control/index.js.map +1 -1
  1134. package/build-module/components/iframe/index.js +53 -81
  1135. package/build-module/components/iframe/index.js.map +1 -1
  1136. package/build-module/components/iframe/use-compatibility-styles.js +29 -20
  1137. package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
  1138. package/build-module/components/image-editor/aspect-ratio-dropdown.js +83 -91
  1139. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1140. package/build-module/components/image-editor/context.js +9 -10
  1141. package/build-module/components/image-editor/context.js.map +1 -1
  1142. package/build-module/components/image-editor/cropper.js +11 -12
  1143. package/build-module/components/image-editor/cropper.js.map +1 -1
  1144. package/build-module/components/image-editor/index.js +12 -13
  1145. package/build-module/components/image-editor/index.js.map +1 -1
  1146. package/build-module/components/image-editor/use-save-image.js +11 -12
  1147. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  1148. package/build-module/components/image-editor/use-transform-image.js +5 -6
  1149. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  1150. package/build-module/components/image-editor/zoom-dropdown.js +10 -13
  1151. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1152. package/build-module/components/image-size-control/index.js +12 -13
  1153. package/build-module/components/image-size-control/index.js.map +1 -1
  1154. package/build-module/components/inner-blocks/button-block-appender.js +7 -8
  1155. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1156. package/build-module/components/inner-blocks/default-block-appender.js +6 -8
  1157. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1158. package/build-module/components/inner-blocks/index.js +4 -7
  1159. package/build-module/components/inner-blocks/index.js.map +1 -1
  1160. package/build-module/components/inner-blocks/index.native.js +8 -9
  1161. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1162. package/build-module/components/inner-blocks/use-block-context.js +1 -4
  1163. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  1164. package/build-module/components/inner-blocks/use-nested-settings-update.js +15 -9
  1165. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1166. package/build-module/components/inserter/block-patterns-explorer/explorer.js +9 -11
  1167. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  1168. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  1169. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  1170. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  1171. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  1172. package/build-module/components/inserter/block-patterns-tab.js +29 -40
  1173. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  1174. package/build-module/components/inserter/block-types-tab.js +7 -9
  1175. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1176. package/build-module/components/inserter/block-types-tab.native.js +8 -9
  1177. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1178. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  1179. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  1180. package/build-module/components/inserter/hooks/use-block-types-state.js +5 -6
  1181. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1182. package/build-module/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  1183. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  1184. package/build-module/components/inserter/hooks/use-debounced-input.js +1 -2
  1185. package/build-module/components/inserter/hooks/use-debounced-input.js.map +1 -1
  1186. package/build-module/components/inserter/hooks/use-insertion-point.js +10 -12
  1187. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1188. package/build-module/components/inserter/index.js +40 -58
  1189. package/build-module/components/inserter/index.js.map +1 -1
  1190. package/build-module/components/inserter/index.native.js +24 -31
  1191. package/build-module/components/inserter/index.native.js.map +1 -1
  1192. package/build-module/components/inserter/library.js +11 -12
  1193. package/build-module/components/inserter/library.js.map +1 -1
  1194. package/build-module/components/inserter/media-tab/hooks.js +2 -5
  1195. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  1196. package/build-module/components/inserter/media-tab/media-list.js +6 -7
  1197. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1198. package/build-module/components/inserter/media-tab/media-panel.js +12 -14
  1199. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1200. package/build-module/components/inserter/media-tab/media-preview.js +47 -58
  1201. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1202. package/build-module/components/inserter/media-tab/media-tab.js +24 -28
  1203. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1204. package/build-module/components/inserter/media-tab/utils.js +3 -5
  1205. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1206. package/build-module/components/inserter/menu.js +15 -19
  1207. package/build-module/components/inserter/menu.js.map +1 -1
  1208. package/build-module/components/inserter/menu.native.js +27 -31
  1209. package/build-module/components/inserter/menu.native.js.map +1 -1
  1210. package/build-module/components/inserter/mobile-tab-navigation.js +7 -9
  1211. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1212. package/build-module/components/inserter/panel.js +5 -6
  1213. package/build-module/components/inserter/panel.js.map +1 -1
  1214. package/build-module/components/inserter/preview-panel.js +4 -5
  1215. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1216. package/build-module/components/inserter/quick-inserter.js +9 -12
  1217. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1218. package/build-module/components/inserter/reusable-blocks-tab.js +13 -18
  1219. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  1220. package/build-module/components/inserter/reusable-blocks-tab.native.js +5 -6
  1221. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1222. package/build-module/components/inserter/search-items.js +12 -40
  1223. package/build-module/components/inserter/search-items.js.map +1 -1
  1224. package/build-module/components/inserter/search-results.js +31 -22
  1225. package/build-module/components/inserter/search-results.js.map +1 -1
  1226. package/build-module/components/inserter/search-results.native.js +11 -12
  1227. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1228. package/build-module/components/inserter/tabs.js +8 -9
  1229. package/build-module/components/inserter/tabs.js.map +1 -1
  1230. package/build-module/components/inserter/tabs.native.js +37 -55
  1231. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1232. package/build-module/components/inserter/utils.native.js +13 -17
  1233. package/build-module/components/inserter/utils.native.js.map +1 -1
  1234. package/build-module/components/inserter-draggable-blocks/index.js +11 -13
  1235. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1236. package/build-module/components/inserter-list-item/index.js +65 -69
  1237. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1238. package/build-module/components/inserter-listbox/index.js +3 -4
  1239. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1240. package/build-module/components/inserter-listbox/item.js +6 -7
  1241. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1242. package/build-module/components/inspector-controls/block-support-slot-container.js +4 -5
  1243. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1244. package/build-module/components/inspector-controls/block-support-tools-panel.js +6 -8
  1245. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1246. package/build-module/components/inspector-controls/fill.js +13 -23
  1247. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1248. package/build-module/components/inspector-controls/fill.native.js +7 -11
  1249. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1250. package/build-module/components/inspector-controls/slot.js +9 -13
  1251. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1252. package/build-module/components/inspector-controls/slot.native.js +6 -10
  1253. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1254. package/build-module/components/inspector-controls-tabs/index.js +6 -7
  1255. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1256. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  1257. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1258. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  1259. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1260. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -6
  1261. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1262. package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -6
  1263. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1264. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  1265. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  1266. package/build-module/components/inspector-popover-header/index.js +18 -22
  1267. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1268. package/build-module/components/justify-content-control/ui.js +8 -10
  1269. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1270. package/build-module/components/letter-spacing-control/index.js +6 -7
  1271. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1272. package/build-module/components/line-height-control/index.js +13 -18
  1273. package/build-module/components/line-height-control/index.js.map +1 -1
  1274. package/build-module/components/line-height-control/index.native.js +4 -5
  1275. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1276. package/build-module/components/link-control/index.js +83 -64
  1277. package/build-module/components/link-control/index.js.map +1 -1
  1278. package/build-module/components/link-control/is-url-like.js +32 -3
  1279. package/build-module/components/link-control/is-url-like.js.map +1 -1
  1280. package/build-module/components/link-control/link-preview.js +24 -27
  1281. package/build-module/components/link-control/link-preview.js.map +1 -1
  1282. package/build-module/components/link-control/search-create-button.js +7 -9
  1283. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1284. package/build-module/components/link-control/search-input.js +22 -27
  1285. package/build-module/components/link-control/search-input.js.map +1 -1
  1286. package/build-module/components/link-control/search-item.js +13 -15
  1287. package/build-module/components/link-control/search-item.js.map +1 -1
  1288. package/build-module/components/link-control/search-results.js +21 -27
  1289. package/build-module/components/link-control/search-results.js.map +1 -1
  1290. package/build-module/components/link-control/settings-drawer.js +7 -33
  1291. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1292. package/build-module/components/link-control/settings.js +7 -9
  1293. package/build-module/components/link-control/settings.js.map +1 -1
  1294. package/build-module/components/link-control/use-internal-value.js +46 -0
  1295. package/build-module/components/link-control/use-internal-value.js.map +1 -0
  1296. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  1297. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  1298. package/build-module/components/link-control/use-search-handler.js +10 -23
  1299. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  1300. package/build-module/components/list-view/appender.js +17 -14
  1301. package/build-module/components/list-view/appender.js.map +1 -1
  1302. package/build-module/components/list-view/aria-referenced-text.js +35 -0
  1303. package/build-module/components/list-view/aria-referenced-text.js.map +1 -0
  1304. package/build-module/components/list-view/block-contents.js +40 -38
  1305. package/build-module/components/list-view/block-contents.js.map +1 -1
  1306. package/build-module/components/list-view/block-select-button.js +65 -22
  1307. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1308. package/build-module/components/list-view/block.js +131 -120
  1309. package/build-module/components/list-view/block.js.map +1 -1
  1310. package/build-module/components/list-view/branch.js +6 -8
  1311. package/build-module/components/list-view/branch.js.map +1 -1
  1312. package/build-module/components/list-view/drop-indicator.js +4 -5
  1313. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1314. package/build-module/components/list-view/expander.js +3 -4
  1315. package/build-module/components/list-view/expander.js.map +1 -1
  1316. package/build-module/components/list-view/index.js +57 -47
  1317. package/build-module/components/list-view/index.js.map +1 -1
  1318. package/build-module/components/list-view/leaf.js +10 -11
  1319. package/build-module/components/list-view/leaf.js.map +1 -1
  1320. package/build-module/components/list-view/use-block-selection.js +4 -6
  1321. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  1322. package/build-module/components/list-view/use-list-view-client-ids.js +28 -8
  1323. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  1324. package/build-module/components/list-view/use-list-view-drop-zone.js +25 -13
  1325. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  1326. package/build-module/components/list-view/use-list-view-expand-selected-item.js +4 -5
  1327. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  1328. package/build-module/components/list-view/use-list-view-scroll-into-view.js +5 -6
  1329. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  1330. package/build-module/components/media-placeholder/index.js +71 -92
  1331. package/build-module/components/media-placeholder/index.js.map +1 -1
  1332. package/build-module/components/media-placeholder/index.native.js +5 -6
  1333. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1334. package/build-module/components/media-replace-flow/index.js +94 -107
  1335. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1336. package/build-module/components/media-upload/check.js +4 -5
  1337. package/build-module/components/media-upload/check.js.map +1 -1
  1338. package/build-module/components/media-upload/index.native.js +1 -1
  1339. package/build-module/components/media-upload/index.native.js.map +1 -1
  1340. package/build-module/components/multi-selection-inspector/index.js +3 -4
  1341. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1342. package/build-module/components/navigable-toolbar/index.js +16 -15
  1343. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1344. package/build-module/components/observe-typing/index.js +3 -4
  1345. package/build-module/components/observe-typing/index.js.map +1 -1
  1346. package/build-module/components/panel-color-settings/index.js +4 -5
  1347. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1348. package/build-module/components/plain-text/index.js +4 -6
  1349. package/build-module/components/plain-text/index.js.map +1 -1
  1350. package/build-module/components/plain-text/index.native.js +8 -14
  1351. package/build-module/components/plain-text/index.native.js.map +1 -1
  1352. package/build-module/components/preview-options/index.js +8 -9
  1353. package/build-module/components/preview-options/index.js.map +1 -1
  1354. package/build-module/components/provider/block-refs-provider.js +3 -4
  1355. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1356. package/build-module/components/provider/use-block-sync.js +7 -8
  1357. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1358. package/build-module/components/provider/with-registry-provider.js +5 -7
  1359. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1360. package/build-module/components/publish-date-time-picker/index.js +6 -9
  1361. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1362. package/build-module/components/recursion-provider/index.js +7 -11
  1363. package/build-module/components/recursion-provider/index.js.map +1 -1
  1364. package/build-module/components/resizable-box-popover/index.js +5 -6
  1365. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1366. package/build-module/components/responsive-block-control/label.js +5 -6
  1367. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1368. package/build-module/components/rich-text/embed-handler-picker.native.js +6 -10
  1369. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1370. package/build-module/components/rich-text/format-edit.js +7 -8
  1371. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1372. package/build-module/components/rich-text/format-toolbar/index.js +9 -18
  1373. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1374. package/build-module/components/rich-text/format-toolbar-container.js +13 -16
  1375. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1376. package/build-module/components/rich-text/index.js +43 -47
  1377. package/build-module/components/rich-text/index.js.map +1 -1
  1378. package/build-module/components/rich-text/index.native.js +130 -157
  1379. package/build-module/components/rich-text/index.native.js.map +1 -1
  1380. package/build-module/components/rich-text/input-event.js +4 -5
  1381. package/build-module/components/rich-text/input-event.js.map +1 -1
  1382. package/build-module/components/rich-text/shortcut.js +5 -6
  1383. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1384. package/build-module/components/rich-text/split-value.js +8 -10
  1385. package/build-module/components/rich-text/split-value.js.map +1 -1
  1386. package/build-module/components/rich-text/toolbar-button.js +6 -7
  1387. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1388. package/build-module/components/rich-text/use-before-input-rules.js +1 -4
  1389. package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
  1390. package/build-module/components/rich-text/use-enter.js +3 -6
  1391. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1392. package/build-module/components/rich-text/use-firefox-compat.js +29 -1
  1393. package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
  1394. package/build-module/components/rich-text/use-format-types.js +11 -17
  1395. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1396. package/build-module/components/rich-text/use-input-rules.js +9 -15
  1397. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1398. package/build-module/components/rich-text/use-mark-persistent.js +4 -5
  1399. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1400. package/build-module/components/rich-text/use-paste-handler.js +5 -7
  1401. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1402. package/build-module/components/rich-text/utils.js +5 -7
  1403. package/build-module/components/rich-text/utils.js.map +1 -1
  1404. package/build-module/components/skip-to-selected-block/index.js +3 -4
  1405. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1406. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +27 -0
  1407. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  1408. package/build-module/components/spacing-sizes-control/index.js +62 -63
  1409. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1410. package/build-module/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  1411. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  1412. package/build-module/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +21 -21
  1413. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  1414. package/build-module/components/spacing-sizes-control/input-controls/single.js +40 -0
  1415. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  1416. package/build-module/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +53 -70
  1417. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  1418. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +73 -0
  1419. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  1420. package/build-module/components/spacing-sizes-control/utils.js +196 -25
  1421. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1422. package/build-module/components/text-decoration-control/index.js +5 -6
  1423. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1424. package/build-module/components/text-transform-control/index.js +5 -6
  1425. package/build-module/components/text-transform-control/index.js.map +1 -1
  1426. package/build-module/components/tool-selector/index.js +13 -16
  1427. package/build-module/components/tool-selector/index.js.map +1 -1
  1428. package/build-module/components/typewriter/index.js +6 -9
  1429. package/build-module/components/typewriter/index.js.map +1 -1
  1430. package/build-module/components/ungroup-button/index.native.js +11 -14
  1431. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1432. package/build-module/components/unit-control/index.js +4 -5
  1433. package/build-module/components/unit-control/index.js.map +1 -1
  1434. package/build-module/components/url-input/index.js +15 -23
  1435. package/build-module/components/url-input/index.js.map +1 -1
  1436. package/build-module/components/url-input/index.native.js +6 -8
  1437. package/build-module/components/url-input/index.native.js.map +1 -1
  1438. package/build-module/components/url-popover/image-url-input-ui.js +12 -15
  1439. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1440. package/build-module/components/url-popover/index.js +12 -14
  1441. package/build-module/components/url-popover/index.js.map +1 -1
  1442. package/build-module/components/url-popover/link-editor.js +7 -8
  1443. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1444. package/build-module/components/url-popover/link-viewer-url.js +5 -6
  1445. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1446. package/build-module/components/url-popover/link-viewer.js +8 -9
  1447. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1448. package/build-module/components/use-block-display-information/index.js +2 -2
  1449. package/build-module/components/use-block-display-information/index.js.map +1 -1
  1450. package/build-module/components/use-block-drop-zone/index.js +41 -39
  1451. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1452. package/build-module/components/use-block-drop-zone/index.native.js +8 -11
  1453. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  1454. package/build-module/components/use-moving-animation/index.js +9 -12
  1455. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1456. package/build-module/components/use-on-block-drop/index.js +2 -6
  1457. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1458. package/build-module/components/use-on-block-drop/index.native.js +8 -10
  1459. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  1460. package/build-module/components/use-paste-styles/index.js +2 -6
  1461. package/build-module/components/use-paste-styles/index.js.map +1 -1
  1462. package/build-module/components/use-resize-canvas/index.js +8 -1
  1463. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  1464. package/build-module/components/warning/index.js +6 -7
  1465. package/build-module/components/warning/index.js.map +1 -1
  1466. package/build-module/components/warning/index.native.js +9 -10
  1467. package/build-module/components/warning/index.native.js.map +1 -1
  1468. package/build-module/components/writing-flow/index.js +4 -5
  1469. package/build-module/components/writing-flow/index.js.map +1 -1
  1470. package/build-module/components/writing-flow/use-arrow-nav.js +13 -7
  1471. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  1472. package/build-module/components/writing-flow/use-drag-selection.js +4 -6
  1473. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  1474. package/build-module/components/writing-flow/use-tab-nav.js +9 -6
  1475. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1476. package/build-module/hooks/align.js +11 -21
  1477. package/build-module/hooks/align.js.map +1 -1
  1478. package/build-module/hooks/anchor.js +5 -3
  1479. package/build-module/hooks/anchor.js.map +1 -1
  1480. package/build-module/hooks/aria-label.js +1 -3
  1481. package/build-module/hooks/aria-label.js.map +1 -1
  1482. package/build-module/hooks/behaviors.js +129 -0
  1483. package/build-module/hooks/behaviors.js.map +1 -0
  1484. package/build-module/hooks/border.js +25 -38
  1485. package/build-module/hooks/border.js.map +1 -1
  1486. package/build-module/hooks/color.js +22 -37
  1487. package/build-module/hooks/color.js.map +1 -1
  1488. package/build-module/hooks/content-lock-ui.js +23 -27
  1489. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1490. package/build-module/hooks/contrast-checker.js +4 -7
  1491. package/build-module/hooks/contrast-checker.js.map +1 -1
  1492. package/build-module/hooks/custom-class-name.js +4 -4
  1493. package/build-module/hooks/custom-class-name.js.map +1 -1
  1494. package/build-module/hooks/dimensions.js +6 -37
  1495. package/build-module/hooks/dimensions.js.map +1 -1
  1496. package/build-module/hooks/duotone.js +35 -50
  1497. package/build-module/hooks/duotone.js.map +1 -1
  1498. package/build-module/hooks/font-family.js +5 -6
  1499. package/build-module/hooks/font-family.js.map +1 -1
  1500. package/build-module/hooks/font-size.js +14 -21
  1501. package/build-module/hooks/font-size.js.map +1 -1
  1502. package/build-module/hooks/gap.js +5 -6
  1503. package/build-module/hooks/gap.js.map +1 -1
  1504. package/build-module/hooks/index.js +1 -0
  1505. package/build-module/hooks/index.js.map +1 -1
  1506. package/build-module/hooks/layout.js +49 -68
  1507. package/build-module/hooks/layout.js.map +1 -1
  1508. package/build-module/hooks/line-height.js +5 -8
  1509. package/build-module/hooks/line-height.js.map +1 -1
  1510. package/build-module/hooks/lock.js +2 -2
  1511. package/build-module/hooks/lock.js.map +1 -1
  1512. package/build-module/hooks/margin.js +6 -9
  1513. package/build-module/hooks/margin.js.map +1 -1
  1514. package/build-module/hooks/metadata-name.js +4 -5
  1515. package/build-module/hooks/metadata-name.js.map +1 -1
  1516. package/build-module/hooks/metadata.js +3 -7
  1517. package/build-module/hooks/metadata.js.map +1 -1
  1518. package/build-module/hooks/padding.js +6 -9
  1519. package/build-module/hooks/padding.js.map +1 -1
  1520. package/build-module/hooks/position.js +26 -40
  1521. package/build-module/hooks/position.js.map +1 -1
  1522. package/build-module/hooks/settings.js +1 -3
  1523. package/build-module/hooks/settings.js.map +1 -1
  1524. package/build-module/hooks/style.js +11 -19
  1525. package/build-module/hooks/style.js.map +1 -1
  1526. package/build-module/hooks/supports.js +3 -5
  1527. package/build-module/hooks/supports.js.map +1 -1
  1528. package/build-module/hooks/typography.js +18 -27
  1529. package/build-module/hooks/typography.js.map +1 -1
  1530. package/build-module/hooks/typography.native.js +1 -2
  1531. package/build-module/hooks/typography.native.js.map +1 -1
  1532. package/build-module/hooks/use-border-props.js +1 -3
  1533. package/build-module/hooks/use-border-props.js.map +1 -1
  1534. package/build-module/hooks/use-color-props.js +6 -8
  1535. package/build-module/hooks/use-color-props.js.map +1 -1
  1536. package/build-module/hooks/use-editor-wrapper-styles.native.js +34 -39
  1537. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  1538. package/build-module/hooks/use-spacing-props.js +1 -1
  1539. package/build-module/hooks/use-spacing-props.js.map +1 -1
  1540. package/build-module/hooks/use-typography-props.js +8 -12
  1541. package/build-module/hooks/use-typography-props.js.map +1 -1
  1542. package/build-module/hooks/utils.js +7 -19
  1543. package/build-module/hooks/utils.js.map +1 -1
  1544. package/build-module/layouts/constrained.js +22 -27
  1545. package/build-module/layouts/constrained.js.map +1 -1
  1546. package/build-module/layouts/flex.js +43 -54
  1547. package/build-module/layouts/flex.js.map +1 -1
  1548. package/build-module/layouts/flow.js +10 -13
  1549. package/build-module/layouts/flow.js.map +1 -1
  1550. package/build-module/layouts/grid.js +45 -25
  1551. package/build-module/layouts/grid.js.map +1 -1
  1552. package/build-module/layouts/index.js +1 -2
  1553. package/build-module/layouts/index.js.map +1 -1
  1554. package/build-module/layouts/utils.js +3 -9
  1555. package/build-module/layouts/utils.js.map +1 -1
  1556. package/build-module/private-apis.js +3 -5
  1557. package/build-module/private-apis.js.map +1 -1
  1558. package/build-module/store/actions.js +253 -336
  1559. package/build-module/store/actions.js.map +1 -1
  1560. package/build-module/store/array.js +1 -2
  1561. package/build-module/store/array.js.map +1 -1
  1562. package/build-module/store/private-actions.js +40 -2
  1563. package/build-module/store/private-actions.js.map +1 -1
  1564. package/build-module/store/private-selectors.js +97 -3
  1565. package/build-module/store/private-selectors.js.map +1 -1
  1566. package/build-module/store/reducer.js +97 -166
  1567. package/build-module/store/reducer.js.map +1 -1
  1568. package/build-module/store/selectors.js +168 -230
  1569. package/build-module/store/selectors.js.map +1 -1
  1570. package/build-module/utils/block-variation-transforms.js +4 -7
  1571. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1572. package/build-module/utils/math.js +1 -2
  1573. package/build-module/utils/math.js.map +1 -1
  1574. package/build-module/utils/object.js +1 -4
  1575. package/build-module/utils/object.js.map +1 -1
  1576. package/build-module/utils/order-inserter-block-items.js +30 -0
  1577. package/build-module/utils/order-inserter-block-items.js.map +1 -0
  1578. package/build-module/utils/parse-css-unit-to-px.js +3 -6
  1579. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1580. package/build-module/utils/pasting.js +5 -8
  1581. package/build-module/utils/pasting.js.map +1 -1
  1582. package/build-module/utils/pre-parse-patterns.js +1 -1
  1583. package/build-module/utils/pre-parse-patterns.js.map +1 -1
  1584. package/build-module/utils/sorting.js +1 -2
  1585. package/build-module/utils/sorting.js.map +1 -1
  1586. package/build-module/utils/transform-styles/index.js +5 -7
  1587. package/build-module/utils/transform-styles/index.js.map +1 -1
  1588. package/build-module/utils/transform-styles/transforms/wrap.js +25 -28
  1589. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1590. package/build-style/content-rtl.css +33 -17
  1591. package/build-style/content.css +33 -17
  1592. package/build-style/default-editor-styles-rtl.css +1 -1
  1593. package/build-style/default-editor-styles.css +1 -1
  1594. package/build-style/style-rtl.css +46 -157
  1595. package/build-style/style.css +47 -157
  1596. package/package.json +32 -31
  1597. package/src/autocompleters/block.js +15 -7
  1598. package/src/components/block-breadcrumb/index.js +11 -3
  1599. package/src/components/block-controls/fill.js +15 -17
  1600. package/src/components/block-controls/slot.js +21 -18
  1601. package/src/components/block-controls/slot.native.js +3 -8
  1602. package/src/components/block-draggable/index.js +2 -1
  1603. package/src/components/block-edit/test/edit.js +1 -1
  1604. package/src/components/block-editing-mode/index.js +71 -0
  1605. package/src/components/block-inspector/index.js +1 -0
  1606. package/src/components/block-list/block-list-block-context.js +6 -0
  1607. package/src/components/block-list/block.js +38 -56
  1608. package/src/components/block-list/block.native.js +30 -41
  1609. package/src/components/block-list/content.scss +8 -12
  1610. package/src/components/block-list/index.native.js +164 -153
  1611. package/src/components/block-list/test/index.native.js +2 -2
  1612. package/src/components/block-list/use-block-props/index.js +7 -2
  1613. package/src/components/block-list/use-in-between-inserter.js +7 -3
  1614. package/src/components/block-list-appender/index.js +26 -5
  1615. package/src/components/block-lock/toolbar.js +2 -8
  1616. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +23 -0
  1617. package/src/components/block-mover/style.scss +1 -0
  1618. package/src/components/block-settings-menu/block-settings-dropdown.js +81 -41
  1619. package/src/components/block-styles/preview-panel.js +1 -3
  1620. package/src/components/block-switcher/block-transformations-menu.js +12 -0
  1621. package/src/components/block-switcher/block-variation-transformations.js +115 -0
  1622. package/src/components/block-switcher/index.js +38 -5
  1623. package/src/components/block-switcher/pattern-transformations-menu.js +5 -5
  1624. package/src/components/block-switcher/style.scss +6 -5
  1625. package/src/components/block-toolbar/index.js +10 -11
  1626. package/src/components/block-tools/block-contextual-toolbar.js +4 -5
  1627. package/src/components/block-tools/insertion-point.js +23 -9
  1628. package/src/components/block-tools/selected-block-popover.js +6 -0
  1629. package/src/components/button-block-appender/content.scss +22 -0
  1630. package/src/components/color-palette/test/__snapshots__/control.js.snap +66 -50
  1631. package/src/components/color-palette/with-color-context.js +2 -6
  1632. package/src/components/colors-gradients/control.js +3 -3
  1633. package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -5
  1634. package/src/components/convert-to-group-buttons/index.js +9 -2
  1635. package/src/components/convert-to-group-buttons/index.native.js +79 -1
  1636. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +32 -38
  1637. package/src/components/global-styles/dimensions-panel.js +17 -7
  1638. package/src/components/global-styles/get-block-css-selector.js +2 -2
  1639. package/src/components/global-styles/style.scss +3 -0
  1640. package/src/components/global-styles/test/typography-utils.js +139 -1
  1641. package/src/components/global-styles/typography-utils.js +53 -28
  1642. package/src/components/global-styles/use-global-styles-output.js +18 -8
  1643. package/src/components/global-styles/utils.js +9 -3
  1644. package/src/components/iframe/index.js +61 -73
  1645. package/src/components/iframe/use-compatibility-styles.js +34 -18
  1646. package/src/components/inner-blocks/README.md +5 -0
  1647. package/src/components/inner-blocks/index.js +2 -0
  1648. package/src/components/inner-blocks/index.native.js +16 -6
  1649. package/src/components/inner-blocks/use-nested-settings-update.js +20 -3
  1650. package/src/components/inserter/index.js +1 -9
  1651. package/src/components/inserter/quick-inserter.js +0 -2
  1652. package/src/components/inserter/search-results.js +32 -6
  1653. package/src/components/inspector-controls/README.md +1 -1
  1654. package/src/components/inspector-controls/fill.js +2 -6
  1655. package/src/components/inspector-controls-tabs/index.js +0 -1
  1656. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -1
  1657. package/src/components/link-control/index.js +71 -33
  1658. package/src/components/link-control/is-url-like.js +40 -3
  1659. package/src/components/link-control/search-results.js +4 -14
  1660. package/src/components/link-control/settings-drawer.js +2 -37
  1661. package/src/components/link-control/settings.js +2 -2
  1662. package/src/components/link-control/style.scss +5 -6
  1663. package/src/components/link-control/test/index.js +169 -61
  1664. package/src/components/link-control/test/is-url-like.js +66 -0
  1665. package/src/components/link-control/use-internal-value.js +60 -0
  1666. package/src/components/link-control/use-search-handler.js +10 -27
  1667. package/src/components/list-view/appender.js +6 -7
  1668. package/src/components/list-view/aria-referenced-text.js +30 -0
  1669. package/src/components/list-view/block-contents.js +10 -3
  1670. package/src/components/list-view/block-select-button.js +59 -1
  1671. package/src/components/list-view/block.js +69 -45
  1672. package/src/components/list-view/branch.js +1 -7
  1673. package/src/components/list-view/index.js +45 -22
  1674. package/src/components/list-view/style.scss +2 -10
  1675. package/src/components/list-view/test/use-list-view-drop-zone.js +38 -1
  1676. package/src/components/list-view/use-block-selection.js +2 -2
  1677. package/src/components/list-view/use-list-view-client-ids.js +21 -4
  1678. package/src/components/list-view/use-list-view-drop-zone.js +22 -4
  1679. package/src/components/media-replace-flow/test/index.js +1 -1
  1680. package/src/components/navigable-toolbar/index.js +7 -5
  1681. package/src/components/publish-date-time-picker/index.js +0 -2
  1682. package/src/components/rich-text/index.js +1 -1
  1683. package/src/components/rich-text/use-firefox-compat.js +27 -1
  1684. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +26 -0
  1685. package/src/components/spacing-sizes-control/index.js +85 -71
  1686. package/src/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +14 -13
  1687. package/src/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +15 -14
  1688. package/src/components/spacing-sizes-control/input-controls/single.js +40 -0
  1689. package/src/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +55 -80
  1690. package/src/components/spacing-sizes-control/sides-dropdown/index.js +91 -0
  1691. package/src/components/spacing-sizes-control/style.scss +28 -100
  1692. package/src/components/spacing-sizes-control/test/utils.js +233 -4
  1693. package/src/components/spacing-sizes-control/utils.js +203 -20
  1694. package/src/components/ungroup-button/index.native.js +2 -2
  1695. package/src/components/url-input/README.md +6 -0
  1696. package/src/components/url-input/index.js +1 -0
  1697. package/src/components/use-block-drop-zone/index.js +31 -17
  1698. package/src/components/use-resize-canvas/index.js +9 -1
  1699. package/src/components/writing-flow/test/index.js +15 -0
  1700. package/src/components/writing-flow/use-arrow-nav.js +17 -4
  1701. package/src/components/writing-flow/use-tab-nav.js +14 -3
  1702. package/src/hooks/align.js +3 -11
  1703. package/src/hooks/anchor.js +3 -1
  1704. package/src/hooks/behaviors.js +160 -0
  1705. package/src/hooks/custom-class-name.js +23 -19
  1706. package/src/hooks/dimensions.js +0 -40
  1707. package/src/hooks/duotone.js +3 -11
  1708. package/src/hooks/index.js +1 -0
  1709. package/src/hooks/layout.js +14 -19
  1710. package/src/hooks/style.js +3 -1
  1711. package/src/hooks/utils.js +8 -7
  1712. package/src/layouts/grid.js +29 -3
  1713. package/src/private-apis.js +2 -4
  1714. package/src/store/private-actions.js +39 -0
  1715. package/src/store/private-selectors.js +117 -0
  1716. package/src/store/reducer.js +33 -8
  1717. package/src/store/selectors.js +56 -35
  1718. package/src/store/test/private-actions.js +32 -1
  1719. package/src/store/test/private-selectors.js +333 -0
  1720. package/src/store/test/reducer.js +48 -7
  1721. package/src/store/test/selectors.js +99 -0
  1722. package/src/style.scss +0 -3
  1723. package/src/utils/order-inserter-block-items.js +26 -0
  1724. package/build/components/block-list/block-list-compact.native.js +0 -75
  1725. package/build/components/block-list/block-list-compact.native.js.map +0 -1
  1726. package/build/components/link-control/use-internal-input-value.js +0 -27
  1727. package/build/components/link-control/use-internal-input-value.js.map +0 -1
  1728. package/build/components/off-canvas-editor/appender.js +0 -125
  1729. package/build/components/off-canvas-editor/appender.js.map +0 -1
  1730. package/build/components/off-canvas-editor/block-contents.js +0 -141
  1731. package/build/components/off-canvas-editor/block-contents.js.map +0 -1
  1732. package/build/components/off-canvas-editor/block-select-button.js +0 -126
  1733. package/build/components/off-canvas-editor/block-select-button.js.map +0 -1
  1734. package/build/components/off-canvas-editor/block.js +0 -297
  1735. package/build/components/off-canvas-editor/block.js.map +0 -1
  1736. package/build/components/off-canvas-editor/branch.js +0 -197
  1737. package/build/components/off-canvas-editor/branch.js.map +0 -1
  1738. package/build/components/off-canvas-editor/context.js +0 -19
  1739. package/build/components/off-canvas-editor/context.js.map +0 -1
  1740. package/build/components/off-canvas-editor/drop-indicator.js +0 -118
  1741. package/build/components/off-canvas-editor/drop-indicator.js.map +0 -1
  1742. package/build/components/off-canvas-editor/expander.js +0 -41
  1743. package/build/components/off-canvas-editor/expander.js.map +0 -1
  1744. package/build/components/off-canvas-editor/index.js +0 -236
  1745. package/build/components/off-canvas-editor/index.js.map +0 -1
  1746. package/build/components/off-canvas-editor/leaf-more-menu.js +0 -148
  1747. package/build/components/off-canvas-editor/leaf-more-menu.js.map +0 -1
  1748. package/build/components/off-canvas-editor/leaf.js +0 -60
  1749. package/build/components/off-canvas-editor/leaf.js.map +0 -1
  1750. package/build/components/off-canvas-editor/link-ui.js +0 -186
  1751. package/build/components/off-canvas-editor/link-ui.js.map +0 -1
  1752. package/build/components/off-canvas-editor/update-attributes.js +0 -108
  1753. package/build/components/off-canvas-editor/update-attributes.js.map +0 -1
  1754. package/build/components/off-canvas-editor/use-block-selection.js +0 -139
  1755. package/build/components/off-canvas-editor/use-block-selection.js.map +0 -1
  1756. package/build/components/off-canvas-editor/use-inserted-block.js +0 -58
  1757. package/build/components/off-canvas-editor/use-inserted-block.js.map +0 -1
  1758. package/build/components/off-canvas-editor/use-list-view-client-ids.js +0 -33
  1759. package/build/components/off-canvas-editor/use-list-view-client-ids.js.map +0 -1
  1760. package/build/components/off-canvas-editor/use-list-view-drop-zone.js +0 -235
  1761. package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +0 -1
  1762. package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js +0 -60
  1763. package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +0 -1
  1764. package/build/components/off-canvas-editor/utils.js +0 -60
  1765. package/build/components/off-canvas-editor/utils.js.map +0 -1
  1766. package/build/components/spacing-sizes-control/all-input-control.js +0 -57
  1767. package/build/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1768. package/build/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1769. package/build/components/spacing-sizes-control/input-controls.js.map +0 -1
  1770. package/build/components/spacing-sizes-control/linked-button.js +0 -37
  1771. package/build/components/spacing-sizes-control/linked-button.js.map +0 -1
  1772. package/build/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1773. package/build/components/ungroup-button/icon.js +0 -31
  1774. package/build/components/ungroup-button/icon.js.map +0 -1
  1775. package/build-module/components/block-list/block-list-compact.native.js +0 -60
  1776. package/build-module/components/block-list/block-list-compact.native.js.map +0 -1
  1777. package/build-module/components/link-control/use-internal-input-value.js +0 -19
  1778. package/build-module/components/link-control/use-internal-input-value.js.map +0 -1
  1779. package/build-module/components/off-canvas-editor/appender.js +0 -108
  1780. package/build-module/components/off-canvas-editor/appender.js.map +0 -1
  1781. package/build-module/components/off-canvas-editor/block-contents.js +0 -121
  1782. package/build-module/components/off-canvas-editor/block-contents.js.map +0 -1
  1783. package/build-module/components/off-canvas-editor/block-select-button.js +0 -107
  1784. package/build-module/components/off-canvas-editor/block-select-button.js.map +0 -1
  1785. package/build-module/components/off-canvas-editor/block.js +0 -273
  1786. package/build-module/components/off-canvas-editor/block.js.map +0 -1
  1787. package/build-module/components/off-canvas-editor/branch.js +0 -179
  1788. package/build-module/components/off-canvas-editor/branch.js.map +0 -1
  1789. package/build-module/components/off-canvas-editor/context.js +0 -7
  1790. package/build-module/components/off-canvas-editor/context.js.map +0 -1
  1791. package/build-module/components/off-canvas-editor/drop-indicator.js +0 -111
  1792. package/build-module/components/off-canvas-editor/drop-indicator.js.map +0 -1
  1793. package/build-module/components/off-canvas-editor/expander.js +0 -32
  1794. package/build-module/components/off-canvas-editor/expander.js.map +0 -1
  1795. package/build-module/components/off-canvas-editor/index.js +0 -213
  1796. package/build-module/components/off-canvas-editor/index.js.map +0 -1
  1797. package/build-module/components/off-canvas-editor/leaf-more-menu.js +0 -130
  1798. package/build-module/components/off-canvas-editor/leaf-more-menu.js.map +0 -1
  1799. package/build-module/components/off-canvas-editor/leaf.js +0 -45
  1800. package/build-module/components/off-canvas-editor/leaf.js.map +0 -1
  1801. package/build-module/components/off-canvas-editor/link-ui.js +0 -166
  1802. package/build-module/components/off-canvas-editor/link-ui.js.map +0 -1
  1803. package/build-module/components/off-canvas-editor/update-attributes.js +0 -97
  1804. package/build-module/components/off-canvas-editor/update-attributes.js.map +0 -1
  1805. package/build-module/components/off-canvas-editor/use-block-selection.js +0 -124
  1806. package/build-module/components/off-canvas-editor/use-block-selection.js.map +0 -1
  1807. package/build-module/components/off-canvas-editor/use-inserted-block.js +0 -47
  1808. package/build-module/components/off-canvas-editor/use-inserted-block.js.map +0 -1
  1809. package/build-module/components/off-canvas-editor/use-list-view-client-ids.js +0 -24
  1810. package/build-module/components/off-canvas-editor/use-list-view-client-ids.js.map +0 -1
  1811. package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +0 -220
  1812. package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +0 -1
  1813. package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js +0 -50
  1814. package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +0 -1
  1815. package/build-module/components/off-canvas-editor/utils.js +0 -44
  1816. package/build-module/components/off-canvas-editor/utils.js.map +0 -1
  1817. package/build-module/components/spacing-sizes-control/all-input-control.js +0 -45
  1818. package/build-module/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1819. package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1820. package/build-module/components/spacing-sizes-control/input-controls.js.map +0 -1
  1821. package/build-module/components/spacing-sizes-control/linked-button.js +0 -27
  1822. package/build-module/components/spacing-sizes-control/linked-button.js.map +0 -1
  1823. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1824. package/build-module/components/ungroup-button/icon.js +0 -22
  1825. package/build-module/components/ungroup-button/icon.js.map +0 -1
  1826. package/src/components/block-list/block-list-compact.native.js +0 -63
  1827. package/src/components/link-control/use-internal-input-value.js +0 -23
  1828. package/src/components/off-canvas-editor/README.md +0 -5
  1829. package/src/components/off-canvas-editor/appender.js +0 -124
  1830. package/src/components/off-canvas-editor/block-contents.js +0 -156
  1831. package/src/components/off-canvas-editor/block-select-button.js +0 -128
  1832. package/src/components/off-canvas-editor/block.js +0 -347
  1833. package/src/components/off-canvas-editor/branch.js +0 -238
  1834. package/src/components/off-canvas-editor/context.js +0 -8
  1835. package/src/components/off-canvas-editor/drop-indicator.js +0 -126
  1836. package/src/components/off-canvas-editor/expander.js +0 -26
  1837. package/src/components/off-canvas-editor/index.js +0 -271
  1838. package/src/components/off-canvas-editor/leaf-more-menu.js +0 -158
  1839. package/src/components/off-canvas-editor/leaf.js +0 -52
  1840. package/src/components/off-canvas-editor/link-ui.js +0 -167
  1841. package/src/components/off-canvas-editor/style.scss +0 -34
  1842. package/src/components/off-canvas-editor/test/use-inserted-block.js +0 -108
  1843. package/src/components/off-canvas-editor/test/utils.js +0 -50
  1844. package/src/components/off-canvas-editor/update-attributes.js +0 -99
  1845. package/src/components/off-canvas-editor/use-block-selection.js +0 -169
  1846. package/src/components/off-canvas-editor/use-inserted-block.js +0 -47
  1847. package/src/components/off-canvas-editor/use-list-view-client-ids.js +0 -29
  1848. package/src/components/off-canvas-editor/use-list-view-drop-zone.js +0 -260
  1849. package/src/components/off-canvas-editor/use-list-view-expand-selected-item.js +0 -58
  1850. package/src/components/off-canvas-editor/utils.js +0 -58
  1851. package/src/components/spacing-sizes-control/all-input-control.js +0 -44
  1852. package/src/components/spacing-sizes-control/linked-button.js +0 -24
  1853. package/src/components/ungroup-button/icon.js +0 -26
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-list-view-drop-zone.js"],"names":["NESTING_LEVEL_INDENTATION","isUpGesture","point","rect","nestingLevel","blockIndentPosition","left","x","getDesiredRelativeParentLevel","desiredParentLevel","Math","round","abs","getCandidateBlockParents","candidateBlockData","blocksData","candidateBlockParents","currentBlockData","push","find","blockData","clientId","rootClientId","getNextNonDraggedBlock","index","nextBlockData","isDraggedBlock","isNestingGesture","ALLOWED_DROP_EDGES","getListViewDropTarget","position","candidateEdge","candidateDistance","candidateRect","candidateBlockIndex","i","length","element","getBoundingClientRect","distance","edge","isCursorWithinBlock","undefined","indexOf","previousBlockData","isDraggingBelow","nextBlock","currentLevel","nextLevel","desiredRelativeLevel","targetParentIndex","max","min","newBlockIndex","blockIndex","dropPosition","canInsertDraggedBlocksAsChild","innerBlockCount","isExpanded","canInsertDraggedBlocksAsSibling","offset","useListViewDropZone","getBlockRootClientId","getBlockIndex","getBlockCount","getDraggedBlockClientIds","canInsertBlocks","blockEditorStore","target","setTarget","targetRootClientId","targetBlockIndex","onBlockDrop","draggedBlockClientIds","throttled","event","currentTarget","clientX","y","clientY","isBlockDrag","blockElements","Array","from","querySelectorAll","map","blockElement","dataset","block","expanded","parseInt","getAttribute","includes","newTarget","ref","onDrop","onDragOver","onDragEnd","cancel"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetDistanceToNearestEdge,\n\tisPointContainedByRect,\n} from '../../utils/math';\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The type of a drag event.\n *\n * @typedef {'default'|'file'|'html'} WPDragEventType\n */\n\n/**\n * An object representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {Object} WPListViewDropZoneBlock\n * @property {string} clientId The client id for the block.\n * @property {string} rootClientId The root client id for the block.\n * @property {number} blockIndex The block's index.\n * @property {Element} element The DOM element representing the block.\n * @property {number} innerBlockCount The number of inner blocks the block has.\n * @property {boolean} isDraggedBlock Whether the block is currently being dragged.\n * @property {boolean} isExpanded Whether the block is expanded in the UI.\n * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block.\n * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block.\n */\n\n/**\n * An array representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks\n */\n\n/**\n * An object containing details of a drop target.\n *\n * @typedef {Object} WPListViewDropZoneTarget\n * @property {string} blockIndex The insertion index.\n * @property {string} rootClientId The root client id for the block.\n * @property {string|undefined} clientId The client id for the block.\n * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to.\n * 'inside' refers to nesting as an inner block.\n */\n\n// When the indentation level, the corresponding left margin in `style.scss`\n// must be updated as well to ensure the drop zone is aligned with the indentation.\nexport const NESTING_LEVEL_INDENTATION = 28;\n\n/**\n * Determines whether the user is positioning the dragged block to be\n * moved up to a parent level.\n *\n * Determined based on nesting level indentation of the current block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @return {boolean} Whether the gesture is an upward gesture.\n */\nfunction isUpGesture( point, rect, nestingLevel = 1 ) {\n\t// If the block is nested, and the user is dragging to the bottom\n\t// left of the block, then it is an upward gesture.\n\tconst blockIndentPosition =\n\t\trect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn point.x < blockIndentPosition;\n}\n\n/**\n * Returns how many nesting levels up the user is attempting to drag to.\n *\n * The relative parent level is calculated based on how far\n * the cursor is from the provided nesting level (e.g. of a candidate block\n * that the user is hovering over). The nesting level is considered \"desired\"\n * because it is not guaranteed that the user will be able to drag to the desired level.\n *\n * The returned integer can be used to access an ascending array\n * of parent blocks, where the first item is the block the user\n * is hovering over, and the last item is the root block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @return {number} The desired relative parent level.\n */\nfunction getDesiredRelativeParentLevel( point, rect, nestingLevel = 1 ) {\n\tconst blockIndentPosition =\n\t\trect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\tconst desiredParentLevel = Math.round(\n\t\t( point.x - blockIndentPosition ) / NESTING_LEVEL_INDENTATION\n\t);\n\treturn Math.abs( desiredParentLevel );\n}\n\n/**\n * Returns an array of the parent blocks of the block the user is dropping to.\n *\n * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to.\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to.\n */\nfunction getCandidateBlockParents( candidateBlockData, blocksData ) {\n\tconst candidateBlockParents = [];\n\tlet currentBlockData = candidateBlockData;\n\n\twhile ( currentBlockData ) {\n\t\tcandidateBlockParents.push( { ...currentBlockData } );\n\t\tcurrentBlockData = blocksData.find(\n\t\t\t( blockData ) =>\n\t\t\t\tblockData.clientId === currentBlockData.rootClientId\n\t\t);\n\t}\n\n\treturn candidateBlockParents;\n}\n\n/**\n * Given a list of blocks data and a block index, return the next non-dragged\n * block. This is used to determine the block that the user is dropping to,\n * while ignoring the dragged block.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {number} index The index to begin searching from.\n * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block.\n */\nfunction getNextNonDraggedBlock( blocksData, index ) {\n\tconst nextBlockData = blocksData[ index + 1 ];\n\tif ( nextBlockData && nextBlockData.isDraggedBlock ) {\n\t\treturn getNextNonDraggedBlock( blocksData, index + 1 );\n\t}\n\n\treturn nextBlockData;\n}\n\n/**\n * Determines whether the user positioning the dragged block to nest as an\n * inner block.\n *\n * Determined based on nesting level indentation of the current block, plus\n * the indentation of the next level of nesting.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n */\nfunction isNestingGesture( point, rect, nestingLevel = 1 ) {\n\tconst blockIndentPosition =\n\t\trect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn point.x > blockIndentPosition + NESTING_LEVEL_INDENTATION;\n}\n\n// Block navigation is always a vertical list, so only allow dropping\n// to the above or below a block.\nconst ALLOWED_DROP_EDGES = [ 'top', 'bottom' ];\n\n/**\n * Given blocks data and the cursor position, compute the drop target.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {WPPoint} position The point representing the cursor position when dragging.\n *\n * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target.\n */\nexport function getListViewDropTarget( blocksData, position ) {\n\tlet candidateEdge;\n\tlet candidateBlockData;\n\tlet candidateDistance;\n\tlet candidateRect;\n\tlet candidateBlockIndex;\n\n\tfor ( let i = 0; i < blocksData.length; i++ ) {\n\t\tconst blockData = blocksData[ i ];\n\t\tif ( blockData.isDraggedBlock ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst rect = blockData.element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tALLOWED_DROP_EDGES\n\t\t);\n\n\t\tconst isCursorWithinBlock = isPointContainedByRect( position, rect );\n\t\tif (\n\t\t\tcandidateDistance === undefined ||\n\t\t\tdistance < candidateDistance ||\n\t\t\tisCursorWithinBlock\n\t\t) {\n\t\t\tcandidateDistance = distance;\n\n\t\t\tconst index = blocksData.indexOf( blockData );\n\t\t\tconst previousBlockData = blocksData[ index - 1 ];\n\n\t\t\t// If dragging near the top of a block and the preceding block\n\t\t\t// is at the same level, use the preceding block as the candidate\n\t\t\t// instead, as later it makes determining a nesting drop easier.\n\t\t\tif (\n\t\t\t\tedge === 'top' &&\n\t\t\t\tpreviousBlockData &&\n\t\t\t\tpreviousBlockData.rootClientId === blockData.rootClientId &&\n\t\t\t\t! previousBlockData.isDraggedBlock\n\t\t\t) {\n\t\t\t\tcandidateBlockData = previousBlockData;\n\t\t\t\tcandidateEdge = 'bottom';\n\t\t\t\tcandidateRect =\n\t\t\t\t\tpreviousBlockData.element.getBoundingClientRect();\n\t\t\t\tcandidateBlockIndex = index - 1;\n\t\t\t} else {\n\t\t\t\tcandidateBlockData = blockData;\n\t\t\t\tcandidateEdge = edge;\n\t\t\t\tcandidateRect = rect;\n\t\t\t\tcandidateBlockIndex = index;\n\t\t\t}\n\n\t\t\t// If the mouse position is within the block, break early\n\t\t\t// as the user would intend to drop either before or after\n\t\t\t// this block.\n\t\t\t//\n\t\t\t// This solves an issue where some rows in the list view\n\t\t\t// tree overlap slightly due to sub-pixel rendering.\n\t\t\tif ( isCursorWithinBlock ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( ! candidateBlockData ) {\n\t\treturn;\n\t}\n\n\tconst candidateBlockParents = getCandidateBlockParents(\n\t\tcandidateBlockData,\n\t\tblocksData\n\t);\n\n\tconst isDraggingBelow = candidateEdge === 'bottom';\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to move the block to be at a parent level.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.rootClientId &&\n\t\tisUpGesture( position, candidateRect, candidateBlockParents.length )\n\t) {\n\t\tconst nextBlock = getNextNonDraggedBlock(\n\t\t\tblocksData,\n\t\t\tcandidateBlockIndex\n\t\t);\n\t\tconst currentLevel = candidateBlockData.nestingLevel;\n\t\tconst nextLevel = nextBlock ? nextBlock.nestingLevel : 1;\n\n\t\tif ( currentLevel && nextLevel ) {\n\t\t\t// Determine the desired relative level of the block to be dropped.\n\t\t\tconst desiredRelativeLevel = getDesiredRelativeParentLevel(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length\n\t\t\t);\n\n\t\t\tconst targetParentIndex = Math.max(\n\t\t\t\tMath.min( desiredRelativeLevel, currentLevel - nextLevel ),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tif ( candidateBlockParents[ targetParentIndex ] ) {\n\t\t\t\t// Default to the block index of the candidate block.\n\t\t\t\tlet newBlockIndex = candidateBlockData.blockIndex;\n\n\t\t\t\t// If the next block is at the same level, use that as the default\n\t\t\t\t// block index. This ensures that the block is dropped in the correct\n\t\t\t\t// position when dragging to the bottom of a block.\n\t\t\t\tif (\n\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].nestingLevel ===\n\t\t\t\t\tnextBlock?.nestingLevel\n\t\t\t\t) {\n\t\t\t\t\tnewBlockIndex = nextBlock?.blockIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// Otherwise, search from the current block index back\n\t\t\t\t\t// to find the last block index within the same target parent.\n\t\t\t\t\tfor ( let i = candidateBlockIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tconst blockData = blocksData[ i ];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tblockData.rootClientId ===\n\t\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ]\n\t\t\t\t\t\t\t\t.rootClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewBlockIndex = blockData.blockIndex + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\trootClientId:\n\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].rootClientId,\n\t\t\t\t\tclientId: candidateBlockData.clientId,\n\t\t\t\t\tblockIndex: newBlockIndex,\n\t\t\t\t\tdropPosition: candidateEdge,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to nest the block as a child.\n\t// If the block already has inner blocks, and is expanded, this should be treated\n\t// as nesting since the next block in the tree will be the first child.\n\t// However, if the block is collapsed, dragging beneath the block should\n\t// still be allowed, as the next visible block in the tree will be a sibling.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.canInsertDraggedBlocksAsChild &&\n\t\t( ( candidateBlockData.innerBlockCount > 0 &&\n\t\t\tcandidateBlockData.isExpanded ) ||\n\t\t\tisNestingGesture(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length\n\t\t\t) )\n\t) {\n\t\treturn {\n\t\t\trootClientId: candidateBlockData.clientId,\n\t\t\tblockIndex: 0,\n\t\t\tdropPosition: 'inside',\n\t\t};\n\t}\n\n\t// If dropping as a sibling, but block cannot be inserted in\n\t// this context, return early.\n\tif ( ! candidateBlockData.canInsertDraggedBlocksAsSibling ) {\n\t\treturn;\n\t}\n\n\tconst offset = isDraggingBelow ? 1 : 0;\n\treturn {\n\t\trootClientId: candidateBlockData.rootClientId,\n\t\tclientId: candidateBlockData.clientId,\n\t\tblockIndex: candidateBlockData.blockIndex + offset,\n\t\tdropPosition: candidateEdge,\n\t};\n}\n\n/**\n * A react hook for implementing a drop zone in list view.\n *\n * @return {WPListViewDropZoneTarget} The drop target.\n */\nexport default function useListViewDropZone() {\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockCount,\n\t\tgetDraggedBlockClientIds,\n\t\tcanInsertBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst [ target, setTarget ] = useState();\n\tconst { rootClientId: targetRootClientId, blockIndex: targetBlockIndex } =\n\t\ttarget || {};\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\n\tconst draggedBlockClientIds = getDraggedBlockClientIds();\n\tconst throttled = useThrottle(\n\t\tuseCallback(\n\t\t\t( event, currentTarget ) => {\n\t\t\t\tconst position = { x: event.clientX, y: event.clientY };\n\t\t\t\tconst isBlockDrag = !! draggedBlockClientIds?.length;\n\n\t\t\t\tconst blockElements = Array.from(\n\t\t\t\t\tcurrentTarget.querySelectorAll( '[data-block]' )\n\t\t\t\t);\n\n\t\t\t\tconst blocksData = blockElements.map( ( blockElement ) => {\n\t\t\t\t\tconst clientId = blockElement.dataset.block;\n\t\t\t\t\tconst isExpanded = blockElement.dataset.expanded === 'true';\n\n\t\t\t\t\t// Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`.\n\t\t\t\t\tconst nestingLevel = parseInt(\n\t\t\t\t\t\tblockElement.getAttribute( 'aria-level' ),\n\t\t\t\t\t\t10\n\t\t\t\t\t);\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tisExpanded,\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tblockIndex: getBlockIndex( clientId ),\n\t\t\t\t\t\telement: blockElement,\n\t\t\t\t\t\tnestingLevel: nestingLevel || undefined,\n\t\t\t\t\t\tisDraggedBlock: isBlockDrag\n\t\t\t\t\t\t\t? draggedBlockClientIds.includes( clientId )\n\t\t\t\t\t\t\t: false,\n\t\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t\tcanInsertDraggedBlocksAsSibling: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks(\n\t\t\t\t\t\t\t\t\tdraggedBlockClientIds,\n\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t\tcanInsertDraggedBlocksAsChild: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks( draggedBlockClientIds, clientId )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\tconst newTarget = getListViewDropTarget( blocksData, position );\n\n\t\t\t\tif ( newTarget ) {\n\t\t\t\t\tsetTarget( newTarget );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ draggedBlockClientIds ]\n\t\t),\n\t\t200\n\t);\n\n\tconst ref = useDropZone( {\n\t\tonDrop: onBlockDrop,\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the thottled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\tsetTarget( null );\n\t\t},\n\t} );\n\n\treturn { ref, target };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-list-view-drop-zone.js"],"names":["NESTING_LEVEL_INDENTATION","isUpGesture","point","rect","nestingLevel","blockIndentPosition","left","x","getDesiredRelativeParentLevel","desiredParentLevel","Math","round","abs","getCandidateBlockParents","candidateBlockData","blocksData","candidateBlockParents","currentBlockData","push","find","blockData","clientId","rootClientId","getNextNonDraggedBlock","index","nextBlockData","isDraggedBlock","isNestingGesture","y","bottom","ALLOWED_DROP_EDGES","getListViewDropTarget","position","candidateEdge","candidateDistance","candidateRect","candidateBlockIndex","i","length","element","getBoundingClientRect","distance","edge","isCursorWithinBlock","undefined","indexOf","previousBlockData","isDraggingBelow","nextBlock","currentLevel","nextLevel","desiredRelativeLevel","targetParentIndex","max","min","newBlockIndex","blockIndex","dropPosition","canInsertDraggedBlocksAsChild","innerBlockCount","isExpanded","canInsertDraggedBlocksAsSibling","offset","useListViewDropZone","dropZoneElement","getBlockRootClientId","getBlockIndex","getBlockCount","getDraggedBlockClientIds","canInsertBlocks","blockEditorStore","target","setTarget","targetRootClientId","targetBlockIndex","onBlockDrop","draggedBlockClientIds","throttled","event","currentTarget","clientX","clientY","isBlockDrag","blockElements","Array","from","querySelectorAll","map","blockElement","dataset","block","expanded","parseInt","getAttribute","includes","newTarget","ref","onDrop","onDragLeave","cancel","onDragOver","onDragEnd"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetDistanceToNearestEdge,\n\tisPointContainedByRect,\n} from '../../utils/math';\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The type of a drag event.\n *\n * @typedef {'default'|'file'|'html'} WPDragEventType\n */\n\n/**\n * An object representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {Object} WPListViewDropZoneBlock\n * @property {string} clientId The client id for the block.\n * @property {string} rootClientId The root client id for the block.\n * @property {number} blockIndex The block's index.\n * @property {Element} element The DOM element representing the block.\n * @property {number} innerBlockCount The number of inner blocks the block has.\n * @property {boolean} isDraggedBlock Whether the block is currently being dragged.\n * @property {boolean} isExpanded Whether the block is expanded in the UI.\n * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block.\n * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block.\n */\n\n/**\n * An array representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks\n */\n\n/**\n * An object containing details of a drop target.\n *\n * @typedef {Object} WPListViewDropZoneTarget\n * @property {string} blockIndex The insertion index.\n * @property {string} rootClientId The root client id for the block.\n * @property {string|undefined} clientId The client id for the block.\n * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to.\n * 'inside' refers to nesting as an inner block.\n */\n\n// When the indentation level, the corresponding left margin in `style.scss`\n// must be updated as well to ensure the drop zone is aligned with the indentation.\nexport const NESTING_LEVEL_INDENTATION = 28;\n\n/**\n * Determines whether the user is positioning the dragged block to be\n * moved up to a parent level.\n *\n * Determined based on nesting level indentation of the current block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @return {boolean} Whether the gesture is an upward gesture.\n */\nfunction isUpGesture( point, rect, nestingLevel = 1 ) {\n\t// If the block is nested, and the user is dragging to the bottom\n\t// left of the block, then it is an upward gesture.\n\tconst blockIndentPosition =\n\t\trect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn point.x < blockIndentPosition;\n}\n\n/**\n * Returns how many nesting levels up the user is attempting to drag to.\n *\n * The relative parent level is calculated based on how far\n * the cursor is from the provided nesting level (e.g. of a candidate block\n * that the user is hovering over). The nesting level is considered \"desired\"\n * because it is not guaranteed that the user will be able to drag to the desired level.\n *\n * The returned integer can be used to access an ascending array\n * of parent blocks, where the first item is the block the user\n * is hovering over, and the last item is the root block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @return {number} The desired relative parent level.\n */\nfunction getDesiredRelativeParentLevel( point, rect, nestingLevel = 1 ) {\n\tconst blockIndentPosition =\n\t\trect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\tconst desiredParentLevel = Math.round(\n\t\t( point.x - blockIndentPosition ) / NESTING_LEVEL_INDENTATION\n\t);\n\treturn Math.abs( desiredParentLevel );\n}\n\n/**\n * Returns an array of the parent blocks of the block the user is dropping to.\n *\n * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to.\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to.\n */\nfunction getCandidateBlockParents( candidateBlockData, blocksData ) {\n\tconst candidateBlockParents = [];\n\tlet currentBlockData = candidateBlockData;\n\n\twhile ( currentBlockData ) {\n\t\tcandidateBlockParents.push( { ...currentBlockData } );\n\t\tcurrentBlockData = blocksData.find(\n\t\t\t( blockData ) =>\n\t\t\t\tblockData.clientId === currentBlockData.rootClientId\n\t\t);\n\t}\n\n\treturn candidateBlockParents;\n}\n\n/**\n * Given a list of blocks data and a block index, return the next non-dragged\n * block. This is used to determine the block that the user is dropping to,\n * while ignoring the dragged block.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {number} index The index to begin searching from.\n * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block.\n */\nfunction getNextNonDraggedBlock( blocksData, index ) {\n\tconst nextBlockData = blocksData[ index + 1 ];\n\tif ( nextBlockData && nextBlockData.isDraggedBlock ) {\n\t\treturn getNextNonDraggedBlock( blocksData, index + 1 );\n\t}\n\n\treturn nextBlockData;\n}\n\n/**\n * Determines whether the user positioning the dragged block to nest as an\n * inner block.\n *\n * Determined based on nesting level indentation of the current block, plus\n * the indentation of the next level of nesting. The vertical position of the\n * cursor must also be within the block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n */\nfunction isNestingGesture( point, rect, nestingLevel = 1 ) {\n\tconst blockIndentPosition =\n\t\trect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn (\n\t\tpoint.x > blockIndentPosition + NESTING_LEVEL_INDENTATION &&\n\t\tpoint.y < rect.bottom\n\t);\n}\n\n// Block navigation is always a vertical list, so only allow dropping\n// to the above or below a block.\nconst ALLOWED_DROP_EDGES = [ 'top', 'bottom' ];\n\n/**\n * Given blocks data and the cursor position, compute the drop target.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {WPPoint} position The point representing the cursor position when dragging.\n *\n * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target.\n */\nexport function getListViewDropTarget( blocksData, position ) {\n\tlet candidateEdge;\n\tlet candidateBlockData;\n\tlet candidateDistance;\n\tlet candidateRect;\n\tlet candidateBlockIndex;\n\n\tfor ( let i = 0; i < blocksData.length; i++ ) {\n\t\tconst blockData = blocksData[ i ];\n\t\tif ( blockData.isDraggedBlock ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst rect = blockData.element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tALLOWED_DROP_EDGES\n\t\t);\n\n\t\tconst isCursorWithinBlock = isPointContainedByRect( position, rect );\n\t\tif (\n\t\t\tcandidateDistance === undefined ||\n\t\t\tdistance < candidateDistance ||\n\t\t\tisCursorWithinBlock\n\t\t) {\n\t\t\tcandidateDistance = distance;\n\n\t\t\tconst index = blocksData.indexOf( blockData );\n\t\t\tconst previousBlockData = blocksData[ index - 1 ];\n\n\t\t\t// If dragging near the top of a block and the preceding block\n\t\t\t// is at the same level, use the preceding block as the candidate\n\t\t\t// instead, as later it makes determining a nesting drop easier.\n\t\t\tif (\n\t\t\t\tedge === 'top' &&\n\t\t\t\tpreviousBlockData &&\n\t\t\t\tpreviousBlockData.rootClientId === blockData.rootClientId &&\n\t\t\t\t! previousBlockData.isDraggedBlock\n\t\t\t) {\n\t\t\t\tcandidateBlockData = previousBlockData;\n\t\t\t\tcandidateEdge = 'bottom';\n\t\t\t\tcandidateRect =\n\t\t\t\t\tpreviousBlockData.element.getBoundingClientRect();\n\t\t\t\tcandidateBlockIndex = index - 1;\n\t\t\t} else {\n\t\t\t\tcandidateBlockData = blockData;\n\t\t\t\tcandidateEdge = edge;\n\t\t\t\tcandidateRect = rect;\n\t\t\t\tcandidateBlockIndex = index;\n\t\t\t}\n\n\t\t\t// If the mouse position is within the block, break early\n\t\t\t// as the user would intend to drop either before or after\n\t\t\t// this block.\n\t\t\t//\n\t\t\t// This solves an issue where some rows in the list view\n\t\t\t// tree overlap slightly due to sub-pixel rendering.\n\t\t\tif ( isCursorWithinBlock ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( ! candidateBlockData ) {\n\t\treturn;\n\t}\n\n\tconst candidateBlockParents = getCandidateBlockParents(\n\t\tcandidateBlockData,\n\t\tblocksData\n\t);\n\n\tconst isDraggingBelow = candidateEdge === 'bottom';\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to move the block to be at a parent level.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.rootClientId &&\n\t\tisUpGesture( position, candidateRect, candidateBlockParents.length )\n\t) {\n\t\tconst nextBlock = getNextNonDraggedBlock(\n\t\t\tblocksData,\n\t\t\tcandidateBlockIndex\n\t\t);\n\t\tconst currentLevel = candidateBlockData.nestingLevel;\n\t\tconst nextLevel = nextBlock ? nextBlock.nestingLevel : 1;\n\n\t\tif ( currentLevel && nextLevel ) {\n\t\t\t// Determine the desired relative level of the block to be dropped.\n\t\t\tconst desiredRelativeLevel = getDesiredRelativeParentLevel(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length\n\t\t\t);\n\n\t\t\tconst targetParentIndex = Math.max(\n\t\t\t\tMath.min( desiredRelativeLevel, currentLevel - nextLevel ),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tif ( candidateBlockParents[ targetParentIndex ] ) {\n\t\t\t\t// Default to the block index of the candidate block.\n\t\t\t\tlet newBlockIndex = candidateBlockData.blockIndex;\n\n\t\t\t\t// If the next block is at the same level, use that as the default\n\t\t\t\t// block index. This ensures that the block is dropped in the correct\n\t\t\t\t// position when dragging to the bottom of a block.\n\t\t\t\tif (\n\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].nestingLevel ===\n\t\t\t\t\tnextBlock?.nestingLevel\n\t\t\t\t) {\n\t\t\t\t\tnewBlockIndex = nextBlock?.blockIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// Otherwise, search from the current block index back\n\t\t\t\t\t// to find the last block index within the same target parent.\n\t\t\t\t\tfor ( let i = candidateBlockIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tconst blockData = blocksData[ i ];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tblockData.rootClientId ===\n\t\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ]\n\t\t\t\t\t\t\t\t.rootClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewBlockIndex = blockData.blockIndex + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\trootClientId:\n\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].rootClientId,\n\t\t\t\t\tclientId: candidateBlockData.clientId,\n\t\t\t\t\tblockIndex: newBlockIndex,\n\t\t\t\t\tdropPosition: candidateEdge,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to nest the block as a child.\n\t// If the block already has inner blocks, and is expanded, this should be treated\n\t// as nesting since the next block in the tree will be the first child.\n\t// However, if the block is collapsed, dragging beneath the block should\n\t// still be allowed, as the next visible block in the tree will be a sibling.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.canInsertDraggedBlocksAsChild &&\n\t\t( ( candidateBlockData.innerBlockCount > 0 &&\n\t\t\tcandidateBlockData.isExpanded ) ||\n\t\t\tisNestingGesture(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length\n\t\t\t) )\n\t) {\n\t\t// If the block is expanded, insert the block as the first child.\n\t\t// Otherwise, for collapsed blocks, insert the block as the last child.\n\t\tconst newBlockIndex = candidateBlockData.isExpanded\n\t\t\t? 0\n\t\t\t: candidateBlockData.innerBlockCount || 0;\n\n\t\treturn {\n\t\t\trootClientId: candidateBlockData.clientId,\n\t\t\tblockIndex: newBlockIndex,\n\t\t\tdropPosition: 'inside',\n\t\t};\n\t}\n\n\t// If dropping as a sibling, but block cannot be inserted in\n\t// this context, return early.\n\tif ( ! candidateBlockData.canInsertDraggedBlocksAsSibling ) {\n\t\treturn;\n\t}\n\n\tconst offset = isDraggingBelow ? 1 : 0;\n\treturn {\n\t\trootClientId: candidateBlockData.rootClientId,\n\t\tclientId: candidateBlockData.clientId,\n\t\tblockIndex: candidateBlockData.blockIndex + offset,\n\t\tdropPosition: candidateEdge,\n\t};\n}\n\n/**\n * A react hook for implementing a drop zone in list view.\n *\n * @param {Object} props Named parameters.\n * @param {?HTMLElement} [props.dropZoneElement] Optional element to be used as the drop zone.\n *\n * @return {WPListViewDropZoneTarget} The drop target.\n */\nexport default function useListViewDropZone( { dropZoneElement } ) {\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockCount,\n\t\tgetDraggedBlockClientIds,\n\t\tcanInsertBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst [ target, setTarget ] = useState();\n\tconst { rootClientId: targetRootClientId, blockIndex: targetBlockIndex } =\n\t\ttarget || {};\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\n\tconst draggedBlockClientIds = getDraggedBlockClientIds();\n\tconst throttled = useThrottle(\n\t\tuseCallback(\n\t\t\t( event, currentTarget ) => {\n\t\t\t\tconst position = { x: event.clientX, y: event.clientY };\n\t\t\t\tconst isBlockDrag = !! draggedBlockClientIds?.length;\n\n\t\t\t\tconst blockElements = Array.from(\n\t\t\t\t\tcurrentTarget.querySelectorAll( '[data-block]' )\n\t\t\t\t);\n\n\t\t\t\tconst blocksData = blockElements.map( ( blockElement ) => {\n\t\t\t\t\tconst clientId = blockElement.dataset.block;\n\t\t\t\t\tconst isExpanded = blockElement.dataset.expanded === 'true';\n\n\t\t\t\t\t// Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`.\n\t\t\t\t\tconst nestingLevel = parseInt(\n\t\t\t\t\t\tblockElement.getAttribute( 'aria-level' ),\n\t\t\t\t\t\t10\n\t\t\t\t\t);\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tisExpanded,\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tblockIndex: getBlockIndex( clientId ),\n\t\t\t\t\t\telement: blockElement,\n\t\t\t\t\t\tnestingLevel: nestingLevel || undefined,\n\t\t\t\t\t\tisDraggedBlock: isBlockDrag\n\t\t\t\t\t\t\t? draggedBlockClientIds.includes( clientId )\n\t\t\t\t\t\t\t: false,\n\t\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t\tcanInsertDraggedBlocksAsSibling: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks(\n\t\t\t\t\t\t\t\t\tdraggedBlockClientIds,\n\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t\tcanInsertDraggedBlocksAsChild: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks( draggedBlockClientIds, clientId )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\tconst newTarget = getListViewDropTarget( blocksData, position );\n\n\t\t\t\tif ( newTarget ) {\n\t\t\t\t\tsetTarget( newTarget );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ draggedBlockClientIds ]\n\t\t),\n\t\t200\n\t);\n\n\tconst ref = useDropZone( {\n\t\tdropZoneElement,\n\t\tonDrop: onBlockDrop,\n\t\tonDragLeave() {\n\t\t\tthrottled.cancel();\n\t\t\tsetTarget( null );\n\t\t},\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the thottled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\tsetTarget( null );\n\t\t},\n\t} );\n\n\treturn { ref, target };\n}\n"]}
@@ -18,11 +18,10 @@ var _store = require("../../store");
18
18
  /**
19
19
  * Internal dependencies
20
20
  */
21
- function useListViewExpandSelectedItem(_ref) {
22
- let {
23
- firstSelectedBlockClientId,
24
- setExpandedState
25
- } = _ref;
21
+ function useListViewExpandSelectedItem({
22
+ firstSelectedBlockClientId,
23
+ setExpandedState
24
+ }) {
26
25
  const [selectedTreeId, setSelectedTreeId] = (0, _element.useState)(null);
27
26
  const {
28
27
  selectedBlockParentClientIds
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-list-view-expand-selected-item.js"],"names":["useListViewExpandSelectedItem","firstSelectedBlockClientId","setExpandedState","selectedTreeId","setSelectedTreeId","selectedBlockParentClientIds","select","getBlockParents","blockEditorStore","parentClientIds","Array","isArray","length","type","clientIds"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGe,SAASA,6BAAT,OAGX;AAAA,MAHmD;AACtDC,IAAAA,0BADsD;AAEtDC,IAAAA;AAFsD,GAGnD;AACH,QAAM,CAAEC,cAAF,EAAkBC,iBAAlB,IAAwC,uBAAU,IAAV,CAA9C;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAmC,qBACtCC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEE,YAAF,CAAlC;AACA,WAAO;AACNH,MAAAA,4BAA4B,EAAEE,eAAe,CAC5CN,0BAD4C,EAE5C,KAF4C;AADvC,KAAP;AAMA,GATuC,EAUxC,CAAEA,0BAAF,CAVwC,CAAzC;AAaA,QAAMQ,eAAe,GACpBC,KAAK,CAACC,OAAN,CAAeN,4BAAf,KACAA,4BAA4B,CAACO,MAD7B,GAEGP,4BAFH,GAGG,IAJJ,CAfG,CAqBH;;AACA,0BAAW,MAAM;AAChB;AACA;AACA,QAAKF,cAAc,KAAKF,0BAAxB,EAAqD;AACpD;AACA,KALe,CAOhB;;;AACA,QAAKQ,eAAL,EAAuB;AACtB;AACA;AACAP,MAAAA,gBAAgB,CAAE;AACjBW,QAAAA,IAAI,EAAE,QADW;AAEjBC,QAAAA,SAAS,EAAET;AAFM,OAAF,CAAhB;AAIA;AACD,GAhBD,EAgBG,CAAEJ,0BAAF,CAhBH;AAkBA,SAAO;AACNG,IAAAA;AADM,GAAP;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useListViewExpandSelectedItem( {\n\tfirstSelectedBlockClientId,\n\tsetExpandedState,\n} ) {\n\tconst [ selectedTreeId, setSelectedTreeId ] = useState( null );\n\tconst { selectedBlockParentClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tselectedBlockParentClientIds: getBlockParents(\n\t\t\t\t\tfirstSelectedBlockClientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ firstSelectedBlockClientId ]\n\t);\n\n\tconst parentClientIds =\n\t\tArray.isArray( selectedBlockParentClientIds ) &&\n\t\tselectedBlockParentClientIds.length\n\t\t\t? selectedBlockParentClientIds\n\t\t\t: null;\n\n\t// Expand tree when a block is selected.\n\tuseEffect( () => {\n\t\t// If the selectedTreeId is the same as the selected block,\n\t\t// it means that the block was selected using the block list tree.\n\t\tif ( selectedTreeId === firstSelectedBlockClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If the selected block has parents, get the top-level parent.\n\t\tif ( parentClientIds ) {\n\t\t\t// If the selected block has parents,\n\t\t\t// expand the tree branch.\n\t\t\tsetExpandedState( {\n\t\t\t\ttype: 'expand',\n\t\t\t\tclientIds: selectedBlockParentClientIds,\n\t\t\t} );\n\t\t}\n\t}, [ firstSelectedBlockClientId ] );\n\n\treturn {\n\t\tsetSelectedTreeId,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-list-view-expand-selected-item.js"],"names":["useListViewExpandSelectedItem","firstSelectedBlockClientId","setExpandedState","selectedTreeId","setSelectedTreeId","selectedBlockParentClientIds","select","getBlockParents","blockEditorStore","parentClientIds","Array","isArray","length","type","clientIds"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGe,SAASA,6BAAT,CAAwC;AACtDC,EAAAA,0BADsD;AAEtDC,EAAAA;AAFsD,CAAxC,EAGX;AACH,QAAM,CAAEC,cAAF,EAAkBC,iBAAlB,IAAwC,uBAAU,IAAV,CAA9C;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAmC,qBACtCC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEE,YAAF,CAAlC;AACA,WAAO;AACNH,MAAAA,4BAA4B,EAAEE,eAAe,CAC5CN,0BAD4C,EAE5C,KAF4C;AADvC,KAAP;AAMA,GATuC,EAUxC,CAAEA,0BAAF,CAVwC,CAAzC;AAaA,QAAMQ,eAAe,GACpBC,KAAK,CAACC,OAAN,CAAeN,4BAAf,KACAA,4BAA4B,CAACO,MAD7B,GAEGP,4BAFH,GAGG,IAJJ,CAfG,CAqBH;;AACA,0BAAW,MAAM;AAChB;AACA;AACA,QAAKF,cAAc,KAAKF,0BAAxB,EAAqD;AACpD;AACA,KALe,CAOhB;;;AACA,QAAKQ,eAAL,EAAuB;AACtB;AACA;AACAP,MAAAA,gBAAgB,CAAE;AACjBW,QAAAA,IAAI,EAAE,QADW;AAEjBC,QAAAA,SAAS,EAAET;AAFM,OAAF,CAAhB;AAIA;AACD,GAhBD,EAgBG,CAAEJ,0BAAF,CAhBH;AAkBA,SAAO;AACNG,IAAAA;AADM,GAAP;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useListViewExpandSelectedItem( {\n\tfirstSelectedBlockClientId,\n\tsetExpandedState,\n} ) {\n\tconst [ selectedTreeId, setSelectedTreeId ] = useState( null );\n\tconst { selectedBlockParentClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tselectedBlockParentClientIds: getBlockParents(\n\t\t\t\t\tfirstSelectedBlockClientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ firstSelectedBlockClientId ]\n\t);\n\n\tconst parentClientIds =\n\t\tArray.isArray( selectedBlockParentClientIds ) &&\n\t\tselectedBlockParentClientIds.length\n\t\t\t? selectedBlockParentClientIds\n\t\t\t: null;\n\n\t// Expand tree when a block is selected.\n\tuseEffect( () => {\n\t\t// If the selectedTreeId is the same as the selected block,\n\t\t// it means that the block was selected using the block list tree.\n\t\tif ( selectedTreeId === firstSelectedBlockClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If the selected block has parents, get the top-level parent.\n\t\tif ( parentClientIds ) {\n\t\t\t// If the selected block has parents,\n\t\t\t// expand the tree branch.\n\t\t\tsetExpandedState( {\n\t\t\t\ttype: 'expand',\n\t\t\t\tclientIds: selectedBlockParentClientIds,\n\t\t\t} );\n\t\t}\n\t}, [ firstSelectedBlockClientId ] );\n\n\treturn {\n\t\tsetSelectedTreeId,\n\t};\n}\n"]}
@@ -12,12 +12,11 @@ var _element = require("@wordpress/element");
12
12
  /**
13
13
  * WordPress dependencies
14
14
  */
15
- function useListViewScrollIntoView(_ref) {
16
- let {
17
- isSelected,
18
- selectedClientIds,
19
- rowItemRef
20
- } = _ref;
15
+ function useListViewScrollIntoView({
16
+ isSelected,
17
+ selectedClientIds,
18
+ rowItemRef
19
+ }) {
21
20
  const isSingleSelection = selectedClientIds.length === 1;
22
21
  (0, _element.useLayoutEffect)(() => {
23
22
  // Skip scrolling into view if this particular block isn't selected,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-list-view-scroll-into-view.js"],"names":["useListViewScrollIntoView","isSelected","selectedClientIds","rowItemRef","isSingleSelection","length","current","scrollContainer","ownerDocument","windowScroll","body","documentElement","rowRect","getBoundingClientRect","scrollContainerRect","top","bottom","scrollIntoView"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,yBAAT,OAIX;AAAA,MAJ+C;AAClDC,IAAAA,UADkD;AAElDC,IAAAA,iBAFkD;AAGlDC,IAAAA;AAHkD,GAI/C;AACH,QAAMC,iBAAiB,GAAGF,iBAAiB,CAACG,MAAlB,KAA6B,CAAvD;AAEA,gCAAiB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA,QAAK,CAAEJ,UAAF,IAAgB,CAAEG,iBAAlB,IAAuC,CAAED,UAAU,CAACG,OAAzD,EAAmE;AAClE;AACA;;AAED,UAAMC,eAAe,GAAG,6BAAoBJ,UAAU,CAACG,OAA/B,CAAxB;AACA,UAAM;AAAEE,MAAAA;AAAF,QAAoBL,UAAU,CAACG,OAArC;AAEA,UAAMG,YAAY,GACjBF,eAAe,KAAKC,aAAa,CAACE,IAAlC,IACAH,eAAe,KAAKC,aAAa,CAACG,eAFnC,CAbsB,CAiBtB;AACA;;AACA,QAAKF,YAAY,IAAI,CAAEF,eAAvB,EAAyC;AACxC;AACA;;AAED,UAAMK,OAAO,GAAGT,UAAU,CAACG,OAAX,CAAmBO,qBAAnB,EAAhB;AACA,UAAMC,mBAAmB,GAAGP,eAAe,CAACM,qBAAhB,EAA5B,CAxBsB,CA0BtB;;AACA,QACCD,OAAO,CAACG,GAAR,GAAcD,mBAAmB,CAACC,GAAlC,IACAH,OAAO,CAACI,MAAR,GAAiBF,mBAAmB,CAACE,MAFtC,EAGE;AACDb,MAAAA,UAAU,CAACG,OAAX,CAAmBW,cAAnB;AACA;AACD,GAjCD,EAiCG,CAAEhB,UAAF,EAAcG,iBAAd,EAAiCD,UAAjC,CAjCH;AAkCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useLayoutEffect } from '@wordpress/element';\n\nexport default function useListViewScrollIntoView( {\n\tisSelected,\n\tselectedClientIds,\n\trowItemRef,\n} ) {\n\tconst isSingleSelection = selectedClientIds.length === 1;\n\n\tuseLayoutEffect( () => {\n\t\t// Skip scrolling into view if this particular block isn't selected,\n\t\t// or if more than one block is selected overall. This is to avoid\n\t\t// scrolling the view in a multi selection where the user has intentionally\n\t\t// selected multiple blocks within the list view, but the initially\n\t\t// selected block may be out of view.\n\t\tif ( ! isSelected || ! isSingleSelection || ! rowItemRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( rowItemRef.current );\n\t\tconst { ownerDocument } = rowItemRef.current;\n\n\t\tconst windowScroll =\n\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\t// If the there is no scroll container, of if the scroll container is the window,\n\t\t// do not scroll into view, as the block is already in view.\n\t\tif ( windowScroll || ! scrollContainer ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rowRect = rowItemRef.current.getBoundingClientRect();\n\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\n\t\t// If the selected block is not currently visible, scroll to it.\n\t\tif (\n\t\t\trowRect.top < scrollContainerRect.top ||\n\t\t\trowRect.bottom > scrollContainerRect.bottom\n\t\t) {\n\t\t\trowItemRef.current.scrollIntoView();\n\t\t}\n\t}, [ isSelected, isSingleSelection, rowItemRef ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-list-view-scroll-into-view.js"],"names":["useListViewScrollIntoView","isSelected","selectedClientIds","rowItemRef","isSingleSelection","length","current","scrollContainer","ownerDocument","windowScroll","body","documentElement","rowRect","getBoundingClientRect","scrollContainerRect","top","bottom","scrollIntoView"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,yBAAT,CAAoC;AAClDC,EAAAA,UADkD;AAElDC,EAAAA,iBAFkD;AAGlDC,EAAAA;AAHkD,CAApC,EAIX;AACH,QAAMC,iBAAiB,GAAGF,iBAAiB,CAACG,MAAlB,KAA6B,CAAvD;AAEA,gCAAiB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA,QAAK,CAAEJ,UAAF,IAAgB,CAAEG,iBAAlB,IAAuC,CAAED,UAAU,CAACG,OAAzD,EAAmE;AAClE;AACA;;AAED,UAAMC,eAAe,GAAG,6BAAoBJ,UAAU,CAACG,OAA/B,CAAxB;AACA,UAAM;AAAEE,MAAAA;AAAF,QAAoBL,UAAU,CAACG,OAArC;AAEA,UAAMG,YAAY,GACjBF,eAAe,KAAKC,aAAa,CAACE,IAAlC,IACAH,eAAe,KAAKC,aAAa,CAACG,eAFnC,CAbsB,CAiBtB;AACA;;AACA,QAAKF,YAAY,IAAI,CAAEF,eAAvB,EAAyC;AACxC;AACA;;AAED,UAAMK,OAAO,GAAGT,UAAU,CAACG,OAAX,CAAmBO,qBAAnB,EAAhB;AACA,UAAMC,mBAAmB,GAAGP,eAAe,CAACM,qBAAhB,EAA5B,CAxBsB,CA0BtB;;AACA,QACCD,OAAO,CAACG,GAAR,GAAcD,mBAAmB,CAACC,GAAlC,IACAH,OAAO,CAACI,MAAR,GAAiBF,mBAAmB,CAACE,MAFtC,EAGE;AACDb,MAAAA,UAAU,CAACG,OAAX,CAAmBW,cAAnB;AACA;AACD,GAjCD,EAiCG,CAAEhB,UAAF,EAAcG,iBAAd,EAAiCD,UAAjC,CAjCH;AAkCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useLayoutEffect } from '@wordpress/element';\n\nexport default function useListViewScrollIntoView( {\n\tisSelected,\n\tselectedClientIds,\n\trowItemRef,\n} ) {\n\tconst isSingleSelection = selectedClientIds.length === 1;\n\n\tuseLayoutEffect( () => {\n\t\t// Skip scrolling into view if this particular block isn't selected,\n\t\t// or if more than one block is selected overall. This is to avoid\n\t\t// scrolling the view in a multi selection where the user has intentionally\n\t\t// selected multiple blocks within the list view, but the initially\n\t\t// selected block may be out of view.\n\t\tif ( ! isSelected || ! isSingleSelection || ! rowItemRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( rowItemRef.current );\n\t\tconst { ownerDocument } = rowItemRef.current;\n\n\t\tconst windowScroll =\n\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\t// If the there is no scroll container, of if the scroll container is the window,\n\t\t// do not scroll into view, as the block is already in view.\n\t\tif ( windowScroll || ! scrollContainer ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rowRect = rowItemRef.current.getBoundingClientRect();\n\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\n\t\t// If the selected block is not currently visible, scroll to it.\n\t\tif (\n\t\t\trowRect.top < scrollContainerRect.top ||\n\t\t\trowRect.bottom > scrollContainerRect.bottom\n\t\t) {\n\t\t\trowItemRef.current.scrollIntoView();\n\t\t}\n\t}, [ isSelected, isSingleSelection, rowItemRef ] );\n}\n"]}
@@ -45,63 +45,58 @@ var _store = require("../../store");
45
45
  */
46
46
  const noop = () => {};
47
47
 
48
- const InsertFromURLPopover = _ref => {
49
- let {
50
- src,
51
- onChange,
52
- onSubmit,
53
- onClose
54
- } = _ref;
55
- return (0, _element.createElement)(_urlPopover.default, {
56
- onClose: onClose
57
- }, (0, _element.createElement)("form", {
58
- className: "block-editor-media-placeholder__url-input-form",
59
- onSubmit: onSubmit
60
- }, (0, _element.createElement)("input", {
61
- className: "block-editor-media-placeholder__url-input-field",
62
- type: "text",
63
- "aria-label": (0, _i18n.__)('URL'),
64
- placeholder: (0, _i18n.__)('Paste or type URL'),
65
- onChange: onChange,
66
- value: src
67
- }), (0, _element.createElement)(_components.Button, {
68
- className: "block-editor-media-placeholder__url-input-submit-button",
69
- icon: _icons.keyboardReturn,
70
- label: (0, _i18n.__)('Apply'),
71
- type: "submit"
72
- })));
73
- };
74
-
75
- function MediaPlaceholder(_ref2) {
76
- let {
77
- value = {},
78
- allowedTypes,
79
- className,
80
- icon,
81
- labels = {},
82
- mediaPreview,
83
- notices,
84
- isAppender,
85
- accept,
86
- addToGallery,
87
- multiple = false,
88
- handleUpload = true,
89
- disableDropZone,
90
- disableMediaButtons,
91
- onError,
92
- onSelect,
93
- onCancel,
94
- onSelectURL,
95
- onToggleFeaturedImage,
96
- onDoubleClick,
97
- onFilesPreUpload = noop,
98
- onHTMLDrop: deprecatedOnHTMLDrop,
99
- children,
100
- mediaLibraryButton,
101
- placeholder,
102
- style
103
- } = _ref2;
104
-
48
+ const InsertFromURLPopover = ({
49
+ src,
50
+ onChange,
51
+ onSubmit,
52
+ onClose
53
+ }) => (0, _element.createElement)(_urlPopover.default, {
54
+ onClose: onClose
55
+ }, (0, _element.createElement)("form", {
56
+ className: "block-editor-media-placeholder__url-input-form",
57
+ onSubmit: onSubmit
58
+ }, (0, _element.createElement)("input", {
59
+ className: "block-editor-media-placeholder__url-input-field",
60
+ type: "text",
61
+ "aria-label": (0, _i18n.__)('URL'),
62
+ placeholder: (0, _i18n.__)('Paste or type URL'),
63
+ onChange: onChange,
64
+ value: src
65
+ }), (0, _element.createElement)(_components.Button, {
66
+ className: "block-editor-media-placeholder__url-input-submit-button",
67
+ icon: _icons.keyboardReturn,
68
+ label: (0, _i18n.__)('Apply'),
69
+ type: "submit"
70
+ })));
71
+
72
+ function MediaPlaceholder({
73
+ value = {},
74
+ allowedTypes,
75
+ className,
76
+ icon,
77
+ labels = {},
78
+ mediaPreview,
79
+ notices,
80
+ isAppender,
81
+ accept,
82
+ addToGallery,
83
+ multiple = false,
84
+ handleUpload = true,
85
+ disableDropZone,
86
+ disableMediaButtons,
87
+ onError,
88
+ onSelect,
89
+ onCancel,
90
+ onSelectURL,
91
+ onToggleFeaturedImage,
92
+ onDoubleClick,
93
+ onFilesPreUpload = noop,
94
+ onHTMLDrop: deprecatedOnHTMLDrop,
95
+ children,
96
+ mediaLibraryButton,
97
+ placeholder,
98
+ style
99
+ }) {
105
100
  if (deprecatedOnHTMLDrop) {
106
101
  (0, _deprecated.default)('wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {
107
102
  since: '6.2',
@@ -120,8 +115,8 @@ function MediaPlaceholder(_ref2) {
120
115
  (0, _element.useEffect)(() => {
121
116
  var _value$src;
122
117
 
123
- setSrc((_value$src = value === null || value === void 0 ? void 0 : value.src) !== null && _value$src !== void 0 ? _value$src : '');
124
- }, [value === null || value === void 0 ? void 0 : value.src]);
118
+ setSrc((_value$src = value?.src) !== null && _value$src !== void 0 ? _value$src : '');
119
+ }, [value?.src]);
125
120
 
126
121
  const onlyAllowsImages = () => {
127
122
  if (!allowedTypes || allowedTypes.length === 0) {
@@ -177,21 +172,15 @@ function MediaPlaceholder(_ref2) {
177
172
  // If Item has id, only remove it if lastMediaPassed has an item with that id.
178
173
  if (item.id) {
179
174
  return !lastMediaPassed.some( // Be sure to convert to number for comparison.
180
- _ref3 => {
181
- let {
182
- id
183
- } = _ref3;
184
- return Number(id) === Number(item.id);
185
- });
175
+ ({
176
+ id
177
+ }) => Number(id) === Number(item.id));
186
178
  } // Compare transient images via .includes since gallery may append extra info onto the url.
187
179
 
188
180
 
189
- return !lastMediaPassed.some(_ref4 => {
190
- let {
191
- urlSlug
192
- } = _ref4;
193
- return item.url.includes(urlSlug);
194
- });
181
+ return !lastMediaPassed.some(({
182
+ urlSlug
183
+ }) => item.url.includes(urlSlug));
195
184
  }); // Return the filtered media array along with newMedia.
196
185
 
197
186
  onSelect(filteredMedia.concat(newMedia)); // Reset lastMediaPassed and set it with ids and urls from newMedia.
@@ -210,10 +199,7 @@ function MediaPlaceholder(_ref2) {
210
199
  setMedia = onSelect;
211
200
  }
212
201
  } else {
213
- setMedia = _ref5 => {
214
- let [media] = _ref5;
215
- return onSelect(media);
216
- };
202
+ setMedia = ([media]) => onSelect(media);
217
203
  }
218
204
 
219
205
  mediaUpload({
@@ -247,9 +233,7 @@ function MediaPlaceholder(_ref2) {
247
233
  alt_text: block.attributes.alt,
248
234
  caption: block.attributes.caption
249
235
  },
250
- onFileChange: _ref6 => {
251
- let [media] = _ref6;
252
-
236
+ onFileChange: ([media]) => {
253
237
  if (media.id) {
254
238
  resolve(media);
255
239
  }
@@ -384,10 +368,9 @@ function MediaPlaceholder(_ref2) {
384
368
  };
385
369
 
386
370
  const renderMediaUploadChecked = () => {
387
- const defaultButton = _ref7 => {
388
- let {
389
- open
390
- } = _ref7;
371
+ const defaultButton = ({
372
+ open
373
+ }) => {
391
374
  return (0, _element.createElement)(_components.Button, {
392
375
  variant: "tertiary",
393
376
  onClick: () => {
@@ -404,12 +387,9 @@ function MediaPlaceholder(_ref2) {
404
387
  onSelect: onSelect,
405
388
  allowedTypes: allowedTypes,
406
389
  mode: 'browse',
407
- value: Array.isArray(value) ? value.map(_ref8 => {
408
- let {
409
- id
410
- } = _ref8;
411
- return id;
412
- }) : value.id,
390
+ value: Array.isArray(value) ? value.map(({
391
+ id
392
+ }) => id) : value.id,
413
393
  render: libraryButton
414
394
  });
415
395
 
@@ -418,10 +398,9 @@ function MediaPlaceholder(_ref2) {
418
398
  onChange: onUpload,
419
399
  accept: accept,
420
400
  multiple: multiple,
421
- render: _ref9 => {
422
- let {
423
- openFileDialog
424
- } = _ref9;
401
+ render: ({
402
+ openFileDialog
403
+ }) => {
425
404
  const content = (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
426
405
  variant: "primary",
427
406
  className: (0, _classnames.default)('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"names":["noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","keyboardReturn","MediaPlaceholder","value","allowedTypes","className","icon","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onSelectURL","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","children","mediaLibraryButton","placeholder","style","since","version","mediaUpload","select","getSettings","blockEditorStore","setSrc","isURLInputVisible","setIsURLInputVisible","onlyAllowsImages","length","every","allowedType","startsWith","onChangeSrc","event","target","openURLInput","closeURLInput","onSubmitSrc","preventDefault","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","onUpload","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","renderPlaceholder","renderDropZone","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","openFileDialog"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { pasteHandler } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( { src, onChange, onSubmit, onClose } ) => (\n\t<URLPopover onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\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\t\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\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.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t\t } )\n\t\t\t)\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an audio file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ openURLInput }\n\t\t\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t{ isURLInputVisible && (\n\t\t\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode={ 'browse' }\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\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\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</FormFileUpload>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"names":["noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","keyboardReturn","MediaPlaceholder","value","allowedTypes","className","icon","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onSelectURL","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","children","mediaLibraryButton","placeholder","style","since","version","mediaUpload","select","getSettings","blockEditorStore","setSrc","isURLInputVisible","setIsURLInputVisible","onlyAllowsImages","length","every","allowedType","startsWith","onChangeSrc","event","target","openURLInput","closeURLInput","onSubmitSrc","preventDefault","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","onUpload","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","renderPlaceholder","renderDropZone","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","openFileDialog"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { pasteHandler } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( { src, onChange, onSubmit, onClose } ) => (\n\t<URLPopover onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\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\t\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\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.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t\t } )\n\t\t\t)\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an audio file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ openURLInput }\n\t\t\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t{ isURLInputVisible && (\n\t\t\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode={ 'browse' }\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\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\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</FormFileUpload>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"]}
@@ -147,11 +147,10 @@ function MediaPlaceholder(props) {
147
147
  multiple: multiple,
148
148
  isReplacingMedia: false,
149
149
  autoOpen: autoOpenMediaUpload,
150
- render: _ref => {
151
- let {
152
- open,
153
- getMediaOptions
154
- } = _ref;
150
+ render: ({
151
+ open,
152
+ getMediaOptions
153
+ }) => {
155
154
  return (0, _element.createElement)(_reactNative.TouchableWithoutFeedback, {
156
155
  accessibilityLabel: (0, _i18n.sprintf)(
157
156
  /* translators: accessibility text for the media block empty state. %s: media type */
@@ -159,7 +158,7 @@ function MediaPlaceholder(props) {
159
158
  accessibilityRole: 'button',
160
159
  accessibilityHint: accessibilityHint,
161
160
  onPress: event => {
162
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
161
+ onFocus?.(event);
163
162
  open();
164
163
  }
165
164
  }, (0, _element.createElement)(_reactNative.View, {