@wordpress/block-editor 12.2.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 (1673) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/autocompleters/block.js +1 -3
  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 +3 -4
  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-full-height-alignment-control/index.js +6 -7
  55. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  56. package/build/components/block-icon/index.js +7 -11
  57. package/build/components/block-icon/index.js.map +1 -1
  58. package/build/components/block-icon/index.native.js +9 -13
  59. package/build/components/block-icon/index.native.js.map +1 -1
  60. package/build/components/block-inspector/index.js +36 -46
  61. package/build/components/block-inspector/index.js.map +1 -1
  62. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  63. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  64. package/build/components/block-list/block-html.js +3 -4
  65. package/build/components/block-list/block-html.js.map +1 -1
  66. package/build/components/block-list/block-invalid-warning.js +3 -4
  67. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  68. package/build/components/block-list/block-invalid-warning.native.js +10 -15
  69. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  70. package/build/components/block-list/block-list-context.native.js +5 -11
  71. package/build/components/block-list/block-list-context.native.js.map +1 -1
  72. package/build/components/block-list/block-list-item-cell.native.js +5 -6
  73. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  74. package/build/components/block-list/block-list-item.native.js +17 -18
  75. package/build/components/block-list/block-list-item.native.js.map +1 -1
  76. package/build/components/block-list/block-outline.native.js +8 -9
  77. package/build/components/block-list/block-outline.native.js.map +1 -1
  78. package/build/components/block-list/block-selection-button.native.js +10 -12
  79. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  80. package/build/components/block-list/block.js +39 -46
  81. package/build/components/block-list/block.js.map +1 -1
  82. package/build/components/block-list/block.native.js +55 -68
  83. package/build/components/block-list/block.native.js.map +1 -1
  84. package/build/components/block-list/index.js +12 -15
  85. package/build/components/block-list/index.js.map +1 -1
  86. package/build/components/block-list/index.native.js +77 -86
  87. package/build/components/block-list/index.native.js.map +1 -1
  88. package/build/components/block-list/insertion-point.native.js +4 -5
  89. package/build/components/block-list/insertion-point.native.js.map +1 -1
  90. package/build/components/block-list/layout.js +6 -9
  91. package/build/components/block-list/layout.js.map +1 -1
  92. package/build/components/block-list/subdirectory-icon.js +10 -13
  93. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  94. package/build/components/block-list/use-block-props/index.js +15 -11
  95. package/build/components/block-list/use-block-props/index.js.map +1 -1
  96. package/build/components/block-list/use-block-props/index.native.js +1 -2
  97. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  98. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  99. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  100. package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  101. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  102. package/build/components/block-list/use-in-between-inserter.js +1 -3
  103. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  104. package/build/components/block-list-appender/index.js +16 -15
  105. package/build/components/block-list-appender/index.js.map +1 -1
  106. package/build/components/block-list-appender/index.native.js +9 -11
  107. package/build/components/block-list-appender/index.native.js.map +1 -1
  108. package/build/components/block-lock/menu-item.js +3 -4
  109. package/build/components/block-lock/menu-item.js.map +1 -1
  110. package/build/components/block-lock/modal.js +6 -9
  111. package/build/components/block-lock/modal.js.map +1 -1
  112. package/build/components/block-lock/toolbar.js +4 -10
  113. package/build/components/block-lock/toolbar.js.map +1 -1
  114. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +49 -67
  115. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  116. package/build/components/block-mobile-toolbar/index.native.js +26 -34
  117. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  118. package/build/components/block-mover/button.js +6 -7
  119. package/build/components/block-mover/button.js.map +1 -1
  120. package/build/components/block-mover/index.js +5 -8
  121. package/build/components/block-mover/index.js.map +1 -1
  122. package/build/components/block-mover/index.native.js +23 -46
  123. package/build/components/block-mover/index.native.js.map +1 -1
  124. package/build/components/block-mover/mover-description.native.js +7 -10
  125. package/build/components/block-mover/mover-description.native.js.map +1 -1
  126. package/build/components/block-navigation/dropdown.js +20 -25
  127. package/build/components/block-navigation/dropdown.js.map +1 -1
  128. package/build/components/block-parent-selector/index.js +2 -2
  129. package/build/components/block-parent-selector/index.js.map +1 -1
  130. package/build/components/block-pattern-setup/index.js +27 -31
  131. package/build/components/block-pattern-setup/index.js.map +1 -1
  132. package/build/components/block-pattern-setup/setup-toolbar.js +35 -42
  133. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  134. package/build/components/block-patterns-list/index.js +74 -81
  135. package/build/components/block-patterns-list/index.js.map +1 -1
  136. package/build/components/block-popover/drop-zone.js +4 -5
  137. package/build/components/block-popover/drop-zone.js.map +1 -1
  138. package/build/components/block-popover/inbetween.js +10 -15
  139. package/build/components/block-popover/inbetween.js.map +1 -1
  140. package/build/components/block-popover/index.js +14 -15
  141. package/build/components/block-popover/index.js.map +1 -1
  142. package/build/components/block-preview/auto.js +6 -8
  143. package/build/components/block-preview/auto.js.map +1 -1
  144. package/build/components/block-preview/index.js +15 -18
  145. package/build/components/block-preview/index.js.map +1 -1
  146. package/build/components/block-settings/button.native.js +7 -10
  147. package/build/components/block-settings/button.native.js.map +1 -1
  148. package/build/components/block-settings-menu/block-convert-button.js +5 -7
  149. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  150. package/build/components/block-settings-menu/block-html-convert-button.js +10 -14
  151. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  152. package/build/components/block-settings-menu/block-mode-toggle.js +19 -25
  153. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  154. package/build/components/block-settings-menu/block-settings-dropdown.js +132 -111
  155. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  156. package/build/components/block-settings-menu/index.js +4 -5
  157. package/build/components/block-settings-menu/index.js.map +1 -1
  158. package/build/components/block-settings-menu-controls/index.js +14 -16
  159. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  160. package/build/components/block-styles/index.js +6 -7
  161. package/build/components/block-styles/index.js.map +1 -1
  162. package/build/components/block-styles/index.native.js +5 -7
  163. package/build/components/block-styles/index.native.js.map +1 -1
  164. package/build/components/block-styles/menu-items.js +4 -5
  165. package/build/components/block-styles/menu-items.js.map +1 -1
  166. package/build/components/block-styles/preview-panel.js +7 -10
  167. package/build/components/block-styles/preview-panel.js.map +1 -1
  168. package/build/components/block-styles/preview.native.js +6 -7
  169. package/build/components/block-styles/preview.native.js.map +1 -1
  170. package/build/components/block-styles/use-styles-for-block.js +7 -9
  171. package/build/components/block-styles/use-styles-for-block.js.map +1 -1
  172. package/build/components/block-styles/utils.js +4 -7
  173. package/build/components/block-styles/utils.js.map +1 -1
  174. package/build/components/block-switcher/block-styles-menu.js +4 -5
  175. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  176. package/build/components/block-switcher/block-transformations-menu.js +24 -29
  177. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  178. package/build/components/block-switcher/block-transformations-menu.native.js +9 -10
  179. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  180. package/build/components/block-switcher/block-variation-transformations.js +21 -30
  181. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  182. package/build/components/block-switcher/index.js +47 -60
  183. package/build/components/block-switcher/index.js.map +1 -1
  184. package/build/components/block-switcher/pattern-transformations-menu.js +18 -22
  185. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  186. package/build/components/block-switcher/preview-block-popover.js +3 -4
  187. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  188. package/build/components/block-switcher/utils.js +2 -3
  189. package/build/components/block-switcher/utils.js.map +1 -1
  190. package/build/components/block-title/index.js +5 -6
  191. package/build/components/block-title/index.js.map +1 -1
  192. package/build/components/block-title/use-block-display-title.js +5 -6
  193. package/build/components/block-title/use-block-display-title.js.map +1 -1
  194. package/build/components/block-toolbar/index.js +4 -5
  195. package/build/components/block-toolbar/index.js.map +1 -1
  196. package/build/components/block-toolbar/utils.js +14 -16
  197. package/build/components/block-toolbar/utils.js.map +1 -1
  198. package/build/components/block-tools/back-compat.js +3 -4
  199. package/build/components/block-tools/back-compat.js.map +1 -1
  200. package/build/components/block-tools/block-contextual-toolbar.js +5 -6
  201. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  202. package/build/components/block-tools/block-selection-button.js +6 -9
  203. package/build/components/block-tools/block-selection-button.js.map +1 -1
  204. package/build/components/block-tools/index.js +6 -7
  205. package/build/components/block-tools/index.js.map +1 -1
  206. package/build/components/block-tools/insertion-point.js +7 -10
  207. package/build/components/block-tools/insertion-point.js.map +1 -1
  208. package/build/components/block-tools/selected-block-popover.js +19 -20
  209. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  210. package/build/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  211. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  212. package/build/components/block-tools/zoom-out-mode-inserters.js +3 -4
  213. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  214. package/build/components/block-types-list/index.js +8 -9
  215. package/build/components/block-types-list/index.js.map +1 -1
  216. package/build/components/block-types-list/index.native.js +22 -27
  217. package/build/components/block-types-list/index.native.js.map +1 -1
  218. package/build/components/block-variation-picker/index.js +8 -9
  219. package/build/components/block-variation-picker/index.js.map +1 -1
  220. package/build/components/block-variation-picker/index.native.js +7 -9
  221. package/build/components/block-variation-picker/index.native.js.map +1 -1
  222. package/build/components/block-variation-transforms/index.js +30 -41
  223. package/build/components/block-variation-transforms/index.js.map +1 -1
  224. package/build/components/block-vertical-alignment-control/ui.js +7 -9
  225. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  226. package/build/components/border-radius-control/all-input-control.js +7 -8
  227. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  228. package/build/components/border-radius-control/index.js +9 -10
  229. package/build/components/border-radius-control/index.js.map +1 -1
  230. package/build/components/border-radius-control/input-controls.js +8 -11
  231. package/build/components/border-radius-control/input-controls.js.map +1 -1
  232. package/build/components/border-radius-control/linked-button.js +4 -5
  233. package/build/components/border-radius-control/linked-button.js.map +1 -1
  234. package/build/components/border-radius-control/utils.js +3 -7
  235. package/build/components/border-radius-control/utils.js.map +1 -1
  236. package/build/components/button-block-appender/index.js +13 -15
  237. package/build/components/button-block-appender/index.js.map +1 -1
  238. package/build/components/button-block-appender/index.native.js +25 -29
  239. package/build/components/button-block-appender/index.native.js.map +1 -1
  240. package/build/components/caption/index.native.js +40 -43
  241. package/build/components/caption/index.native.js.map +1 -1
  242. package/build/components/child-layout-control/index.js +5 -6
  243. package/build/components/child-layout-control/index.js.map +1 -1
  244. package/build/components/color-palette/control.js +5 -6
  245. package/build/components/color-palette/control.js.map +1 -1
  246. package/build/components/color-palette/with-color-context.js +1 -7
  247. package/build/components/color-palette/with-color-context.js.map +1 -1
  248. package/build/components/color-style-selector/index.js +28 -35
  249. package/build/components/color-style-selector/index.js.map +1 -1
  250. package/build/components/colors/utils.js +5 -8
  251. package/build/components/colors/utils.js.map +1 -1
  252. package/build/components/colors/with-colors.js +9 -24
  253. package/build/components/colors/with-colors.js.map +1 -1
  254. package/build/components/colors-gradients/control.js +19 -22
  255. package/build/components/colors-gradients/control.js.map +1 -1
  256. package/build/components/colors-gradients/dropdown.js +32 -39
  257. package/build/components/colors-gradients/dropdown.js.map +1 -1
  258. package/build/components/colors-gradients/panel-color-gradient-settings.js +20 -25
  259. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  260. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  261. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  262. package/build/components/contrast-checker/index.js +12 -13
  263. package/build/components/contrast-checker/index.js.map +1 -1
  264. package/build/components/contrast-checker/index.native.js +16 -18
  265. package/build/components/contrast-checker/index.native.js.map +1 -1
  266. package/build/components/convert-to-group-buttons/index.js +9 -10
  267. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  268. package/build/components/convert-to-group-buttons/index.native.js +6 -7
  269. package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
  270. package/build/components/convert-to-group-buttons/toolbar.js +6 -12
  271. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  272. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +4 -6
  273. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  274. package/build/components/copy-handler/index.js +4 -7
  275. package/build/components/copy-handler/index.js.map +1 -1
  276. package/build/components/date-format-picker/index.js +12 -16
  277. package/build/components/date-format-picker/index.js.map +1 -1
  278. package/build/components/default-block-appender/index.js +7 -9
  279. package/build/components/default-block-appender/index.js.map +1 -1
  280. package/build/components/default-block-appender/index.native.js +8 -10
  281. package/build/components/default-block-appender/index.native.js.map +1 -1
  282. package/build/components/default-style-picker/index.js +14 -22
  283. package/build/components/default-style-picker/index.js.map +1 -1
  284. package/build/components/duotone/components.js +14 -18
  285. package/build/components/duotone/components.js.map +1 -1
  286. package/build/components/duotone/utils.js +1 -2
  287. package/build/components/duotone/utils.js.map +1 -1
  288. package/build/components/duotone-control/index.js +12 -15
  289. package/build/components/duotone-control/index.js.map +1 -1
  290. package/build/components/editable-text/index.js +5 -6
  291. package/build/components/editable-text/index.js.map +1 -1
  292. package/build/components/editor-styles/index.js +4 -5
  293. package/build/components/editor-styles/index.js.map +1 -1
  294. package/build/components/floating-toolbar/index.native.js +7 -8
  295. package/build/components/floating-toolbar/index.native.js.map +1 -1
  296. package/build/components/font-appearance-control/index.js +19 -26
  297. package/build/components/font-appearance-control/index.js.map +1 -1
  298. package/build/components/font-family/index.js +10 -12
  299. package/build/components/font-family/index.js.map +1 -1
  300. package/build/components/font-sizes/fluid-utils.js +17 -21
  301. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  302. package/build/components/font-sizes/utils.js +6 -12
  303. package/build/components/font-sizes/utils.js.map +1 -1
  304. package/build/components/font-sizes/with-font-sizes.js +11 -30
  305. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  306. package/build/components/global-styles/advanced-panel.js +7 -10
  307. package/build/components/global-styles/advanced-panel.js.map +1 -1
  308. package/build/components/global-styles/border-panel.js +45 -78
  309. package/build/components/global-styles/border-panel.js.map +1 -1
  310. package/build/components/global-styles/color-panel.js +104 -147
  311. package/build/components/global-styles/color-panel.js.map +1 -1
  312. package/build/components/global-styles/color-panel.native.js +25 -42
  313. package/build/components/global-styles/color-panel.native.js.map +1 -1
  314. package/build/components/global-styles/dimensions-panel.js +78 -109
  315. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  316. package/build/components/global-styles/effects-panel.js +58 -72
  317. package/build/components/global-styles/effects-panel.js.map +1 -1
  318. package/build/components/global-styles/filters-panel.js +53 -71
  319. package/build/components/global-styles/filters-panel.js.map +1 -1
  320. package/build/components/global-styles/get-block-css-selector.js +4 -7
  321. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  322. package/build/components/global-styles/hooks.js +22 -37
  323. package/build/components/global-styles/hooks.js.map +1 -1
  324. package/build/components/global-styles/typography-panel.js +69 -125
  325. package/build/components/global-styles/typography-panel.js.map +1 -1
  326. package/build/components/global-styles/typography-utils.js +49 -26
  327. package/build/components/global-styles/typography-utils.js.map +1 -1
  328. package/build/components/global-styles/use-global-styles-output.js +140 -235
  329. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  330. package/build/components/global-styles/utils.js +11 -27
  331. package/build/components/global-styles/utils.js.map +1 -1
  332. package/build/components/gradients/use-gradient.js +6 -7
  333. package/build/components/gradients/use-gradient.js.map +1 -1
  334. package/build/components/height-control/index.js +9 -10
  335. package/build/components/height-control/index.js.map +1 -1
  336. package/build/components/iframe/index.js +50 -85
  337. package/build/components/iframe/index.js.map +1 -1
  338. package/build/components/iframe/use-compatibility-styles.js +29 -20
  339. package/build/components/iframe/use-compatibility-styles.js.map +1 -1
  340. package/build/components/image-editor/aspect-ratio-dropdown.js +83 -91
  341. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  342. package/build/components/image-editor/context.js +9 -10
  343. package/build/components/image-editor/context.js.map +1 -1
  344. package/build/components/image-editor/cropper.js +11 -12
  345. package/build/components/image-editor/cropper.js.map +1 -1
  346. package/build/components/image-editor/index.js +12 -13
  347. package/build/components/image-editor/index.js.map +1 -1
  348. package/build/components/image-editor/use-save-image.js +11 -12
  349. package/build/components/image-editor/use-save-image.js.map +1 -1
  350. package/build/components/image-editor/use-transform-image.js +5 -6
  351. package/build/components/image-editor/use-transform-image.js.map +1 -1
  352. package/build/components/image-editor/zoom-dropdown.js +10 -13
  353. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  354. package/build/components/image-size-control/index.js +12 -13
  355. package/build/components/image-size-control/index.js.map +1 -1
  356. package/build/components/inner-blocks/button-block-appender.js +7 -8
  357. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  358. package/build/components/inner-blocks/default-block-appender.js +6 -8
  359. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  360. package/build/components/inner-blocks/index.js +2 -6
  361. package/build/components/inner-blocks/index.js.map +1 -1
  362. package/build/components/inner-blocks/index.native.js +1 -3
  363. package/build/components/inner-blocks/index.native.js.map +1 -1
  364. package/build/components/inner-blocks/use-block-context.js +1 -4
  365. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  366. package/build/components/inner-blocks/use-nested-settings-update.js +2 -4
  367. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  368. package/build/components/inserter/block-patterns-explorer/explorer.js +9 -11
  369. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  370. package/build/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  371. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  372. package/build/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  373. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  374. package/build/components/inserter/block-patterns-tab.js +29 -40
  375. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  376. package/build/components/inserter/block-types-tab.js +7 -9
  377. package/build/components/inserter/block-types-tab.js.map +1 -1
  378. package/build/components/inserter/block-types-tab.native.js +8 -9
  379. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  380. package/build/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  381. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  382. package/build/components/inserter/hooks/use-block-types-state.js +5 -6
  383. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  384. package/build/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  385. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  386. package/build/components/inserter/hooks/use-debounced-input.js +1 -2
  387. package/build/components/inserter/hooks/use-debounced-input.js.map +1 -1
  388. package/build/components/inserter/hooks/use-insertion-point.js +10 -12
  389. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  390. package/build/components/inserter/index.js +37 -51
  391. package/build/components/inserter/index.js.map +1 -1
  392. package/build/components/inserter/index.native.js +24 -31
  393. package/build/components/inserter/index.native.js.map +1 -1
  394. package/build/components/inserter/library.js +11 -12
  395. package/build/components/inserter/library.js.map +1 -1
  396. package/build/components/inserter/media-tab/hooks.js +2 -5
  397. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  398. package/build/components/inserter/media-tab/media-list.js +6 -7
  399. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  400. package/build/components/inserter/media-tab/media-panel.js +12 -14
  401. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  402. package/build/components/inserter/media-tab/media-preview.js +47 -58
  403. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  404. package/build/components/inserter/media-tab/media-tab.js +24 -28
  405. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  406. package/build/components/inserter/media-tab/utils.js +3 -5
  407. package/build/components/inserter/media-tab/utils.js.map +1 -1
  408. package/build/components/inserter/menu.js +15 -19
  409. package/build/components/inserter/menu.js.map +1 -1
  410. package/build/components/inserter/menu.native.js +27 -31
  411. package/build/components/inserter/menu.native.js.map +1 -1
  412. package/build/components/inserter/mobile-tab-navigation.js +7 -9
  413. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  414. package/build/components/inserter/panel.js +5 -6
  415. package/build/components/inserter/panel.js.map +1 -1
  416. package/build/components/inserter/preview-panel.js +4 -5
  417. package/build/components/inserter/preview-panel.js.map +1 -1
  418. package/build/components/inserter/quick-inserter.js +8 -9
  419. package/build/components/inserter/quick-inserter.js.map +1 -1
  420. package/build/components/inserter/reusable-blocks-tab.js +13 -18
  421. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  422. package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
  423. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  424. package/build/components/inserter/search-items.js +12 -40
  425. package/build/components/inserter/search-items.js.map +1 -1
  426. package/build/components/inserter/search-results.js +17 -18
  427. package/build/components/inserter/search-results.js.map +1 -1
  428. package/build/components/inserter/search-results.native.js +11 -12
  429. package/build/components/inserter/search-results.native.js.map +1 -1
  430. package/build/components/inserter/tabs.js +8 -9
  431. package/build/components/inserter/tabs.js.map +1 -1
  432. package/build/components/inserter/tabs.native.js +37 -55
  433. package/build/components/inserter/tabs.native.js.map +1 -1
  434. package/build/components/inserter/utils.native.js +13 -17
  435. package/build/components/inserter/utils.native.js.map +1 -1
  436. package/build/components/inserter-draggable-blocks/index.js +11 -13
  437. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  438. package/build/components/inserter-list-item/index.js +68 -72
  439. package/build/components/inserter-list-item/index.js.map +1 -1
  440. package/build/components/inserter-listbox/index.js +3 -4
  441. package/build/components/inserter-listbox/index.js.map +1 -1
  442. package/build/components/inserter-listbox/item.js +6 -7
  443. package/build/components/inserter-listbox/item.js.map +1 -1
  444. package/build/components/inspector-controls/block-support-slot-container.js +4 -5
  445. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  446. package/build/components/inspector-controls/block-support-tools-panel.js +6 -8
  447. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  448. package/build/components/inspector-controls/fill.js +13 -24
  449. package/build/components/inspector-controls/fill.js.map +1 -1
  450. package/build/components/inspector-controls/fill.native.js +7 -11
  451. package/build/components/inspector-controls/fill.native.js.map +1 -1
  452. package/build/components/inspector-controls/slot.js +9 -13
  453. package/build/components/inspector-controls/slot.js.map +1 -1
  454. package/build/components/inspector-controls/slot.native.js +6 -10
  455. package/build/components/inspector-controls/slot.native.js.map +1 -1
  456. package/build/components/inspector-controls-tabs/index.js +6 -7
  457. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  458. package/build/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  459. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  460. package/build/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  461. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  462. package/build/components/inspector-controls-tabs/settings-tab.js +3 -6
  463. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  464. package/build/components/inspector-controls-tabs/styles-tab.js +5 -6
  465. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  466. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  467. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  468. package/build/components/inspector-popover-header/index.js +18 -22
  469. package/build/components/inspector-popover-header/index.js.map +1 -1
  470. package/build/components/justify-content-control/ui.js +8 -10
  471. package/build/components/justify-content-control/ui.js.map +1 -1
  472. package/build/components/letter-spacing-control/index.js +6 -7
  473. package/build/components/letter-spacing-control/index.js.map +1 -1
  474. package/build/components/line-height-control/index.js +13 -18
  475. package/build/components/line-height-control/index.js.map +1 -1
  476. package/build/components/line-height-control/index.native.js +4 -5
  477. package/build/components/line-height-control/index.native.js.map +1 -1
  478. package/build/components/link-control/index.js +84 -63
  479. package/build/components/link-control/index.js.map +1 -1
  480. package/build/components/link-control/is-url-like.js +32 -2
  481. package/build/components/link-control/is-url-like.js.map +1 -1
  482. package/build/components/link-control/link-preview.js +24 -27
  483. package/build/components/link-control/link-preview.js.map +1 -1
  484. package/build/components/link-control/search-create-button.js +7 -9
  485. package/build/components/link-control/search-create-button.js.map +1 -1
  486. package/build/components/link-control/search-input.js +22 -27
  487. package/build/components/link-control/search-input.js.map +1 -1
  488. package/build/components/link-control/search-item.js +13 -15
  489. package/build/components/link-control/search-item.js.map +1 -1
  490. package/build/components/link-control/search-results.js +22 -28
  491. package/build/components/link-control/search-results.js.map +1 -1
  492. package/build/components/link-control/settings-drawer.js +6 -35
  493. package/build/components/link-control/settings-drawer.js.map +1 -1
  494. package/build/components/link-control/settings.js +6 -8
  495. package/build/components/link-control/settings.js.map +1 -1
  496. package/build/components/link-control/use-internal-value.js +54 -0
  497. package/build/components/link-control/use-internal-value.js.map +1 -0
  498. package/build/components/link-control/use-rich-url-data.js +1 -1
  499. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  500. package/build/components/link-control/use-search-handler.js +10 -23
  501. package/build/components/link-control/use-search-handler.js.map +1 -1
  502. package/build/components/list-view/appender.js +12 -12
  503. package/build/components/list-view/appender.js.map +1 -1
  504. package/build/components/list-view/aria-referenced-text.js +44 -0
  505. package/build/components/list-view/aria-referenced-text.js.map +1 -0
  506. package/build/components/list-view/block-contents.js +38 -38
  507. package/build/components/list-view/block-contents.js.map +1 -1
  508. package/build/components/list-view/block-select-button.js +67 -21
  509. package/build/components/list-view/block-select-button.js.map +1 -1
  510. package/build/components/list-view/block.js +119 -101
  511. package/build/components/list-view/block.js.map +1 -1
  512. package/build/components/list-view/branch.js +5 -5
  513. package/build/components/list-view/branch.js.map +1 -1
  514. package/build/components/list-view/drop-indicator.js +4 -5
  515. package/build/components/list-view/drop-indicator.js.map +1 -1
  516. package/build/components/list-view/expander.js +3 -4
  517. package/build/components/list-view/expander.js.map +1 -1
  518. package/build/components/list-view/index.js +46 -43
  519. package/build/components/list-view/index.js.map +1 -1
  520. package/build/components/list-view/leaf.js +10 -11
  521. package/build/components/list-view/leaf.js.map +1 -1
  522. package/build/components/list-view/use-block-selection.js +4 -6
  523. package/build/components/list-view/use-block-selection.js.map +1 -1
  524. package/build/components/list-view/use-list-view-client-ids.js +9 -12
  525. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  526. package/build/components/list-view/use-list-view-drop-zone.js +25 -13
  527. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  528. package/build/components/list-view/use-list-view-expand-selected-item.js +4 -5
  529. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  530. package/build/components/list-view/use-list-view-scroll-into-view.js +5 -6
  531. package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  532. package/build/components/media-placeholder/index.js +71 -92
  533. package/build/components/media-placeholder/index.js.map +1 -1
  534. package/build/components/media-placeholder/index.native.js +5 -6
  535. package/build/components/media-placeholder/index.native.js.map +1 -1
  536. package/build/components/media-replace-flow/index.js +94 -107
  537. package/build/components/media-replace-flow/index.js.map +1 -1
  538. package/build/components/media-upload/check.js +4 -5
  539. package/build/components/media-upload/check.js.map +1 -1
  540. package/build/components/media-upload/index.native.js +1 -1
  541. package/build/components/media-upload/index.native.js.map +1 -1
  542. package/build/components/multi-selection-inspector/index.js +3 -4
  543. package/build/components/multi-selection-inspector/index.js.map +1 -1
  544. package/build/components/navigable-toolbar/index.js +16 -15
  545. package/build/components/navigable-toolbar/index.js.map +1 -1
  546. package/build/components/observe-typing/index.js +3 -4
  547. package/build/components/observe-typing/index.js.map +1 -1
  548. package/build/components/panel-color-settings/index.js +4 -5
  549. package/build/components/panel-color-settings/index.js.map +1 -1
  550. package/build/components/plain-text/index.js +4 -6
  551. package/build/components/plain-text/index.js.map +1 -1
  552. package/build/components/plain-text/index.native.js +8 -14
  553. package/build/components/plain-text/index.native.js.map +1 -1
  554. package/build/components/preview-options/index.js +8 -9
  555. package/build/components/preview-options/index.js.map +1 -1
  556. package/build/components/provider/block-refs-provider.js +3 -4
  557. package/build/components/provider/block-refs-provider.js.map +1 -1
  558. package/build/components/provider/use-block-sync.js +7 -8
  559. package/build/components/provider/use-block-sync.js.map +1 -1
  560. package/build/components/provider/with-registry-provider.js +5 -7
  561. package/build/components/provider/with-registry-provider.js.map +1 -1
  562. package/build/components/publish-date-time-picker/index.js +6 -7
  563. package/build/components/publish-date-time-picker/index.js.map +1 -1
  564. package/build/components/recursion-provider/index.js +7 -11
  565. package/build/components/recursion-provider/index.js.map +1 -1
  566. package/build/components/resizable-box-popover/index.js +5 -6
  567. package/build/components/resizable-box-popover/index.js.map +1 -1
  568. package/build/components/responsive-block-control/label.js +5 -6
  569. package/build/components/responsive-block-control/label.js.map +1 -1
  570. package/build/components/rich-text/embed-handler-picker.native.js +6 -10
  571. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  572. package/build/components/rich-text/format-edit.js +7 -8
  573. package/build/components/rich-text/format-edit.js.map +1 -1
  574. package/build/components/rich-text/format-toolbar/index.js +9 -18
  575. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  576. package/build/components/rich-text/format-toolbar-container.js +13 -16
  577. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  578. package/build/components/rich-text/index.js +43 -47
  579. package/build/components/rich-text/index.js.map +1 -1
  580. package/build/components/rich-text/index.native.js +130 -157
  581. package/build/components/rich-text/index.native.js.map +1 -1
  582. package/build/components/rich-text/input-event.js +4 -5
  583. package/build/components/rich-text/input-event.js.map +1 -1
  584. package/build/components/rich-text/shortcut.js +5 -6
  585. package/build/components/rich-text/shortcut.js.map +1 -1
  586. package/build/components/rich-text/split-value.js +8 -10
  587. package/build/components/rich-text/split-value.js.map +1 -1
  588. package/build/components/rich-text/toolbar-button.js +6 -7
  589. package/build/components/rich-text/toolbar-button.js.map +1 -1
  590. package/build/components/rich-text/use-before-input-rules.js +1 -4
  591. package/build/components/rich-text/use-before-input-rules.js.map +1 -1
  592. package/build/components/rich-text/use-enter.js +3 -6
  593. package/build/components/rich-text/use-enter.js.map +1 -1
  594. package/build/components/rich-text/use-firefox-compat.js +32 -1
  595. package/build/components/rich-text/use-firefox-compat.js.map +1 -1
  596. package/build/components/rich-text/use-format-types.js +11 -17
  597. package/build/components/rich-text/use-format-types.js.map +1 -1
  598. package/build/components/rich-text/use-input-rules.js +9 -15
  599. package/build/components/rich-text/use-input-rules.js.map +1 -1
  600. package/build/components/rich-text/use-mark-persistent.js +4 -5
  601. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  602. package/build/components/rich-text/use-paste-handler.js +5 -7
  603. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  604. package/build/components/rich-text/utils.js +5 -7
  605. package/build/components/rich-text/utils.js.map +1 -1
  606. package/build/components/skip-to-selected-block/index.js +3 -4
  607. package/build/components/skip-to-selected-block/index.js.map +1 -1
  608. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +38 -0
  609. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  610. package/build/components/spacing-sizes-control/index.js +60 -62
  611. package/build/components/spacing-sizes-control/index.js.map +1 -1
  612. package/build/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  613. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  614. package/build/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +22 -22
  615. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  616. package/build/components/spacing-sizes-control/input-controls/single.js +51 -0
  617. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  618. package/build/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +51 -69
  619. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  620. package/build/components/spacing-sizes-control/sides-dropdown/index.js +84 -0
  621. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  622. package/build/components/spacing-sizes-control/utils.js +213 -31
  623. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  624. package/build/components/text-decoration-control/index.js +5 -6
  625. package/build/components/text-decoration-control/index.js.map +1 -1
  626. package/build/components/text-transform-control/index.js +5 -6
  627. package/build/components/text-transform-control/index.js.map +1 -1
  628. package/build/components/tool-selector/index.js +13 -16
  629. package/build/components/tool-selector/index.js.map +1 -1
  630. package/build/components/typewriter/index.js +6 -9
  631. package/build/components/typewriter/index.js.map +1 -1
  632. package/build/components/ungroup-button/index.native.js +11 -16
  633. package/build/components/ungroup-button/index.native.js.map +1 -1
  634. package/build/components/unit-control/index.js +4 -5
  635. package/build/components/unit-control/index.js.map +1 -1
  636. package/build/components/url-input/index.js +15 -26
  637. package/build/components/url-input/index.js.map +1 -1
  638. package/build/components/url-input/index.native.js +6 -8
  639. package/build/components/url-input/index.native.js.map +1 -1
  640. package/build/components/url-popover/image-url-input-ui.js +12 -15
  641. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  642. package/build/components/url-popover/index.js +12 -14
  643. package/build/components/url-popover/index.js.map +1 -1
  644. package/build/components/url-popover/link-editor.js +7 -8
  645. package/build/components/url-popover/link-editor.js.map +1 -1
  646. package/build/components/url-popover/link-viewer-url.js +5 -6
  647. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  648. package/build/components/url-popover/link-viewer.js +8 -9
  649. package/build/components/url-popover/link-viewer.js.map +1 -1
  650. package/build/components/use-block-display-information/index.js +2 -2
  651. package/build/components/use-block-display-information/index.js.map +1 -1
  652. package/build/components/use-block-drop-zone/index.js +16 -23
  653. package/build/components/use-block-drop-zone/index.js.map +1 -1
  654. package/build/components/use-block-drop-zone/index.native.js +8 -11
  655. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  656. package/build/components/use-moving-animation/index.js +9 -12
  657. package/build/components/use-moving-animation/index.js.map +1 -1
  658. package/build/components/use-on-block-drop/index.js +2 -6
  659. package/build/components/use-on-block-drop/index.js.map +1 -1
  660. package/build/components/use-on-block-drop/index.native.js +8 -10
  661. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  662. package/build/components/use-paste-styles/index.js +2 -6
  663. package/build/components/use-paste-styles/index.js.map +1 -1
  664. package/build/components/warning/index.js +6 -7
  665. package/build/components/warning/index.js.map +1 -1
  666. package/build/components/warning/index.native.js +9 -10
  667. package/build/components/warning/index.native.js.map +1 -1
  668. package/build/components/writing-flow/index.js +4 -5
  669. package/build/components/writing-flow/index.js.map +1 -1
  670. package/build/components/writing-flow/use-drag-selection.js +4 -6
  671. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  672. package/build/components/writing-flow/use-tab-nav.js +9 -6
  673. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  674. package/build/hooks/align.js +7 -14
  675. package/build/hooks/align.js.map +1 -1
  676. package/build/hooks/anchor.js +6 -3
  677. package/build/hooks/anchor.js.map +1 -1
  678. package/build/hooks/aria-label.js +1 -3
  679. package/build/hooks/aria-label.js.map +1 -1
  680. package/build/hooks/behaviors.js +91 -58
  681. package/build/hooks/behaviors.js.map +1 -1
  682. package/build/hooks/border.js +25 -38
  683. package/build/hooks/border.js.map +1 -1
  684. package/build/hooks/color.js +22 -37
  685. package/build/hooks/color.js.map +1 -1
  686. package/build/hooks/content-lock-ui.js +26 -30
  687. package/build/hooks/content-lock-ui.js.map +1 -1
  688. package/build/hooks/contrast-checker.js +4 -7
  689. package/build/hooks/contrast-checker.js.map +1 -1
  690. package/build/hooks/custom-class-name.js +5 -4
  691. package/build/hooks/custom-class-name.js.map +1 -1
  692. package/build/hooks/dimensions.js +6 -9
  693. package/build/hooks/dimensions.js.map +1 -1
  694. package/build/hooks/duotone.js +32 -44
  695. package/build/hooks/duotone.js.map +1 -1
  696. package/build/hooks/font-family.js +5 -6
  697. package/build/hooks/font-family.js.map +1 -1
  698. package/build/hooks/font-size.js +14 -21
  699. package/build/hooks/font-size.js.map +1 -1
  700. package/build/hooks/gap.js +5 -6
  701. package/build/hooks/gap.js.map +1 -1
  702. package/build/hooks/layout.js +42 -59
  703. package/build/hooks/layout.js.map +1 -1
  704. package/build/hooks/line-height.js +5 -8
  705. package/build/hooks/line-height.js.map +1 -1
  706. package/build/hooks/lock.js +2 -2
  707. package/build/hooks/lock.js.map +1 -1
  708. package/build/hooks/margin.js +6 -9
  709. package/build/hooks/margin.js.map +1 -1
  710. package/build/hooks/metadata-name.js +4 -5
  711. package/build/hooks/metadata-name.js.map +1 -1
  712. package/build/hooks/metadata.js +3 -7
  713. package/build/hooks/metadata.js.map +1 -1
  714. package/build/hooks/padding.js +6 -9
  715. package/build/hooks/padding.js.map +1 -1
  716. package/build/hooks/position.js +26 -40
  717. package/build/hooks/position.js.map +1 -1
  718. package/build/hooks/settings.js +1 -3
  719. package/build/hooks/settings.js.map +1 -1
  720. package/build/hooks/style.js +12 -19
  721. package/build/hooks/style.js.map +1 -1
  722. package/build/hooks/supports.js +3 -5
  723. package/build/hooks/supports.js.map +1 -1
  724. package/build/hooks/typography.js +18 -27
  725. package/build/hooks/typography.js.map +1 -1
  726. package/build/hooks/typography.native.js +1 -2
  727. package/build/hooks/typography.native.js.map +1 -1
  728. package/build/hooks/use-border-props.js +1 -3
  729. package/build/hooks/use-border-props.js.map +1 -1
  730. package/build/hooks/use-color-props.js +6 -8
  731. package/build/hooks/use-color-props.js.map +1 -1
  732. package/build/hooks/use-editor-wrapper-styles.native.js +34 -39
  733. package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  734. package/build/hooks/use-spacing-props.js +1 -1
  735. package/build/hooks/use-spacing-props.js.map +1 -1
  736. package/build/hooks/use-typography-props.js +8 -12
  737. package/build/hooks/use-typography-props.js.map +1 -1
  738. package/build/hooks/utils.js +6 -18
  739. package/build/hooks/utils.js.map +1 -1
  740. package/build/layouts/constrained.js +22 -27
  741. package/build/layouts/constrained.js.map +1 -1
  742. package/build/layouts/flex.js +43 -54
  743. package/build/layouts/flex.js.map +1 -1
  744. package/build/layouts/flow.js +10 -13
  745. package/build/layouts/flow.js.map +1 -1
  746. package/build/layouts/grid.js +45 -25
  747. package/build/layouts/grid.js.map +1 -1
  748. package/build/layouts/index.js +1 -2
  749. package/build/layouts/index.js.map +1 -1
  750. package/build/layouts/utils.js +3 -9
  751. package/build/layouts/utils.js.map +1 -1
  752. package/build/store/actions.js +251 -334
  753. package/build/store/actions.js.map +1 -1
  754. package/build/store/array.js +1 -2
  755. package/build/store/array.js.map +1 -1
  756. package/build/store/private-actions.js +3 -7
  757. package/build/store/private-actions.js.map +1 -1
  758. package/build/store/private-selectors.js +41 -24
  759. package/build/store/private-selectors.js.map +1 -1
  760. package/build/store/reducer.js +67 -169
  761. package/build/store/reducer.js.map +1 -1
  762. package/build/store/selectors.js +145 -215
  763. package/build/store/selectors.js.map +1 -1
  764. package/build/utils/block-variation-transforms.js +4 -7
  765. package/build/utils/block-variation-transforms.js.map +1 -1
  766. package/build/utils/math.js +1 -2
  767. package/build/utils/math.js.map +1 -1
  768. package/build/utils/object.js +1 -4
  769. package/build/utils/object.js.map +1 -1
  770. package/build/utils/order-inserter-block-items.js +5 -7
  771. package/build/utils/order-inserter-block-items.js.map +1 -1
  772. package/build/utils/parse-css-unit-to-px.js +3 -6
  773. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  774. package/build/utils/pasting.js +5 -8
  775. package/build/utils/pasting.js.map +1 -1
  776. package/build/utils/pre-parse-patterns.js +1 -1
  777. package/build/utils/pre-parse-patterns.js.map +1 -1
  778. package/build/utils/sorting.js +1 -2
  779. package/build/utils/sorting.js.map +1 -1
  780. package/build/utils/transform-styles/index.js +5 -7
  781. package/build/utils/transform-styles/index.js.map +1 -1
  782. package/build/utils/transform-styles/transforms/wrap.js +28 -31
  783. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  784. package/build-module/autocompleters/block.js +1 -3
  785. package/build-module/autocompleters/block.js.map +1 -1
  786. package/build-module/components/alignment-control/ui.js +9 -11
  787. package/build-module/components/alignment-control/ui.js.map +1 -1
  788. package/build-module/components/autocomplete/index.js +3 -4
  789. package/build-module/components/autocomplete/index.js.map +1 -1
  790. package/build-module/components/block-actions/index.js +8 -12
  791. package/build-module/components/block-actions/index.js.map +1 -1
  792. package/build-module/components/block-alignment-control/ui.js +17 -21
  793. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  794. package/build-module/components/block-alignment-control/ui.native.js +14 -17
  795. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  796. package/build-module/components/block-alignment-control/use-available-alignments.js +5 -10
  797. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  798. package/build-module/components/block-alignment-matrix-control/index.js +4 -6
  799. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  800. package/build-module/components/block-breadcrumb/index.js +3 -4
  801. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  802. package/build-module/components/block-caption/index.native.js +29 -34
  803. package/build-module/components/block-caption/index.native.js.map +1 -1
  804. package/build-module/components/block-card/index.js +7 -9
  805. package/build-module/components/block-card/index.js.map +1 -1
  806. package/build-module/components/block-compare/block-view.js +8 -9
  807. package/build-module/components/block-compare/block-view.js.map +1 -1
  808. package/build-module/components/block-compare/index.js +7 -9
  809. package/build-module/components/block-compare/index.js.map +1 -1
  810. package/build-module/components/block-context/index.js +4 -5
  811. package/build-module/components/block-context/index.js.map +1 -1
  812. package/build-module/components/block-controls/fill.js +17 -23
  813. package/build-module/components/block-controls/fill.js.map +1 -1
  814. package/build-module/components/block-controls/hook.js +1 -3
  815. package/build-module/components/block-controls/hook.js.map +1 -1
  816. package/build-module/components/block-controls/slot.js +29 -21
  817. package/build-module/components/block-controls/slot.js.map +1 -1
  818. package/build-module/components/block-controls/slot.native.js +8 -18
  819. package/build-module/components/block-controls/slot.native.js.map +1 -1
  820. package/build-module/components/block-draggable/draggable-chip.js +5 -7
  821. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  822. package/build-module/components/block-draggable/draggable-chip.native.js +3 -4
  823. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  824. package/build-module/components/block-draggable/dropping-insertion-point.native.js +6 -7
  825. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  826. package/build-module/components/block-draggable/index.js +16 -17
  827. package/build-module/components/block-draggable/index.js.map +1 -1
  828. package/build-module/components/block-draggable/index.native.js +43 -58
  829. package/build-module/components/block-draggable/index.native.js.map +1 -1
  830. package/build-module/components/block-edit/edit.js +1 -4
  831. package/build-module/components/block-edit/edit.js.map +1 -1
  832. package/build-module/components/block-edit/edit.native.js +1 -4
  833. package/build-module/components/block-edit/edit.native.js.map +1 -1
  834. package/build-module/components/block-edit-visually-button/index.js +3 -4
  835. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  836. package/build-module/components/block-full-height-alignment-control/index.js +6 -7
  837. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  838. package/build-module/components/block-icon/index.js +7 -11
  839. package/build-module/components/block-icon/index.js.map +1 -1
  840. package/build-module/components/block-icon/index.native.js +9 -13
  841. package/build-module/components/block-icon/index.native.js.map +1 -1
  842. package/build-module/components/block-inspector/index.js +36 -46
  843. package/build-module/components/block-inspector/index.js.map +1 -1
  844. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  845. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  846. package/build-module/components/block-list/block-html.js +3 -4
  847. package/build-module/components/block-list/block-html.js.map +1 -1
  848. package/build-module/components/block-list/block-invalid-warning.js +3 -4
  849. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  850. package/build-module/components/block-list/block-invalid-warning.native.js +10 -15
  851. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  852. package/build-module/components/block-list/block-list-context.native.js +5 -11
  853. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  854. package/build-module/components/block-list/block-list-item-cell.native.js +5 -6
  855. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  856. package/build-module/components/block-list/block-list-item.native.js +17 -18
  857. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  858. package/build-module/components/block-list/block-outline.native.js +8 -9
  859. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  860. package/build-module/components/block-list/block-selection-button.native.js +10 -12
  861. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  862. package/build-module/components/block-list/block.js +39 -46
  863. package/build-module/components/block-list/block.js.map +1 -1
  864. package/build-module/components/block-list/block.native.js +55 -68
  865. package/build-module/components/block-list/block.native.js.map +1 -1
  866. package/build-module/components/block-list/index.js +12 -15
  867. package/build-module/components/block-list/index.js.map +1 -1
  868. package/build-module/components/block-list/index.native.js +77 -86
  869. package/build-module/components/block-list/index.native.js.map +1 -1
  870. package/build-module/components/block-list/insertion-point.native.js +4 -5
  871. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  872. package/build-module/components/block-list/layout.js +6 -9
  873. package/build-module/components/block-list/layout.js.map +1 -1
  874. package/build-module/components/block-list/subdirectory-icon.js +10 -13
  875. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  876. package/build-module/components/block-list/use-block-props/index.js +14 -11
  877. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  878. package/build-module/components/block-list/use-block-props/index.native.js +1 -2
  879. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  880. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  881. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  882. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  883. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  884. package/build-module/components/block-list/use-in-between-inserter.js +1 -3
  885. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  886. package/build-module/components/block-list-appender/index.js +15 -15
  887. package/build-module/components/block-list-appender/index.js.map +1 -1
  888. package/build-module/components/block-list-appender/index.native.js +9 -11
  889. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  890. package/build-module/components/block-lock/menu-item.js +3 -4
  891. package/build-module/components/block-lock/menu-item.js.map +1 -1
  892. package/build-module/components/block-lock/modal.js +6 -9
  893. package/build-module/components/block-lock/modal.js.map +1 -1
  894. package/build-module/components/block-lock/toolbar.js +5 -10
  895. package/build-module/components/block-lock/toolbar.js.map +1 -1
  896. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +49 -67
  897. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  898. package/build-module/components/block-mobile-toolbar/index.native.js +26 -34
  899. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  900. package/build-module/components/block-mover/button.js +6 -7
  901. package/build-module/components/block-mover/button.js.map +1 -1
  902. package/build-module/components/block-mover/index.js +5 -8
  903. package/build-module/components/block-mover/index.js.map +1 -1
  904. package/build-module/components/block-mover/index.native.js +23 -46
  905. package/build-module/components/block-mover/index.native.js.map +1 -1
  906. package/build-module/components/block-mover/mover-description.native.js +7 -10
  907. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  908. package/build-module/components/block-navigation/dropdown.js +20 -25
  909. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  910. package/build-module/components/block-parent-selector/index.js +2 -2
  911. package/build-module/components/block-parent-selector/index.js.map +1 -1
  912. package/build-module/components/block-pattern-setup/index.js +27 -31
  913. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  914. package/build-module/components/block-pattern-setup/setup-toolbar.js +35 -42
  915. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  916. package/build-module/components/block-patterns-list/index.js +71 -78
  917. package/build-module/components/block-patterns-list/index.js.map +1 -1
  918. package/build-module/components/block-popover/drop-zone.js +4 -5
  919. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  920. package/build-module/components/block-popover/inbetween.js +10 -15
  921. package/build-module/components/block-popover/inbetween.js.map +1 -1
  922. package/build-module/components/block-popover/index.js +14 -15
  923. package/build-module/components/block-popover/index.js.map +1 -1
  924. package/build-module/components/block-preview/auto.js +6 -8
  925. package/build-module/components/block-preview/auto.js.map +1 -1
  926. package/build-module/components/block-preview/index.js +15 -18
  927. package/build-module/components/block-preview/index.js.map +1 -1
  928. package/build-module/components/block-settings/button.native.js +7 -10
  929. package/build-module/components/block-settings/button.native.js.map +1 -1
  930. package/build-module/components/block-settings-menu/block-convert-button.js +5 -7
  931. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  932. package/build-module/components/block-settings-menu/block-html-convert-button.js +10 -14
  933. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  934. package/build-module/components/block-settings-menu/block-mode-toggle.js +19 -25
  935. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  936. package/build-module/components/block-settings-menu/block-settings-dropdown.js +135 -113
  937. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  938. package/build-module/components/block-settings-menu/index.js +4 -5
  939. package/build-module/components/block-settings-menu/index.js.map +1 -1
  940. package/build-module/components/block-settings-menu-controls/index.js +14 -16
  941. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  942. package/build-module/components/block-styles/index.js +6 -7
  943. package/build-module/components/block-styles/index.js.map +1 -1
  944. package/build-module/components/block-styles/index.native.js +5 -7
  945. package/build-module/components/block-styles/index.native.js.map +1 -1
  946. package/build-module/components/block-styles/menu-items.js +4 -5
  947. package/build-module/components/block-styles/menu-items.js.map +1 -1
  948. package/build-module/components/block-styles/preview-panel.js +7 -10
  949. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  950. package/build-module/components/block-styles/preview.native.js +6 -7
  951. package/build-module/components/block-styles/preview.native.js.map +1 -1
  952. package/build-module/components/block-styles/use-styles-for-block.js +7 -9
  953. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
  954. package/build-module/components/block-styles/utils.js +4 -7
  955. package/build-module/components/block-styles/utils.js.map +1 -1
  956. package/build-module/components/block-switcher/block-styles-menu.js +4 -5
  957. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  958. package/build-module/components/block-switcher/block-transformations-menu.js +24 -29
  959. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  960. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -10
  961. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  962. package/build-module/components/block-switcher/block-variation-transformations.js +21 -30
  963. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  964. package/build-module/components/block-switcher/index.js +47 -60
  965. package/build-module/components/block-switcher/index.js.map +1 -1
  966. package/build-module/components/block-switcher/pattern-transformations-menu.js +18 -22
  967. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  968. package/build-module/components/block-switcher/preview-block-popover.js +3 -4
  969. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  970. package/build-module/components/block-switcher/utils.js +2 -3
  971. package/build-module/components/block-switcher/utils.js.map +1 -1
  972. package/build-module/components/block-title/index.js +5 -6
  973. package/build-module/components/block-title/index.js.map +1 -1
  974. package/build-module/components/block-title/use-block-display-title.js +5 -6
  975. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  976. package/build-module/components/block-toolbar/index.js +4 -5
  977. package/build-module/components/block-toolbar/index.js.map +1 -1
  978. package/build-module/components/block-toolbar/utils.js +14 -16
  979. package/build-module/components/block-toolbar/utils.js.map +1 -1
  980. package/build-module/components/block-tools/back-compat.js +3 -4
  981. package/build-module/components/block-tools/back-compat.js.map +1 -1
  982. package/build-module/components/block-tools/block-contextual-toolbar.js +5 -6
  983. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  984. package/build-module/components/block-tools/block-selection-button.js +6 -9
  985. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  986. package/build-module/components/block-tools/index.js +6 -7
  987. package/build-module/components/block-tools/index.js.map +1 -1
  988. package/build-module/components/block-tools/insertion-point.js +7 -10
  989. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  990. package/build-module/components/block-tools/selected-block-popover.js +19 -20
  991. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  992. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  993. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  994. package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -4
  995. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  996. package/build-module/components/block-types-list/index.js +8 -9
  997. package/build-module/components/block-types-list/index.js.map +1 -1
  998. package/build-module/components/block-types-list/index.native.js +22 -27
  999. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1000. package/build-module/components/block-variation-picker/index.js +8 -9
  1001. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1002. package/build-module/components/block-variation-picker/index.native.js +7 -9
  1003. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1004. package/build-module/components/block-variation-transforms/index.js +30 -41
  1005. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1006. package/build-module/components/block-vertical-alignment-control/ui.js +7 -9
  1007. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1008. package/build-module/components/border-radius-control/all-input-control.js +7 -8
  1009. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1010. package/build-module/components/border-radius-control/index.js +9 -10
  1011. package/build-module/components/border-radius-control/index.js.map +1 -1
  1012. package/build-module/components/border-radius-control/input-controls.js +8 -11
  1013. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1014. package/build-module/components/border-radius-control/linked-button.js +4 -5
  1015. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1016. package/build-module/components/border-radius-control/utils.js +3 -7
  1017. package/build-module/components/border-radius-control/utils.js.map +1 -1
  1018. package/build-module/components/button-block-appender/index.js +13 -15
  1019. package/build-module/components/button-block-appender/index.js.map +1 -1
  1020. package/build-module/components/button-block-appender/index.native.js +25 -29
  1021. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1022. package/build-module/components/caption/index.native.js +40 -43
  1023. package/build-module/components/caption/index.native.js.map +1 -1
  1024. package/build-module/components/child-layout-control/index.js +5 -6
  1025. package/build-module/components/child-layout-control/index.js.map +1 -1
  1026. package/build-module/components/color-palette/control.js +5 -6
  1027. package/build-module/components/color-palette/control.js.map +1 -1
  1028. package/build-module/components/color-palette/with-color-context.js +1 -6
  1029. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1030. package/build-module/components/color-style-selector/index.js +28 -35
  1031. package/build-module/components/color-style-selector/index.js.map +1 -1
  1032. package/build-module/components/colors/utils.js +5 -8
  1033. package/build-module/components/colors/utils.js.map +1 -1
  1034. package/build-module/components/colors/with-colors.js +9 -24
  1035. package/build-module/components/colors/with-colors.js.map +1 -1
  1036. package/build-module/components/colors-gradients/control.js +19 -21
  1037. package/build-module/components/colors-gradients/control.js.map +1 -1
  1038. package/build-module/components/colors-gradients/dropdown.js +32 -39
  1039. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1040. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +20 -24
  1041. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1042. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  1043. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1044. package/build-module/components/contrast-checker/index.js +12 -13
  1045. package/build-module/components/contrast-checker/index.js.map +1 -1
  1046. package/build-module/components/contrast-checker/index.native.js +16 -18
  1047. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1048. package/build-module/components/convert-to-group-buttons/index.js +9 -10
  1049. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1050. package/build-module/components/convert-to-group-buttons/index.native.js +6 -7
  1051. package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
  1052. package/build-module/components/convert-to-group-buttons/toolbar.js +6 -12
  1053. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1054. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +4 -6
  1055. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  1056. package/build-module/components/copy-handler/index.js +4 -7
  1057. package/build-module/components/copy-handler/index.js.map +1 -1
  1058. package/build-module/components/date-format-picker/index.js +12 -16
  1059. package/build-module/components/date-format-picker/index.js.map +1 -1
  1060. package/build-module/components/default-block-appender/index.js +7 -9
  1061. package/build-module/components/default-block-appender/index.js.map +1 -1
  1062. package/build-module/components/default-block-appender/index.native.js +8 -10
  1063. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1064. package/build-module/components/default-style-picker/index.js +14 -22
  1065. package/build-module/components/default-style-picker/index.js.map +1 -1
  1066. package/build-module/components/duotone/components.js +14 -18
  1067. package/build-module/components/duotone/components.js.map +1 -1
  1068. package/build-module/components/duotone/utils.js +1 -2
  1069. package/build-module/components/duotone/utils.js.map +1 -1
  1070. package/build-module/components/duotone-control/index.js +12 -15
  1071. package/build-module/components/duotone-control/index.js.map +1 -1
  1072. package/build-module/components/editable-text/index.js +5 -6
  1073. package/build-module/components/editable-text/index.js.map +1 -1
  1074. package/build-module/components/editor-styles/index.js +4 -5
  1075. package/build-module/components/editor-styles/index.js.map +1 -1
  1076. package/build-module/components/floating-toolbar/index.native.js +7 -8
  1077. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1078. package/build-module/components/font-appearance-control/index.js +19 -26
  1079. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1080. package/build-module/components/font-family/index.js +10 -12
  1081. package/build-module/components/font-family/index.js.map +1 -1
  1082. package/build-module/components/font-sizes/fluid-utils.js +17 -21
  1083. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  1084. package/build-module/components/font-sizes/utils.js +6 -12
  1085. package/build-module/components/font-sizes/utils.js.map +1 -1
  1086. package/build-module/components/font-sizes/with-font-sizes.js +11 -30
  1087. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1088. package/build-module/components/global-styles/advanced-panel.js +7 -10
  1089. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1090. package/build-module/components/global-styles/border-panel.js +45 -78
  1091. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1092. package/build-module/components/global-styles/color-panel.js +104 -147
  1093. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1094. package/build-module/components/global-styles/color-panel.native.js +25 -42
  1095. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1096. package/build-module/components/global-styles/dimensions-panel.js +78 -109
  1097. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1098. package/build-module/components/global-styles/effects-panel.js +58 -72
  1099. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  1100. package/build-module/components/global-styles/filters-panel.js +53 -71
  1101. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1102. package/build-module/components/global-styles/get-block-css-selector.js +5 -8
  1103. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  1104. package/build-module/components/global-styles/hooks.js +22 -37
  1105. package/build-module/components/global-styles/hooks.js.map +1 -1
  1106. package/build-module/components/global-styles/typography-panel.js +69 -125
  1107. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1108. package/build-module/components/global-styles/typography-utils.js +48 -26
  1109. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  1110. package/build-module/components/global-styles/use-global-styles-output.js +142 -237
  1111. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1112. package/build-module/components/global-styles/utils.js +12 -28
  1113. package/build-module/components/global-styles/utils.js.map +1 -1
  1114. package/build-module/components/gradients/use-gradient.js +6 -7
  1115. package/build-module/components/gradients/use-gradient.js.map +1 -1
  1116. package/build-module/components/height-control/index.js +9 -10
  1117. package/build-module/components/height-control/index.js.map +1 -1
  1118. package/build-module/components/iframe/index.js +51 -86
  1119. package/build-module/components/iframe/index.js.map +1 -1
  1120. package/build-module/components/iframe/use-compatibility-styles.js +29 -20
  1121. package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
  1122. package/build-module/components/image-editor/aspect-ratio-dropdown.js +83 -91
  1123. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1124. package/build-module/components/image-editor/context.js +9 -10
  1125. package/build-module/components/image-editor/context.js.map +1 -1
  1126. package/build-module/components/image-editor/cropper.js +11 -12
  1127. package/build-module/components/image-editor/cropper.js.map +1 -1
  1128. package/build-module/components/image-editor/index.js +12 -13
  1129. package/build-module/components/image-editor/index.js.map +1 -1
  1130. package/build-module/components/image-editor/use-save-image.js +11 -12
  1131. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  1132. package/build-module/components/image-editor/use-transform-image.js +5 -6
  1133. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  1134. package/build-module/components/image-editor/zoom-dropdown.js +10 -13
  1135. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1136. package/build-module/components/image-size-control/index.js +12 -13
  1137. package/build-module/components/image-size-control/index.js.map +1 -1
  1138. package/build-module/components/inner-blocks/button-block-appender.js +7 -8
  1139. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1140. package/build-module/components/inner-blocks/default-block-appender.js +6 -8
  1141. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1142. package/build-module/components/inner-blocks/index.js +2 -6
  1143. package/build-module/components/inner-blocks/index.js.map +1 -1
  1144. package/build-module/components/inner-blocks/index.native.js +1 -3
  1145. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1146. package/build-module/components/inner-blocks/use-block-context.js +1 -4
  1147. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  1148. package/build-module/components/inner-blocks/use-nested-settings-update.js +2 -4
  1149. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1150. package/build-module/components/inserter/block-patterns-explorer/explorer.js +9 -11
  1151. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  1152. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  1153. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  1154. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  1155. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  1156. package/build-module/components/inserter/block-patterns-tab.js +29 -40
  1157. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  1158. package/build-module/components/inserter/block-types-tab.js +7 -9
  1159. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1160. package/build-module/components/inserter/block-types-tab.native.js +8 -9
  1161. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1162. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  1163. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  1164. package/build-module/components/inserter/hooks/use-block-types-state.js +5 -6
  1165. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1166. package/build-module/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  1167. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  1168. package/build-module/components/inserter/hooks/use-debounced-input.js +1 -2
  1169. package/build-module/components/inserter/hooks/use-debounced-input.js.map +1 -1
  1170. package/build-module/components/inserter/hooks/use-insertion-point.js +10 -12
  1171. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1172. package/build-module/components/inserter/index.js +37 -51
  1173. package/build-module/components/inserter/index.js.map +1 -1
  1174. package/build-module/components/inserter/index.native.js +24 -31
  1175. package/build-module/components/inserter/index.native.js.map +1 -1
  1176. package/build-module/components/inserter/library.js +11 -12
  1177. package/build-module/components/inserter/library.js.map +1 -1
  1178. package/build-module/components/inserter/media-tab/hooks.js +2 -5
  1179. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  1180. package/build-module/components/inserter/media-tab/media-list.js +6 -7
  1181. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1182. package/build-module/components/inserter/media-tab/media-panel.js +12 -14
  1183. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1184. package/build-module/components/inserter/media-tab/media-preview.js +47 -58
  1185. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1186. package/build-module/components/inserter/media-tab/media-tab.js +24 -28
  1187. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1188. package/build-module/components/inserter/media-tab/utils.js +3 -5
  1189. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1190. package/build-module/components/inserter/menu.js +15 -19
  1191. package/build-module/components/inserter/menu.js.map +1 -1
  1192. package/build-module/components/inserter/menu.native.js +27 -31
  1193. package/build-module/components/inserter/menu.native.js.map +1 -1
  1194. package/build-module/components/inserter/mobile-tab-navigation.js +7 -9
  1195. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1196. package/build-module/components/inserter/panel.js +5 -6
  1197. package/build-module/components/inserter/panel.js.map +1 -1
  1198. package/build-module/components/inserter/preview-panel.js +4 -5
  1199. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1200. package/build-module/components/inserter/quick-inserter.js +8 -9
  1201. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1202. package/build-module/components/inserter/reusable-blocks-tab.js +13 -18
  1203. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  1204. package/build-module/components/inserter/reusable-blocks-tab.native.js +5 -6
  1205. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1206. package/build-module/components/inserter/search-items.js +12 -40
  1207. package/build-module/components/inserter/search-items.js.map +1 -1
  1208. package/build-module/components/inserter/search-results.js +17 -18
  1209. package/build-module/components/inserter/search-results.js.map +1 -1
  1210. package/build-module/components/inserter/search-results.native.js +11 -12
  1211. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1212. package/build-module/components/inserter/tabs.js +8 -9
  1213. package/build-module/components/inserter/tabs.js.map +1 -1
  1214. package/build-module/components/inserter/tabs.native.js +37 -55
  1215. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1216. package/build-module/components/inserter/utils.native.js +13 -17
  1217. package/build-module/components/inserter/utils.native.js.map +1 -1
  1218. package/build-module/components/inserter-draggable-blocks/index.js +11 -13
  1219. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1220. package/build-module/components/inserter-list-item/index.js +65 -69
  1221. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1222. package/build-module/components/inserter-listbox/index.js +3 -4
  1223. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1224. package/build-module/components/inserter-listbox/item.js +6 -7
  1225. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1226. package/build-module/components/inspector-controls/block-support-slot-container.js +4 -5
  1227. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1228. package/build-module/components/inspector-controls/block-support-tools-panel.js +6 -8
  1229. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1230. package/build-module/components/inspector-controls/fill.js +13 -23
  1231. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1232. package/build-module/components/inspector-controls/fill.native.js +7 -11
  1233. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1234. package/build-module/components/inspector-controls/slot.js +9 -13
  1235. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1236. package/build-module/components/inspector-controls/slot.native.js +6 -10
  1237. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1238. package/build-module/components/inspector-controls-tabs/index.js +6 -7
  1239. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1240. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  1241. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1242. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  1243. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1244. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -6
  1245. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1246. package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -6
  1247. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1248. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  1249. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  1250. package/build-module/components/inspector-popover-header/index.js +18 -22
  1251. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1252. package/build-module/components/justify-content-control/ui.js +8 -10
  1253. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1254. package/build-module/components/letter-spacing-control/index.js +6 -7
  1255. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1256. package/build-module/components/line-height-control/index.js +13 -18
  1257. package/build-module/components/line-height-control/index.js.map +1 -1
  1258. package/build-module/components/line-height-control/index.native.js +4 -5
  1259. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1260. package/build-module/components/link-control/index.js +83 -64
  1261. package/build-module/components/link-control/index.js.map +1 -1
  1262. package/build-module/components/link-control/is-url-like.js +32 -3
  1263. package/build-module/components/link-control/is-url-like.js.map +1 -1
  1264. package/build-module/components/link-control/link-preview.js +24 -27
  1265. package/build-module/components/link-control/link-preview.js.map +1 -1
  1266. package/build-module/components/link-control/search-create-button.js +7 -9
  1267. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1268. package/build-module/components/link-control/search-input.js +22 -27
  1269. package/build-module/components/link-control/search-input.js.map +1 -1
  1270. package/build-module/components/link-control/search-item.js +13 -15
  1271. package/build-module/components/link-control/search-item.js.map +1 -1
  1272. package/build-module/components/link-control/search-results.js +21 -27
  1273. package/build-module/components/link-control/search-results.js.map +1 -1
  1274. package/build-module/components/link-control/settings-drawer.js +7 -33
  1275. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1276. package/build-module/components/link-control/settings.js +7 -9
  1277. package/build-module/components/link-control/settings.js.map +1 -1
  1278. package/build-module/components/link-control/use-internal-value.js +46 -0
  1279. package/build-module/components/link-control/use-internal-value.js.map +1 -0
  1280. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  1281. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  1282. package/build-module/components/link-control/use-search-handler.js +10 -23
  1283. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  1284. package/build-module/components/list-view/appender.js +11 -12
  1285. package/build-module/components/list-view/appender.js.map +1 -1
  1286. package/build-module/components/list-view/aria-referenced-text.js +35 -0
  1287. package/build-module/components/list-view/aria-referenced-text.js.map +1 -0
  1288. package/build-module/components/list-view/block-contents.js +38 -38
  1289. package/build-module/components/list-view/block-contents.js.map +1 -1
  1290. package/build-module/components/list-view/block-select-button.js +65 -22
  1291. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1292. package/build-module/components/list-view/block.js +117 -101
  1293. package/build-module/components/list-view/block.js.map +1 -1
  1294. package/build-module/components/list-view/branch.js +5 -5
  1295. package/build-module/components/list-view/branch.js.map +1 -1
  1296. package/build-module/components/list-view/drop-indicator.js +4 -5
  1297. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1298. package/build-module/components/list-view/expander.js +3 -4
  1299. package/build-module/components/list-view/expander.js.map +1 -1
  1300. package/build-module/components/list-view/index.js +46 -43
  1301. package/build-module/components/list-view/index.js.map +1 -1
  1302. package/build-module/components/list-view/leaf.js +10 -11
  1303. package/build-module/components/list-view/leaf.js.map +1 -1
  1304. package/build-module/components/list-view/use-block-selection.js +4 -6
  1305. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  1306. package/build-module/components/list-view/use-list-view-client-ids.js +9 -12
  1307. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  1308. package/build-module/components/list-view/use-list-view-drop-zone.js +25 -13
  1309. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  1310. package/build-module/components/list-view/use-list-view-expand-selected-item.js +4 -5
  1311. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  1312. package/build-module/components/list-view/use-list-view-scroll-into-view.js +5 -6
  1313. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  1314. package/build-module/components/media-placeholder/index.js +71 -92
  1315. package/build-module/components/media-placeholder/index.js.map +1 -1
  1316. package/build-module/components/media-placeholder/index.native.js +5 -6
  1317. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1318. package/build-module/components/media-replace-flow/index.js +94 -107
  1319. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1320. package/build-module/components/media-upload/check.js +4 -5
  1321. package/build-module/components/media-upload/check.js.map +1 -1
  1322. package/build-module/components/media-upload/index.native.js +1 -1
  1323. package/build-module/components/media-upload/index.native.js.map +1 -1
  1324. package/build-module/components/multi-selection-inspector/index.js +3 -4
  1325. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1326. package/build-module/components/navigable-toolbar/index.js +16 -15
  1327. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1328. package/build-module/components/observe-typing/index.js +3 -4
  1329. package/build-module/components/observe-typing/index.js.map +1 -1
  1330. package/build-module/components/panel-color-settings/index.js +4 -5
  1331. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1332. package/build-module/components/plain-text/index.js +4 -6
  1333. package/build-module/components/plain-text/index.js.map +1 -1
  1334. package/build-module/components/plain-text/index.native.js +8 -14
  1335. package/build-module/components/plain-text/index.native.js.map +1 -1
  1336. package/build-module/components/preview-options/index.js +8 -9
  1337. package/build-module/components/preview-options/index.js.map +1 -1
  1338. package/build-module/components/provider/block-refs-provider.js +3 -4
  1339. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1340. package/build-module/components/provider/use-block-sync.js +7 -8
  1341. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1342. package/build-module/components/provider/with-registry-provider.js +5 -7
  1343. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1344. package/build-module/components/publish-date-time-picker/index.js +6 -7
  1345. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1346. package/build-module/components/recursion-provider/index.js +7 -11
  1347. package/build-module/components/recursion-provider/index.js.map +1 -1
  1348. package/build-module/components/resizable-box-popover/index.js +5 -6
  1349. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1350. package/build-module/components/responsive-block-control/label.js +5 -6
  1351. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1352. package/build-module/components/rich-text/embed-handler-picker.native.js +6 -10
  1353. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1354. package/build-module/components/rich-text/format-edit.js +7 -8
  1355. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1356. package/build-module/components/rich-text/format-toolbar/index.js +9 -18
  1357. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1358. package/build-module/components/rich-text/format-toolbar-container.js +13 -16
  1359. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1360. package/build-module/components/rich-text/index.js +43 -47
  1361. package/build-module/components/rich-text/index.js.map +1 -1
  1362. package/build-module/components/rich-text/index.native.js +130 -157
  1363. package/build-module/components/rich-text/index.native.js.map +1 -1
  1364. package/build-module/components/rich-text/input-event.js +4 -5
  1365. package/build-module/components/rich-text/input-event.js.map +1 -1
  1366. package/build-module/components/rich-text/shortcut.js +5 -6
  1367. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1368. package/build-module/components/rich-text/split-value.js +8 -10
  1369. package/build-module/components/rich-text/split-value.js.map +1 -1
  1370. package/build-module/components/rich-text/toolbar-button.js +6 -7
  1371. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1372. package/build-module/components/rich-text/use-before-input-rules.js +1 -4
  1373. package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
  1374. package/build-module/components/rich-text/use-enter.js +3 -6
  1375. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1376. package/build-module/components/rich-text/use-firefox-compat.js +29 -1
  1377. package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
  1378. package/build-module/components/rich-text/use-format-types.js +11 -17
  1379. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1380. package/build-module/components/rich-text/use-input-rules.js +9 -15
  1381. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1382. package/build-module/components/rich-text/use-mark-persistent.js +4 -5
  1383. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1384. package/build-module/components/rich-text/use-paste-handler.js +5 -7
  1385. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1386. package/build-module/components/rich-text/utils.js +5 -7
  1387. package/build-module/components/rich-text/utils.js.map +1 -1
  1388. package/build-module/components/skip-to-selected-block/index.js +3 -4
  1389. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1390. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +27 -0
  1391. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  1392. package/build-module/components/spacing-sizes-control/index.js +62 -63
  1393. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1394. package/build-module/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  1395. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  1396. package/build-module/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +21 -21
  1397. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  1398. package/build-module/components/spacing-sizes-control/input-controls/single.js +40 -0
  1399. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  1400. package/build-module/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +53 -70
  1401. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  1402. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +73 -0
  1403. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  1404. package/build-module/components/spacing-sizes-control/utils.js +196 -25
  1405. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1406. package/build-module/components/text-decoration-control/index.js +5 -6
  1407. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1408. package/build-module/components/text-transform-control/index.js +5 -6
  1409. package/build-module/components/text-transform-control/index.js.map +1 -1
  1410. package/build-module/components/tool-selector/index.js +13 -16
  1411. package/build-module/components/tool-selector/index.js.map +1 -1
  1412. package/build-module/components/typewriter/index.js +6 -9
  1413. package/build-module/components/typewriter/index.js.map +1 -1
  1414. package/build-module/components/ungroup-button/index.native.js +11 -14
  1415. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1416. package/build-module/components/unit-control/index.js +4 -5
  1417. package/build-module/components/unit-control/index.js.map +1 -1
  1418. package/build-module/components/url-input/index.js +15 -26
  1419. package/build-module/components/url-input/index.js.map +1 -1
  1420. package/build-module/components/url-input/index.native.js +6 -8
  1421. package/build-module/components/url-input/index.native.js.map +1 -1
  1422. package/build-module/components/url-popover/image-url-input-ui.js +12 -15
  1423. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1424. package/build-module/components/url-popover/index.js +12 -14
  1425. package/build-module/components/url-popover/index.js.map +1 -1
  1426. package/build-module/components/url-popover/link-editor.js +7 -8
  1427. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1428. package/build-module/components/url-popover/link-viewer-url.js +5 -6
  1429. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1430. package/build-module/components/url-popover/link-viewer.js +8 -9
  1431. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1432. package/build-module/components/use-block-display-information/index.js +2 -2
  1433. package/build-module/components/use-block-display-information/index.js.map +1 -1
  1434. package/build-module/components/use-block-drop-zone/index.js +16 -23
  1435. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1436. package/build-module/components/use-block-drop-zone/index.native.js +8 -11
  1437. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  1438. package/build-module/components/use-moving-animation/index.js +9 -12
  1439. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1440. package/build-module/components/use-on-block-drop/index.js +2 -6
  1441. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1442. package/build-module/components/use-on-block-drop/index.native.js +8 -10
  1443. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  1444. package/build-module/components/use-paste-styles/index.js +2 -6
  1445. package/build-module/components/use-paste-styles/index.js.map +1 -1
  1446. package/build-module/components/warning/index.js +6 -7
  1447. package/build-module/components/warning/index.js.map +1 -1
  1448. package/build-module/components/warning/index.native.js +9 -10
  1449. package/build-module/components/warning/index.native.js.map +1 -1
  1450. package/build-module/components/writing-flow/index.js +4 -5
  1451. package/build-module/components/writing-flow/index.js.map +1 -1
  1452. package/build-module/components/writing-flow/use-drag-selection.js +4 -6
  1453. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  1454. package/build-module/components/writing-flow/use-tab-nav.js +9 -6
  1455. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1456. package/build-module/hooks/align.js +7 -14
  1457. package/build-module/hooks/align.js.map +1 -1
  1458. package/build-module/hooks/anchor.js +5 -3
  1459. package/build-module/hooks/anchor.js.map +1 -1
  1460. package/build-module/hooks/aria-label.js +1 -3
  1461. package/build-module/hooks/aria-label.js.map +1 -1
  1462. package/build-module/hooks/behaviors.js +90 -58
  1463. package/build-module/hooks/behaviors.js.map +1 -1
  1464. package/build-module/hooks/border.js +25 -38
  1465. package/build-module/hooks/border.js.map +1 -1
  1466. package/build-module/hooks/color.js +22 -37
  1467. package/build-module/hooks/color.js.map +1 -1
  1468. package/build-module/hooks/content-lock-ui.js +23 -27
  1469. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1470. package/build-module/hooks/contrast-checker.js +4 -7
  1471. package/build-module/hooks/contrast-checker.js.map +1 -1
  1472. package/build-module/hooks/custom-class-name.js +4 -4
  1473. package/build-module/hooks/custom-class-name.js.map +1 -1
  1474. package/build-module/hooks/dimensions.js +6 -9
  1475. package/build-module/hooks/dimensions.js.map +1 -1
  1476. package/build-module/hooks/duotone.js +32 -44
  1477. package/build-module/hooks/duotone.js.map +1 -1
  1478. package/build-module/hooks/font-family.js +5 -6
  1479. package/build-module/hooks/font-family.js.map +1 -1
  1480. package/build-module/hooks/font-size.js +14 -21
  1481. package/build-module/hooks/font-size.js.map +1 -1
  1482. package/build-module/hooks/gap.js +5 -6
  1483. package/build-module/hooks/gap.js.map +1 -1
  1484. package/build-module/hooks/layout.js +42 -59
  1485. package/build-module/hooks/layout.js.map +1 -1
  1486. package/build-module/hooks/line-height.js +5 -8
  1487. package/build-module/hooks/line-height.js.map +1 -1
  1488. package/build-module/hooks/lock.js +2 -2
  1489. package/build-module/hooks/lock.js.map +1 -1
  1490. package/build-module/hooks/margin.js +6 -9
  1491. package/build-module/hooks/margin.js.map +1 -1
  1492. package/build-module/hooks/metadata-name.js +4 -5
  1493. package/build-module/hooks/metadata-name.js.map +1 -1
  1494. package/build-module/hooks/metadata.js +3 -7
  1495. package/build-module/hooks/metadata.js.map +1 -1
  1496. package/build-module/hooks/padding.js +6 -9
  1497. package/build-module/hooks/padding.js.map +1 -1
  1498. package/build-module/hooks/position.js +26 -40
  1499. package/build-module/hooks/position.js.map +1 -1
  1500. package/build-module/hooks/settings.js +1 -3
  1501. package/build-module/hooks/settings.js.map +1 -1
  1502. package/build-module/hooks/style.js +11 -19
  1503. package/build-module/hooks/style.js.map +1 -1
  1504. package/build-module/hooks/supports.js +3 -5
  1505. package/build-module/hooks/supports.js.map +1 -1
  1506. package/build-module/hooks/typography.js +18 -27
  1507. package/build-module/hooks/typography.js.map +1 -1
  1508. package/build-module/hooks/typography.native.js +1 -2
  1509. package/build-module/hooks/typography.native.js.map +1 -1
  1510. package/build-module/hooks/use-border-props.js +1 -3
  1511. package/build-module/hooks/use-border-props.js.map +1 -1
  1512. package/build-module/hooks/use-color-props.js +6 -8
  1513. package/build-module/hooks/use-color-props.js.map +1 -1
  1514. package/build-module/hooks/use-editor-wrapper-styles.native.js +34 -39
  1515. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  1516. package/build-module/hooks/use-spacing-props.js +1 -1
  1517. package/build-module/hooks/use-spacing-props.js.map +1 -1
  1518. package/build-module/hooks/use-typography-props.js +8 -12
  1519. package/build-module/hooks/use-typography-props.js.map +1 -1
  1520. package/build-module/hooks/utils.js +7 -19
  1521. package/build-module/hooks/utils.js.map +1 -1
  1522. package/build-module/layouts/constrained.js +22 -27
  1523. package/build-module/layouts/constrained.js.map +1 -1
  1524. package/build-module/layouts/flex.js +43 -54
  1525. package/build-module/layouts/flex.js.map +1 -1
  1526. package/build-module/layouts/flow.js +10 -13
  1527. package/build-module/layouts/flow.js.map +1 -1
  1528. package/build-module/layouts/grid.js +45 -25
  1529. package/build-module/layouts/grid.js.map +1 -1
  1530. package/build-module/layouts/index.js +1 -2
  1531. package/build-module/layouts/index.js.map +1 -1
  1532. package/build-module/layouts/utils.js +3 -9
  1533. package/build-module/layouts/utils.js.map +1 -1
  1534. package/build-module/store/actions.js +253 -336
  1535. package/build-module/store/actions.js.map +1 -1
  1536. package/build-module/store/array.js +1 -2
  1537. package/build-module/store/array.js.map +1 -1
  1538. package/build-module/store/private-actions.js +3 -7
  1539. package/build-module/store/private-actions.js.map +1 -1
  1540. package/build-module/store/private-selectors.js +40 -25
  1541. package/build-module/store/private-selectors.js.map +1 -1
  1542. package/build-module/store/reducer.js +67 -169
  1543. package/build-module/store/reducer.js.map +1 -1
  1544. package/build-module/store/selectors.js +144 -215
  1545. package/build-module/store/selectors.js.map +1 -1
  1546. package/build-module/utils/block-variation-transforms.js +4 -7
  1547. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1548. package/build-module/utils/math.js +1 -2
  1549. package/build-module/utils/math.js.map +1 -1
  1550. package/build-module/utils/object.js +1 -4
  1551. package/build-module/utils/object.js.map +1 -1
  1552. package/build-module/utils/order-inserter-block-items.js +5 -7
  1553. package/build-module/utils/order-inserter-block-items.js.map +1 -1
  1554. package/build-module/utils/parse-css-unit-to-px.js +3 -6
  1555. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1556. package/build-module/utils/pasting.js +5 -8
  1557. package/build-module/utils/pasting.js.map +1 -1
  1558. package/build-module/utils/pre-parse-patterns.js +1 -1
  1559. package/build-module/utils/pre-parse-patterns.js.map +1 -1
  1560. package/build-module/utils/sorting.js +1 -2
  1561. package/build-module/utils/sorting.js.map +1 -1
  1562. package/build-module/utils/transform-styles/index.js +5 -7
  1563. package/build-module/utils/transform-styles/index.js.map +1 -1
  1564. package/build-module/utils/transform-styles/transforms/wrap.js +25 -28
  1565. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1566. package/build-style/content-rtl.css +7 -10
  1567. package/build-style/content.css +7 -10
  1568. package/build-style/style-rtl.css +35 -101
  1569. package/build-style/style.css +35 -101
  1570. package/package.json +31 -31
  1571. package/src/components/block-controls/fill.js +15 -17
  1572. package/src/components/block-controls/slot.js +21 -18
  1573. package/src/components/block-controls/slot.native.js +3 -8
  1574. package/src/components/block-draggable/index.js +2 -1
  1575. package/src/components/block-edit/test/edit.js +1 -1
  1576. package/src/components/block-inspector/index.js +1 -0
  1577. package/src/components/block-list/content.scss +8 -12
  1578. package/src/components/block-list/use-block-props/index.js +6 -1
  1579. package/src/components/block-list-appender/index.js +4 -1
  1580. package/src/components/block-lock/toolbar.js +2 -8
  1581. package/src/components/block-settings-menu/block-settings-dropdown.js +81 -41
  1582. package/src/components/block-tools/selected-block-popover.js +6 -0
  1583. package/src/components/color-palette/test/__snapshots__/control.js.snap +66 -50
  1584. package/src/components/color-palette/with-color-context.js +2 -6
  1585. package/src/components/colors-gradients/control.js +3 -3
  1586. package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -5
  1587. package/src/components/global-styles/dimensions-panel.js +14 -5
  1588. package/src/components/global-styles/get-block-css-selector.js +2 -2
  1589. package/src/components/global-styles/test/typography-utils.js +139 -1
  1590. package/src/components/global-styles/typography-utils.js +53 -28
  1591. package/src/components/global-styles/use-global-styles-output.js +18 -8
  1592. package/src/components/global-styles/utils.js +9 -3
  1593. package/src/components/iframe/index.js +46 -68
  1594. package/src/components/iframe/use-compatibility-styles.js +34 -18
  1595. package/src/components/inspector-controls/README.md +1 -1
  1596. package/src/components/inspector-controls/fill.js +2 -6
  1597. package/src/components/inspector-controls-tabs/index.js +0 -1
  1598. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -1
  1599. package/src/components/link-control/index.js +71 -33
  1600. package/src/components/link-control/is-url-like.js +40 -3
  1601. package/src/components/link-control/search-results.js +4 -14
  1602. package/src/components/link-control/settings-drawer.js +2 -37
  1603. package/src/components/link-control/settings.js +2 -2
  1604. package/src/components/link-control/style.scss +5 -6
  1605. package/src/components/link-control/test/index.js +169 -61
  1606. package/src/components/link-control/test/is-url-like.js +66 -0
  1607. package/src/components/link-control/use-internal-value.js +60 -0
  1608. package/src/components/link-control/use-search-handler.js +10 -27
  1609. package/src/components/list-view/appender.js +3 -5
  1610. package/src/components/list-view/aria-referenced-text.js +30 -0
  1611. package/src/components/list-view/block-contents.js +9 -8
  1612. package/src/components/list-view/block-select-button.js +59 -1
  1613. package/src/components/list-view/block.js +40 -10
  1614. package/src/components/list-view/index.js +29 -19
  1615. package/src/components/list-view/style.scss +0 -5
  1616. package/src/components/list-view/test/use-list-view-drop-zone.js +38 -1
  1617. package/src/components/list-view/use-block-selection.js +2 -2
  1618. package/src/components/list-view/use-list-view-drop-zone.js +22 -4
  1619. package/src/components/media-replace-flow/test/index.js +1 -1
  1620. package/src/components/navigable-toolbar/index.js +7 -5
  1621. package/src/components/rich-text/index.js +1 -1
  1622. package/src/components/rich-text/use-firefox-compat.js +27 -1
  1623. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +26 -0
  1624. package/src/components/spacing-sizes-control/index.js +85 -71
  1625. package/src/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +14 -13
  1626. package/src/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +15 -14
  1627. package/src/components/spacing-sizes-control/input-controls/single.js +40 -0
  1628. package/src/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +55 -80
  1629. package/src/components/spacing-sizes-control/sides-dropdown/index.js +91 -0
  1630. package/src/components/spacing-sizes-control/style.scss +28 -100
  1631. package/src/components/spacing-sizes-control/test/utils.js +233 -4
  1632. package/src/components/spacing-sizes-control/utils.js +203 -20
  1633. package/src/components/ungroup-button/index.native.js +2 -2
  1634. package/src/components/writing-flow/use-tab-nav.js +14 -3
  1635. package/src/hooks/anchor.js +3 -1
  1636. package/src/hooks/behaviors.js +116 -60
  1637. package/src/hooks/custom-class-name.js +23 -19
  1638. package/src/hooks/layout.js +4 -1
  1639. package/src/hooks/style.js +3 -1
  1640. package/src/hooks/utils.js +8 -7
  1641. package/src/layouts/grid.js +29 -3
  1642. package/src/store/private-selectors.js +54 -32
  1643. package/src/store/reducer.js +6 -8
  1644. package/src/store/selectors.js +31 -20
  1645. package/src/store/test/private-selectors.js +237 -62
  1646. package/src/store/test/reducer.js +0 -7
  1647. package/src/store/test/selectors.js +99 -0
  1648. package/build/components/link-control/use-internal-input-value.js +0 -27
  1649. package/build/components/link-control/use-internal-input-value.js.map +0 -1
  1650. package/build/components/spacing-sizes-control/all-input-control.js +0 -57
  1651. package/build/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1652. package/build/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1653. package/build/components/spacing-sizes-control/input-controls.js.map +0 -1
  1654. package/build/components/spacing-sizes-control/linked-button.js +0 -37
  1655. package/build/components/spacing-sizes-control/linked-button.js.map +0 -1
  1656. package/build/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1657. package/build/components/ungroup-button/icon.js +0 -31
  1658. package/build/components/ungroup-button/icon.js.map +0 -1
  1659. package/build-module/components/link-control/use-internal-input-value.js +0 -19
  1660. package/build-module/components/link-control/use-internal-input-value.js.map +0 -1
  1661. package/build-module/components/spacing-sizes-control/all-input-control.js +0 -45
  1662. package/build-module/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1663. package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1664. package/build-module/components/spacing-sizes-control/input-controls.js.map +0 -1
  1665. package/build-module/components/spacing-sizes-control/linked-button.js +0 -27
  1666. package/build-module/components/spacing-sizes-control/linked-button.js.map +0 -1
  1667. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1668. package/build-module/components/ungroup-button/icon.js +0 -22
  1669. package/build-module/components/ungroup-button/icon.js.map +0 -1
  1670. package/src/components/link-control/use-internal-input-value.js +0 -23
  1671. package/src/components/spacing-sizes-control/all-input-control.js +0 -44
  1672. package/src/components/spacing-sizes-control/linked-button.js +0 -24
  1673. package/src/components/ungroup-button/icon.js +0 -26
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/use-on-block-drop/index.native.js"],"names":["cloneBlock","useDispatch","useSelect","store","blockEditorStore","onBlockDrop","getBlockIndex","getClientIdsOfDescendants","moveBlocksToPosition","insertBlocks","clearSelectedBlock","blocks","srcClientIds","sourceClientIds","srcRootClientId","sourceRootClientId","targetBlockIndex","targetRootClientId","type","dropType","blocksToInsert","map","block","sourceBlockIndex","includes","some","id","isAtSameLevel","draggedBlockCount","length","insertIndex","useOnBlockDrop"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,mBAA3B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CACNC,aADM,EAENC,yBAFM,EAGNC,oBAHM,EAINC,YAJM,EAKNC,kBALM,EAML;AACD,SAAO,QAOA;AAAA,QAPE;AACRC,MAAAA,MADQ;AAERC,MAAAA,YAAY,EAAEC,eAFN;AAGRC,MAAAA,eAAe,EAAEC,kBAHT;AAIRC,MAAAA,gBAJQ;AAKRC,MAAAA,kBALQ;AAMRC,MAAAA,IAAI,EAAEC;AANE,KAOF;;AACN;AACA,QAAKA,QAAQ,KAAK,UAAlB,EAA+B;AAC9BT,MAAAA,kBAAkB;AAClB,YAAMU,cAAc,GAAGT,MAAM,CAACU,GAAP,CAAcC,KAAF,IAClCtB,UAAU,CAAEsB,KAAF,CADY,CAAvB;AAGAb,MAAAA,YAAY,CACXW,cADW,EAEXJ,gBAFW,EAGXC,kBAHW,EAIX,IAJW,EAKX,IALW,CAAZ;AAOA,KAdK,CAgBN;;;AACA,QAAKE,QAAQ,KAAK,OAAlB,EAA4B;AAC3B,YAAMI,gBAAgB,GAAGjB,aAAa,CAAEO,eAAe,CAAE,CAAF,CAAjB,CAAtC,CAD2B,CAG3B;;AACA,UACCE,kBAAkB,KAAKE,kBAAvB,IACAM,gBAAgB,KAAKP,gBAFtB,EAGE;AACD;AACA,OAT0B,CAW3B;AACA;AACA;;;AACA,UACCH,eAAe,CAACW,QAAhB,CAA0BP,kBAA1B,KACAV,yBAAyB,CAAEM,eAAF,CAAzB,CAA6CY,IAA7C,CACGC,EAAF,IAAUA,EAAE,KAAKT,kBADlB,CAFD,EAKE;AACD;AACA;;AAED,YAAMU,aAAa,GAAGZ,kBAAkB,KAAKE,kBAA7C;AACA,YAAMW,iBAAiB,GAAGf,eAAe,CAACgB,MAA1C,CAxB2B,CA0B3B;AACA;AACA;;AACA,YAAMC,WAAW,GAChBH,aAAa,IAAIJ,gBAAgB,GAAGP,gBAApC,GACGA,gBAAgB,GAAGY,iBADtB,GAEGZ,gBAHJ;AAKAR,MAAAA,oBAAoB,CACnBK,eADmB,EAEnBE,kBAFmB,EAGnBE,kBAHmB,EAInBa,WAJmB,CAApB;AAMA;AACD,GAjED;AAkEA;AAED;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,GAA0B;AACxC,QAAM;AAAEzB,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MACLL,SAAS,CAAEE,gBAAF,CADV;AAEA,QAAM;AAAEK,IAAAA,YAAF;AAAgBD,IAAAA,oBAAhB;AAAsCE,IAAAA;AAAtC,MACLT,WAAW,CAAEG,gBAAF,CADZ;AAGA,SAAOC,WAAW,CACjBC,aADiB,EAEjBC,yBAFiB,EAGjBC,oBAHiB,EAIjBC,YAJiB,EAKjBC,kBALiB,CAAlB;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * A function that returns an event handler function for block drop events.\n *\n * @param {Function} getBlockIndex A function that gets the index of a block.\n * @param {Function} getClientIdsOfDescendants A function that gets the client ids of descendant blocks.\n * @param {Function} moveBlocksToPosition A function that moves blocks.\n * @param {Function} insertBlocks A function that inserts blocks.\n * @param {Function} clearSelectedBlock A function that clears block selection.\n * @return {Function} The event handler for a block drop event.\n */\nexport function onBlockDrop(\n\tgetBlockIndex,\n\tgetClientIdsOfDescendants,\n\tmoveBlocksToPosition,\n\tinsertBlocks,\n\tclearSelectedBlock\n) {\n\treturn ( {\n\t\tblocks,\n\t\tsrcClientIds: sourceClientIds,\n\t\tsrcRootClientId: sourceRootClientId,\n\t\ttargetBlockIndex,\n\t\ttargetRootClientId,\n\t\ttype: dropType,\n\t} ) => {\n\t\t// If the user is inserting a block.\n\t\tif ( dropType === 'inserter' ) {\n\t\t\tclearSelectedBlock();\n\t\t\tconst blocksToInsert = blocks.map( ( block ) =>\n\t\t\t\tcloneBlock( block )\n\t\t\t);\n\t\t\tinsertBlocks(\n\t\t\t\tblocksToInsert,\n\t\t\t\ttargetBlockIndex,\n\t\t\t\ttargetRootClientId,\n\t\t\t\ttrue,\n\t\t\t\tnull\n\t\t\t);\n\t\t}\n\n\t\t// If the user is moving a block.\n\t\tif ( dropType === 'block' ) {\n\t\t\tconst sourceBlockIndex = getBlockIndex( sourceClientIds[ 0 ] );\n\n\t\t\t// If the user is dropping to the same position, return early.\n\t\t\tif (\n\t\t\t\tsourceRootClientId === targetRootClientId &&\n\t\t\t\tsourceBlockIndex === targetBlockIndex\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the user is attempting to drop a block within its own\n\t\t\t// nested blocks, return early as this would create infinite\n\t\t\t// recursion.\n\t\t\tif (\n\t\t\t\tsourceClientIds.includes( targetRootClientId ) ||\n\t\t\t\tgetClientIdsOfDescendants( sourceClientIds ).some(\n\t\t\t\t\t( id ) => id === targetRootClientId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isAtSameLevel = sourceRootClientId === targetRootClientId;\n\t\t\tconst draggedBlockCount = sourceClientIds.length;\n\n\t\t\t// If the block is kept at the same level and moved downwards,\n\t\t\t// subtract to take into account that the blocks being dragged\n\t\t\t// were removed from the block list above the insertion point.\n\t\t\tconst insertIndex =\n\t\t\t\tisAtSameLevel && sourceBlockIndex < targetBlockIndex\n\t\t\t\t\t? targetBlockIndex - draggedBlockCount\n\t\t\t\t\t: targetBlockIndex;\n\n\t\t\tmoveBlocksToPosition(\n\t\t\t\tsourceClientIds,\n\t\t\t\tsourceRootClientId,\n\t\t\t\ttargetRootClientId,\n\t\t\t\tinsertIndex\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * A React hook for handling block drop events.\n *\n * @return {Function} The event handler for a block drop event.\n */\nexport default function useOnBlockDrop() {\n\tconst { getBlockIndex, getClientIdsOfDescendants } =\n\t\tuseSelect( blockEditorStore );\n\tconst { insertBlocks, moveBlocksToPosition, clearSelectedBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\treturn onBlockDrop(\n\t\tgetBlockIndex,\n\t\tgetClientIdsOfDescendants,\n\t\tmoveBlocksToPosition,\n\t\tinsertBlocks,\n\t\tclearSelectedBlock\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/use-on-block-drop/index.native.js"],"names":["cloneBlock","useDispatch","useSelect","store","blockEditorStore","onBlockDrop","getBlockIndex","getClientIdsOfDescendants","moveBlocksToPosition","insertBlocks","clearSelectedBlock","blocks","srcClientIds","sourceClientIds","srcRootClientId","sourceRootClientId","targetBlockIndex","targetRootClientId","type","dropType","blocksToInsert","map","block","sourceBlockIndex","includes","some","id","isAtSameLevel","draggedBlockCount","length","insertIndex","useOnBlockDrop"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,mBAA3B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CACNC,aADM,EAENC,yBAFM,EAGNC,oBAHM,EAINC,YAJM,EAKNC,kBALM,EAML;AACD,SAAO,CAAE;AACRC,IAAAA,MADQ;AAERC,IAAAA,YAAY,EAAEC,eAFN;AAGRC,IAAAA,eAAe,EAAEC,kBAHT;AAIRC,IAAAA,gBAJQ;AAKRC,IAAAA,kBALQ;AAMRC,IAAAA,IAAI,EAAEC;AANE,GAAF,KAOA;AACN;AACA,QAAKA,QAAQ,KAAK,UAAlB,EAA+B;AAC9BT,MAAAA,kBAAkB;AAClB,YAAMU,cAAc,GAAGT,MAAM,CAACU,GAAP,CAAcC,KAAF,IAClCtB,UAAU,CAAEsB,KAAF,CADY,CAAvB;AAGAb,MAAAA,YAAY,CACXW,cADW,EAEXJ,gBAFW,EAGXC,kBAHW,EAIX,IAJW,EAKX,IALW,CAAZ;AAOA,KAdK,CAgBN;;;AACA,QAAKE,QAAQ,KAAK,OAAlB,EAA4B;AAC3B,YAAMI,gBAAgB,GAAGjB,aAAa,CAAEO,eAAe,CAAE,CAAF,CAAjB,CAAtC,CAD2B,CAG3B;;AACA,UACCE,kBAAkB,KAAKE,kBAAvB,IACAM,gBAAgB,KAAKP,gBAFtB,EAGE;AACD;AACA,OAT0B,CAW3B;AACA;AACA;;;AACA,UACCH,eAAe,CAACW,QAAhB,CAA0BP,kBAA1B,KACAV,yBAAyB,CAAEM,eAAF,CAAzB,CAA6CY,IAA7C,CACGC,EAAF,IAAUA,EAAE,KAAKT,kBADlB,CAFD,EAKE;AACD;AACA;;AAED,YAAMU,aAAa,GAAGZ,kBAAkB,KAAKE,kBAA7C;AACA,YAAMW,iBAAiB,GAAGf,eAAe,CAACgB,MAA1C,CAxB2B,CA0B3B;AACA;AACA;;AACA,YAAMC,WAAW,GAChBH,aAAa,IAAIJ,gBAAgB,GAAGP,gBAApC,GACGA,gBAAgB,GAAGY,iBADtB,GAEGZ,gBAHJ;AAKAR,MAAAA,oBAAoB,CACnBK,eADmB,EAEnBE,kBAFmB,EAGnBE,kBAHmB,EAInBa,WAJmB,CAApB;AAMA;AACD,GAjED;AAkEA;AAED;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,GAA0B;AACxC,QAAM;AAAEzB,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MACLL,SAAS,CAAEE,gBAAF,CADV;AAEA,QAAM;AAAEK,IAAAA,YAAF;AAAgBD,IAAAA,oBAAhB;AAAsCE,IAAAA;AAAtC,MACLT,WAAW,CAAEG,gBAAF,CADZ;AAGA,SAAOC,WAAW,CACjBC,aADiB,EAEjBC,yBAFiB,EAGjBC,oBAHiB,EAIjBC,YAJiB,EAKjBC,kBALiB,CAAlB;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * A function that returns an event handler function for block drop events.\n *\n * @param {Function} getBlockIndex A function that gets the index of a block.\n * @param {Function} getClientIdsOfDescendants A function that gets the client ids of descendant blocks.\n * @param {Function} moveBlocksToPosition A function that moves blocks.\n * @param {Function} insertBlocks A function that inserts blocks.\n * @param {Function} clearSelectedBlock A function that clears block selection.\n * @return {Function} The event handler for a block drop event.\n */\nexport function onBlockDrop(\n\tgetBlockIndex,\n\tgetClientIdsOfDescendants,\n\tmoveBlocksToPosition,\n\tinsertBlocks,\n\tclearSelectedBlock\n) {\n\treturn ( {\n\t\tblocks,\n\t\tsrcClientIds: sourceClientIds,\n\t\tsrcRootClientId: sourceRootClientId,\n\t\ttargetBlockIndex,\n\t\ttargetRootClientId,\n\t\ttype: dropType,\n\t} ) => {\n\t\t// If the user is inserting a block.\n\t\tif ( dropType === 'inserter' ) {\n\t\t\tclearSelectedBlock();\n\t\t\tconst blocksToInsert = blocks.map( ( block ) =>\n\t\t\t\tcloneBlock( block )\n\t\t\t);\n\t\t\tinsertBlocks(\n\t\t\t\tblocksToInsert,\n\t\t\t\ttargetBlockIndex,\n\t\t\t\ttargetRootClientId,\n\t\t\t\ttrue,\n\t\t\t\tnull\n\t\t\t);\n\t\t}\n\n\t\t// If the user is moving a block.\n\t\tif ( dropType === 'block' ) {\n\t\t\tconst sourceBlockIndex = getBlockIndex( sourceClientIds[ 0 ] );\n\n\t\t\t// If the user is dropping to the same position, return early.\n\t\t\tif (\n\t\t\t\tsourceRootClientId === targetRootClientId &&\n\t\t\t\tsourceBlockIndex === targetBlockIndex\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the user is attempting to drop a block within its own\n\t\t\t// nested blocks, return early as this would create infinite\n\t\t\t// recursion.\n\t\t\tif (\n\t\t\t\tsourceClientIds.includes( targetRootClientId ) ||\n\t\t\t\tgetClientIdsOfDescendants( sourceClientIds ).some(\n\t\t\t\t\t( id ) => id === targetRootClientId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isAtSameLevel = sourceRootClientId === targetRootClientId;\n\t\t\tconst draggedBlockCount = sourceClientIds.length;\n\n\t\t\t// If the block is kept at the same level and moved downwards,\n\t\t\t// subtract to take into account that the blocks being dragged\n\t\t\t// were removed from the block list above the insertion point.\n\t\t\tconst insertIndex =\n\t\t\t\tisAtSameLevel && sourceBlockIndex < targetBlockIndex\n\t\t\t\t\t? targetBlockIndex - draggedBlockCount\n\t\t\t\t\t: targetBlockIndex;\n\n\t\t\tmoveBlocksToPosition(\n\t\t\t\tsourceClientIds,\n\t\t\t\tsourceRootClientId,\n\t\t\t\ttargetRootClientId,\n\t\t\t\tinsertIndex\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * A React hook for handling block drop events.\n *\n * @return {Function} The event handler for a block drop event.\n */\nexport default function useOnBlockDrop() {\n\tconst { getBlockIndex, getClientIdsOfDescendants } =\n\t\tuseSelect( blockEditorStore );\n\tconst { insertBlocks, moveBlocksToPosition, clearSelectedBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\treturn onBlockDrop(\n\t\tgetBlockIndex,\n\t\tgetClientIdsOfDescendants,\n\t\tmoveBlocksToPosition,\n\t\tinsertBlocks,\n\t\tclearSelectedBlock\n\t);\n}\n"]}
@@ -68,9 +68,7 @@ const STYLE_ATTRIBUTES = {
68
68
  */
69
69
 
70
70
  function getStyleAttributes(sourceBlock, targetBlock) {
71
- return Object.entries(STYLE_ATTRIBUTES).reduce((attributes, _ref) => {
72
- let [attributeKey, hasSupport] = _ref;
73
-
71
+ return Object.entries(STYLE_ATTRIBUTES).reduce((attributes, [attributeKey, hasSupport]) => {
74
72
  // Only apply the attribute if both blocks support it.
75
73
  if (hasSupport(sourceBlock.name) && hasSupport(targetBlock.name)) {
76
74
  // Override attributes that are not present in the block to their defaults.
@@ -156,9 +154,7 @@ export default function usePasteStyles() {
156
154
  }
157
155
 
158
156
  if (targetBlocks.length === 1) {
159
- var _getBlockType;
160
-
161
- const title = (_getBlockType = getBlockType(targetBlocks[0].name)) === null || _getBlockType === void 0 ? void 0 : _getBlockType.title;
157
+ const title = getBlockType(targetBlocks[0].name)?.title;
162
158
  createSuccessNotice(sprintf( // Translators: Name of the block being pasted, e.g. "Paragraph".
163
159
  __('Pasted styles to %s.'), title), {
164
160
  type: 'snackbar'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/use-paste-styles/index.js"],"names":["useCallback","getBlockType","parse","useDispatch","useRegistry","store","noticesStore","__","sprintf","blockEditorStore","hasAlignSupport","hasBorderSupport","hasBackgroundColorSupport","hasTextColorSupport","hasGradientSupport","hasCustomClassNameSupport","hasFontFamilySupport","hasFontSizeSupport","hasLayoutSupport","hasStyleSupport","hasSerializedBlocks","text","blocks","__unstableSkipMigrationLogs","__unstableSkipAutop","length","name","err","STYLE_ATTRIBUTES","align","borderColor","nameOrType","backgroundColor","textColor","gradient","className","fontFamily","fontSize","layout","style","getStyleAttributes","sourceBlock","targetBlock","Object","entries","reduce","attributes","attributeKey","hasSupport","recursivelyUpdateBlockAttributes","targetBlocks","sourceBlocks","updateBlockAttributes","index","Math","min","clientId","innerBlocks","usePasteStyles","registry","createSuccessNotice","createWarningNotice","createErrorNotice","html","window","navigator","clipboard","type","readText","error","copiedBlocks","batch","map","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { getBlockType, parse } from '@wordpress/blocks';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport {\n\thasAlignSupport,\n\thasBorderSupport,\n\thasBackgroundColorSupport,\n\thasTextColorSupport,\n\thasGradientSupport,\n\thasCustomClassNameSupport,\n\thasFontFamilySupport,\n\thasFontSizeSupport,\n\thasLayoutSupport,\n\thasStyleSupport,\n} from '../../hooks/supports';\n\n/**\n * Determine if the copied text looks like serialized blocks or not.\n * Since plain text will always get parsed into a freeform block,\n * we check that if the parsed blocks is anything other than that.\n *\n * @param {string} text The copied text.\n * @return {boolean} True if the text looks like serialized blocks, false otherwise.\n */\nfunction hasSerializedBlocks( text ) {\n\ttry {\n\t\tconst blocks = parse( text, {\n\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tif ( blocks.length === 1 && blocks[ 0 ].name === 'core/freeform' ) {\n\t\t\t// It's likely that the text is just plain text and not serialized blocks.\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch ( err ) {\n\t\t// Parsing error, the text is not serialized blocks.\n\t\t// (Even though that it technically won't happen)\n\t\treturn false;\n\t}\n}\n\n/**\n * Style attributes are attributes being added in `block-editor/src/hooks/*`.\n * (Except for some unrelated to style like `anchor` or `settings`.)\n * They generally represent the default block supports.\n */\nconst STYLE_ATTRIBUTES = {\n\talign: hasAlignSupport,\n\tborderColor: ( nameOrType ) => hasBorderSupport( nameOrType, 'color' ),\n\tbackgroundColor: hasBackgroundColorSupport,\n\ttextColor: hasTextColorSupport,\n\tgradient: hasGradientSupport,\n\tclassName: hasCustomClassNameSupport,\n\tfontFamily: hasFontFamilySupport,\n\tfontSize: hasFontSizeSupport,\n\tlayout: hasLayoutSupport,\n\tstyle: hasStyleSupport,\n};\n\n/**\n * Get the \"style attributes\" from a given block to a target block.\n *\n * @param {WPBlock} sourceBlock The source block.\n * @param {WPBlock} targetBlock The target block.\n * @return {Object} the filtered attributes object.\n */\nfunction getStyleAttributes( sourceBlock, targetBlock ) {\n\treturn Object.entries( STYLE_ATTRIBUTES ).reduce(\n\t\t( attributes, [ attributeKey, hasSupport ] ) => {\n\t\t\t// Only apply the attribute if both blocks support it.\n\t\t\tif (\n\t\t\t\thasSupport( sourceBlock.name ) &&\n\t\t\t\thasSupport( targetBlock.name )\n\t\t\t) {\n\t\t\t\t// Override attributes that are not present in the block to their defaults.\n\t\t\t\tattributes[ attributeKey ] =\n\t\t\t\t\tsourceBlock.attributes[ attributeKey ];\n\t\t\t}\n\t\t\treturn attributes;\n\t\t},\n\t\t{}\n\t);\n}\n\n/**\n * Update the target blocks with style attributes recursively.\n *\n * @param {WPBlock[]} targetBlocks The target blocks to be updated.\n * @param {WPBlock[]} sourceBlocks The source blocks to get th style attributes from.\n * @param {Function} updateBlockAttributes The function to update the attributes.\n */\nfunction recursivelyUpdateBlockAttributes(\n\ttargetBlocks,\n\tsourceBlocks,\n\tupdateBlockAttributes\n) {\n\tfor (\n\t\tlet index = 0;\n\t\tindex < Math.min( sourceBlocks.length, targetBlocks.length );\n\t\tindex += 1\n\t) {\n\t\tupdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].clientId,\n\t\t\tgetStyleAttributes( sourceBlocks[ index ], targetBlocks[ index ] )\n\t\t);\n\n\t\trecursivelyUpdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].innerBlocks,\n\t\t\tsourceBlocks[ index ].innerBlocks,\n\t\t\tupdateBlockAttributes\n\t\t);\n\t}\n}\n\n/**\n * A hook to return a pasteStyles event function for handling pasting styles to blocks.\n *\n * @return {Function} A function to update the styles to the blocks.\n */\nexport default function usePasteStyles() {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createWarningNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\treturn useCallback(\n\t\tasync ( targetBlocks ) => {\n\t\t\tlet html = '';\n\t\t\ttry {\n\t\t\t\t// `http:` sites won't have the clipboard property on navigator.\n\t\t\t\t// (with the exception of localhost.)\n\t\t\t\tif ( ! window.navigator.clipboard ) {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Unable to paste styles. This feature is only available on secure (https) sites in supporting browsers.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thtml = await window.navigator.clipboard.readText();\n\t\t\t} catch ( error ) {\n\t\t\t\t// Possibly the permission is denied.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Unable to paste styles. Please allow browser clipboard permissions before continuing.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Abort if the copied text is empty or doesn't look like serialized blocks.\n\t\t\tif ( ! html || ! hasSerializedBlocks( html ) ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t\"Unable to paste styles. Block styles couldn't be found within the copied content.\"\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst copiedBlocks = parse( html );\n\n\t\t\tif ( copiedBlocks.length === 1 ) {\n\t\t\t\t// Apply styles of the block to all the target blocks.\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\ttargetBlocks.map( () => copiedBlocks[ 0 ] ),\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\tcopiedBlocks,\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( targetBlocks.length === 1 ) {\n\t\t\t\tconst title = getBlockType( targetBlocks[ 0 ].name )?.title;\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: Name of the block being pasted, e.g. \"Paragraph\".\n\t\t\t\t\t\t__( 'Pasted styles to %s.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: The number of the blocks.\n\t\t\t\t\t\t__( 'Pasted styles to %d blocks.' ),\n\t\t\t\t\t\ttargetBlocks.length\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tregistry.batch,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateWarningNotice,\n\t\t\tcreateErrorNotice,\n\t\t]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/use-paste-styles/index.js"],"names":["useCallback","getBlockType","parse","useDispatch","useRegistry","store","noticesStore","__","sprintf","blockEditorStore","hasAlignSupport","hasBorderSupport","hasBackgroundColorSupport","hasTextColorSupport","hasGradientSupport","hasCustomClassNameSupport","hasFontFamilySupport","hasFontSizeSupport","hasLayoutSupport","hasStyleSupport","hasSerializedBlocks","text","blocks","__unstableSkipMigrationLogs","__unstableSkipAutop","length","name","err","STYLE_ATTRIBUTES","align","borderColor","nameOrType","backgroundColor","textColor","gradient","className","fontFamily","fontSize","layout","style","getStyleAttributes","sourceBlock","targetBlock","Object","entries","reduce","attributes","attributeKey","hasSupport","recursivelyUpdateBlockAttributes","targetBlocks","sourceBlocks","updateBlockAttributes","index","Math","min","clientId","innerBlocks","usePasteStyles","registry","createSuccessNotice","createWarningNotice","createErrorNotice","html","window","navigator","clipboard","type","readText","error","copiedBlocks","batch","map","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { getBlockType, parse } from '@wordpress/blocks';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport {\n\thasAlignSupport,\n\thasBorderSupport,\n\thasBackgroundColorSupport,\n\thasTextColorSupport,\n\thasGradientSupport,\n\thasCustomClassNameSupport,\n\thasFontFamilySupport,\n\thasFontSizeSupport,\n\thasLayoutSupport,\n\thasStyleSupport,\n} from '../../hooks/supports';\n\n/**\n * Determine if the copied text looks like serialized blocks or not.\n * Since plain text will always get parsed into a freeform block,\n * we check that if the parsed blocks is anything other than that.\n *\n * @param {string} text The copied text.\n * @return {boolean} True if the text looks like serialized blocks, false otherwise.\n */\nfunction hasSerializedBlocks( text ) {\n\ttry {\n\t\tconst blocks = parse( text, {\n\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tif ( blocks.length === 1 && blocks[ 0 ].name === 'core/freeform' ) {\n\t\t\t// It's likely that the text is just plain text and not serialized blocks.\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch ( err ) {\n\t\t// Parsing error, the text is not serialized blocks.\n\t\t// (Even though that it technically won't happen)\n\t\treturn false;\n\t}\n}\n\n/**\n * Style attributes are attributes being added in `block-editor/src/hooks/*`.\n * (Except for some unrelated to style like `anchor` or `settings`.)\n * They generally represent the default block supports.\n */\nconst STYLE_ATTRIBUTES = {\n\talign: hasAlignSupport,\n\tborderColor: ( nameOrType ) => hasBorderSupport( nameOrType, 'color' ),\n\tbackgroundColor: hasBackgroundColorSupport,\n\ttextColor: hasTextColorSupport,\n\tgradient: hasGradientSupport,\n\tclassName: hasCustomClassNameSupport,\n\tfontFamily: hasFontFamilySupport,\n\tfontSize: hasFontSizeSupport,\n\tlayout: hasLayoutSupport,\n\tstyle: hasStyleSupport,\n};\n\n/**\n * Get the \"style attributes\" from a given block to a target block.\n *\n * @param {WPBlock} sourceBlock The source block.\n * @param {WPBlock} targetBlock The target block.\n * @return {Object} the filtered attributes object.\n */\nfunction getStyleAttributes( sourceBlock, targetBlock ) {\n\treturn Object.entries( STYLE_ATTRIBUTES ).reduce(\n\t\t( attributes, [ attributeKey, hasSupport ] ) => {\n\t\t\t// Only apply the attribute if both blocks support it.\n\t\t\tif (\n\t\t\t\thasSupport( sourceBlock.name ) &&\n\t\t\t\thasSupport( targetBlock.name )\n\t\t\t) {\n\t\t\t\t// Override attributes that are not present in the block to their defaults.\n\t\t\t\tattributes[ attributeKey ] =\n\t\t\t\t\tsourceBlock.attributes[ attributeKey ];\n\t\t\t}\n\t\t\treturn attributes;\n\t\t},\n\t\t{}\n\t);\n}\n\n/**\n * Update the target blocks with style attributes recursively.\n *\n * @param {WPBlock[]} targetBlocks The target blocks to be updated.\n * @param {WPBlock[]} sourceBlocks The source blocks to get th style attributes from.\n * @param {Function} updateBlockAttributes The function to update the attributes.\n */\nfunction recursivelyUpdateBlockAttributes(\n\ttargetBlocks,\n\tsourceBlocks,\n\tupdateBlockAttributes\n) {\n\tfor (\n\t\tlet index = 0;\n\t\tindex < Math.min( sourceBlocks.length, targetBlocks.length );\n\t\tindex += 1\n\t) {\n\t\tupdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].clientId,\n\t\t\tgetStyleAttributes( sourceBlocks[ index ], targetBlocks[ index ] )\n\t\t);\n\n\t\trecursivelyUpdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].innerBlocks,\n\t\t\tsourceBlocks[ index ].innerBlocks,\n\t\t\tupdateBlockAttributes\n\t\t);\n\t}\n}\n\n/**\n * A hook to return a pasteStyles event function for handling pasting styles to blocks.\n *\n * @return {Function} A function to update the styles to the blocks.\n */\nexport default function usePasteStyles() {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createWarningNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\treturn useCallback(\n\t\tasync ( targetBlocks ) => {\n\t\t\tlet html = '';\n\t\t\ttry {\n\t\t\t\t// `http:` sites won't have the clipboard property on navigator.\n\t\t\t\t// (with the exception of localhost.)\n\t\t\t\tif ( ! window.navigator.clipboard ) {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Unable to paste styles. This feature is only available on secure (https) sites in supporting browsers.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thtml = await window.navigator.clipboard.readText();\n\t\t\t} catch ( error ) {\n\t\t\t\t// Possibly the permission is denied.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Unable to paste styles. Please allow browser clipboard permissions before continuing.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Abort if the copied text is empty or doesn't look like serialized blocks.\n\t\t\tif ( ! html || ! hasSerializedBlocks( html ) ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t\"Unable to paste styles. Block styles couldn't be found within the copied content.\"\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst copiedBlocks = parse( html );\n\n\t\t\tif ( copiedBlocks.length === 1 ) {\n\t\t\t\t// Apply styles of the block to all the target blocks.\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\ttargetBlocks.map( () => copiedBlocks[ 0 ] ),\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\tcopiedBlocks,\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( targetBlocks.length === 1 ) {\n\t\t\t\tconst title = getBlockType( targetBlocks[ 0 ].name )?.title;\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: Name of the block being pasted, e.g. \"Paragraph\".\n\t\t\t\t\t\t__( 'Pasted styles to %s.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: The number of the blocks.\n\t\t\t\t\t\t__( 'Pasted styles to %d blocks.' ),\n\t\t\t\t\t\ttargetBlocks.length\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tregistry.batch,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateWarningNotice,\n\t\t\tcreateErrorNotice,\n\t\t]\n\t);\n}\n"]}
@@ -13,13 +13,12 @@ import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
13
13
  import { __ } from '@wordpress/i18n';
14
14
  import { moreHorizontal } from '@wordpress/icons';
15
15
 
16
- function Warning(_ref) {
17
- let {
18
- className,
19
- actions,
20
- children,
21
- secondaryActions
22
- } = _ref;
16
+ function Warning({
17
+ className,
18
+ actions,
19
+ children,
20
+ secondaryActions
21
+ }) {
23
22
  return createElement("div", {
24
23
  style: {
25
24
  display: 'contents',
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.js"],"names":["classnames","Children","DropdownMenu","MenuGroup","MenuItem","__","moreHorizontal","Warning","className","actions","children","secondaryActions","display","all","count","map","action","i","position","item","pos","onClick","title"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,EAAuBC,SAAvB,EAAkCC,QAAlC,QAAkD,uBAAlD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,SAASC,OAAT,OAAuE;AAAA,MAArD;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,OAAb;AAAsBC,IAAAA,QAAtB;AAAgCC,IAAAA;AAAhC,GAAqD;AACtE,SACC;AAAK,IAAA,KAAK,EAAG;AAAEC,MAAAA,OAAO,EAAE,UAAX;AAAuBC,MAAAA,GAAG,EAAE;AAA5B;AAAb,KACC;AAAK,IAAA,SAAS,EAAGb,UAAU,CAAEQ,SAAF,EAAa,sBAAb;AAA3B,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGE,QADH,CADD,EAKG,CAAET,QAAQ,CAACa,KAAT,CAAgBL,OAAhB,IAA4B,CAA5B,IAAiCE,gBAAnC,KACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACGV,QAAQ,CAACa,KAAT,CAAgBL,OAAhB,IAA4B,CAA5B,IACDR,QAAQ,CAACc,GAAT,CAAcN,OAAd,EAAuB,CAAEO,MAAF,EAAUC,CAAV,KACtB;AACC,IAAA,GAAG,EAAGA,CADP;AAEC,IAAA,SAAS,EAAC;AAFX,KAIGD,MAJH,CADD,CAFF,EAUGL,gBAAgB,IACjB,cAAC,YAAD;AACC,IAAA,SAAS,EAAC,iCADX;AAEC,IAAA,IAAI,EAAGL,cAFR;AAGC,IAAA,KAAK,EAAGD,EAAE,CAAE,cAAF,CAHX;AAIC,IAAA,YAAY,EAAG;AACda,MAAAA,QAAQ,EAAE,aADI;AAEdV,MAAAA,SAAS,EACR;AAHa,KAJhB;AASC,IAAA,OAAO;AATR,KAWG,MACD,cAAC,SAAD,QACGG,gBAAgB,CAACI,GAAjB,CACD,CAAEI,IAAF,EAAQC,GAAR,KACC,cAAC,QAAD;AACC,IAAA,OAAO,EAAGD,IAAI,CAACE,OADhB;AAEC,IAAA,GAAG,EAAGD;AAFP,KAIGD,IAAI,CAACG,KAJR,CAFA,CADH,CAZF,CAXF,CANF,CADD,CADD,CADD;AAqDA;AAED;AACA;AACA;;;AACA,eAAef,OAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreHorizontal } from '@wordpress/icons';\n\nfunction Warning( { className, actions, children, secondaryActions } ) {\n\treturn (\n\t\t<div style={ { display: 'contents', all: 'initial' } }>\n\t\t\t<div className={ classnames( className, 'block-editor-warning' ) }>\n\t\t\t\t<div className=\"block-editor-warning__contents\">\n\t\t\t\t\t<p className=\"block-editor-warning__message\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t{ ( Children.count( actions ) > 0 || secondaryActions ) && (\n\t\t\t\t\t\t<div className=\"block-editor-warning__actions\">\n\t\t\t\t\t\t\t{ Children.count( actions ) > 0 &&\n\t\t\t\t\t\t\t\tChildren.map( actions, ( action, i ) => (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__action\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ action }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t{ secondaryActions && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__secondary\"\n\t\t\t\t\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'More options' ) }\n\t\t\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-warning__dropdown',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t\t{ secondaryActions.map(\n\t\t\t\t\t\t\t\t\t\t\t\t( item, pos ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ item.onClick }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ pos }\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md\n */\nexport default Warning;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.js"],"names":["classnames","Children","DropdownMenu","MenuGroup","MenuItem","__","moreHorizontal","Warning","className","actions","children","secondaryActions","display","all","count","map","action","i","position","item","pos","onClick","title"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,EAAuBC,SAAvB,EAAkCC,QAAlC,QAAkD,uBAAlD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,SAASC,OAAT,CAAkB;AAAEC,EAAAA,SAAF;AAAaC,EAAAA,OAAb;AAAsBC,EAAAA,QAAtB;AAAgCC,EAAAA;AAAhC,CAAlB,EAAuE;AACtE,SACC;AAAK,IAAA,KAAK,EAAG;AAAEC,MAAAA,OAAO,EAAE,UAAX;AAAuBC,MAAAA,GAAG,EAAE;AAA5B;AAAb,KACC;AAAK,IAAA,SAAS,EAAGb,UAAU,CAAEQ,SAAF,EAAa,sBAAb;AAA3B,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGE,QADH,CADD,EAKG,CAAET,QAAQ,CAACa,KAAT,CAAgBL,OAAhB,IAA4B,CAA5B,IAAiCE,gBAAnC,KACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACGV,QAAQ,CAACa,KAAT,CAAgBL,OAAhB,IAA4B,CAA5B,IACDR,QAAQ,CAACc,GAAT,CAAcN,OAAd,EAAuB,CAAEO,MAAF,EAAUC,CAAV,KACtB;AACC,IAAA,GAAG,EAAGA,CADP;AAEC,IAAA,SAAS,EAAC;AAFX,KAIGD,MAJH,CADD,CAFF,EAUGL,gBAAgB,IACjB,cAAC,YAAD;AACC,IAAA,SAAS,EAAC,iCADX;AAEC,IAAA,IAAI,EAAGL,cAFR;AAGC,IAAA,KAAK,EAAGD,EAAE,CAAE,cAAF,CAHX;AAIC,IAAA,YAAY,EAAG;AACda,MAAAA,QAAQ,EAAE,aADI;AAEdV,MAAAA,SAAS,EACR;AAHa,KAJhB;AASC,IAAA,OAAO;AATR,KAWG,MACD,cAAC,SAAD,QACGG,gBAAgB,CAACI,GAAjB,CACD,CAAEI,IAAF,EAAQC,GAAR,KACC,cAAC,QAAD;AACC,IAAA,OAAO,EAAGD,IAAI,CAACE,OADhB;AAEC,IAAA,GAAG,EAAGD;AAFP,KAIGD,IAAI,CAACG,KAJR,CAFA,CADH,CAZF,CAXF,CANF,CADD,CADD,CADD;AAqDA;AAED;AACA;AACA;;;AACA,eAAef,OAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreHorizontal } from '@wordpress/icons';\n\nfunction Warning( { className, actions, children, secondaryActions } ) {\n\treturn (\n\t\t<div style={ { display: 'contents', all: 'initial' } }>\n\t\t\t<div className={ classnames( className, 'block-editor-warning' ) }>\n\t\t\t\t<div className=\"block-editor-warning__contents\">\n\t\t\t\t\t<p className=\"block-editor-warning__message\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t{ ( Children.count( actions ) > 0 || secondaryActions ) && (\n\t\t\t\t\t\t<div className=\"block-editor-warning__actions\">\n\t\t\t\t\t\t\t{ Children.count( actions ) > 0 &&\n\t\t\t\t\t\t\t\tChildren.map( actions, ( action, i ) => (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__action\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ action }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t{ secondaryActions && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__secondary\"\n\t\t\t\t\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'More options' ) }\n\t\t\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-warning__dropdown',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t\t{ secondaryActions.map(\n\t\t\t\t\t\t\t\t\t\t\t\t( item, pos ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ item.onClick }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ pos }\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md\n */\nexport default Warning;\n"]}
@@ -18,16 +18,15 @@ import { normalizeIconObject } from '@wordpress/blocks';
18
18
 
19
19
  import styles from './style.scss';
20
20
 
21
- function Warning(_ref) {
22
- let {
23
- title,
24
- message,
25
- icon,
26
- iconClass,
27
- preferredColorScheme,
28
- getStylesFromColorScheme,
29
- ...viewProps
30
- } = _ref;
21
+ function Warning({
22
+ title,
23
+ message,
24
+ icon,
25
+ iconClass,
26
+ preferredColorScheme,
27
+ getStylesFromColorScheme,
28
+ ...viewProps
29
+ }) {
31
30
  icon = icon && normalizeIconObject(icon);
32
31
  const internalIconClass = 'warning-icon' + '-' + preferredColorScheme;
33
32
  const titleStyle = getStylesFromColorScheme(styles.title, styles.titleDark);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"names":["View","Text","Icon","withPreferredColorScheme","normalizeIconObject","styles","Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","internalIconClass","titleStyle","titleDark","messageStyle","messageDark","container","containerDark","src"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AACA,SAASC,mBAAT,QAAoC,mBAApC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,SAASC,OAAT,OAQI;AAAA,MARc;AACjBC,IAAAA,KADiB;AAEjBC,IAAAA,OAFiB;AAGjBC,IAAAA,IAHiB;AAIjBC,IAAAA,SAJiB;AAKjBC,IAAAA,oBALiB;AAMjBC,IAAAA,wBANiB;AAOjB,OAAGC;AAPc,GAQd;AACHJ,EAAAA,IAAI,GAAGA,IAAI,IAAIL,mBAAmB,CAAEK,IAAF,CAAlC;AACA,QAAMK,iBAAiB,GAAG,iBAAiB,GAAjB,GAAuBH,oBAAjD;AACA,QAAMI,UAAU,GAAGH,wBAAwB,CAC1CP,MAAM,CAACE,KADmC,EAE1CF,MAAM,CAACW,SAFmC,CAA3C;AAIA,QAAMC,YAAY,GAAGL,wBAAwB,CAC5CP,MAAM,CAACG,OADqC,EAE5CH,MAAM,CAACa,WAFqC,CAA7C;AAKA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGN,wBAAwB,CAC/BP,MAAM,CAACc,SADwB,EAE/Bd,MAAM,CAACe,aAFwB;AADjC,KAKMP,SALN,GAOGJ,IAAI,IACL,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGJ,MAAM,CAACI;AAArB,KACC,cAAC,IAAD;AACC,IAAA,SAAS,EAAGC,SAAS,IAAII,iBAD1B;AAEC,IAAA,IAAI,EAAGL,IAAI,IAAIA,IAAI,CAACY,GAAb,GAAmBZ,IAAI,CAACY,GAAxB,GAA8BZ;AAFtC,IADD,CARF,EAeGF,KAAK,IAAI,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGQ;AAAd,KAA6BR,KAA7B,CAfZ,EAgBGC,OAAO,IAAI,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGS;AAAd,KAA+BT,OAA/B,CAhBd,CADD;AAoBA;;AAED,eAAeL,wBAAwB,CAAEG,OAAF,CAAvC","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { normalizeIconObject } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction Warning( {\n\ttitle,\n\tmessage,\n\ticon,\n\ticonClass,\n\tpreferredColorScheme,\n\tgetStylesFromColorScheme,\n\t...viewProps\n} ) {\n\ticon = icon && normalizeIconObject( icon );\n\tconst internalIconClass = 'warning-icon' + '-' + preferredColorScheme;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\tconst messageStyle = getStylesFromColorScheme(\n\t\tstyles.message,\n\t\tstyles.messageDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t\t{ ...viewProps }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<View style={ styles.icon }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClass || internalIconClass }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ title && <Text style={ titleStyle }>{ title }</Text> }\n\t\t\t{ message && <Text style={ messageStyle }>{ message }</Text> }\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( Warning );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"names":["View","Text","Icon","withPreferredColorScheme","normalizeIconObject","styles","Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","internalIconClass","titleStyle","titleDark","messageStyle","messageDark","container","containerDark","src"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AACA,SAASC,mBAAT,QAAoC,mBAApC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,SAASC,OAAT,CAAkB;AACjBC,EAAAA,KADiB;AAEjBC,EAAAA,OAFiB;AAGjBC,EAAAA,IAHiB;AAIjBC,EAAAA,SAJiB;AAKjBC,EAAAA,oBALiB;AAMjBC,EAAAA,wBANiB;AAOjB,KAAGC;AAPc,CAAlB,EAQI;AACHJ,EAAAA,IAAI,GAAGA,IAAI,IAAIL,mBAAmB,CAAEK,IAAF,CAAlC;AACA,QAAMK,iBAAiB,GAAG,iBAAiB,GAAjB,GAAuBH,oBAAjD;AACA,QAAMI,UAAU,GAAGH,wBAAwB,CAC1CP,MAAM,CAACE,KADmC,EAE1CF,MAAM,CAACW,SAFmC,CAA3C;AAIA,QAAMC,YAAY,GAAGL,wBAAwB,CAC5CP,MAAM,CAACG,OADqC,EAE5CH,MAAM,CAACa,WAFqC,CAA7C;AAKA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGN,wBAAwB,CAC/BP,MAAM,CAACc,SADwB,EAE/Bd,MAAM,CAACe,aAFwB;AADjC,KAKMP,SALN,GAOGJ,IAAI,IACL,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGJ,MAAM,CAACI;AAArB,KACC,cAAC,IAAD;AACC,IAAA,SAAS,EAAGC,SAAS,IAAII,iBAD1B;AAEC,IAAA,IAAI,EAAGL,IAAI,IAAIA,IAAI,CAACY,GAAb,GAAmBZ,IAAI,CAACY,GAAxB,GAA8BZ;AAFtC,IADD,CARF,EAeGF,KAAK,IAAI,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGQ;AAAd,KAA6BR,KAA7B,CAfZ,EAgBGC,OAAO,IAAI,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGS;AAAd,KAA+BT,OAA/B,CAhBd,CADD;AAoBA;;AAED,eAAeL,wBAAwB,CAAEG,OAAF,CAAvC","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { normalizeIconObject } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction Warning( {\n\ttitle,\n\tmessage,\n\ticon,\n\ticonClass,\n\tpreferredColorScheme,\n\tgetStylesFromColorScheme,\n\t...viewProps\n} ) {\n\ticon = icon && normalizeIconObject( icon );\n\tconst internalIconClass = 'warning-icon' + '-' + preferredColorScheme;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\tconst messageStyle = getStylesFromColorScheme(\n\t\tstyles.message,\n\t\tstyles.messageDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t\t{ ...viewProps }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<View style={ styles.icon }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClass || internalIconClass }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ title && <Text style={ titleStyle }>{ title }</Text> }\n\t\t\t{ message && <Text style={ messageStyle }>{ message }</Text> }\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( Warning );\n"]}
@@ -46,11 +46,10 @@ export function useWritingFlow() {
46
46
  }, [hasMultiSelection])]), after];
47
47
  }
48
48
 
49
- function WritingFlow(_ref, forwardedRef) {
50
- let {
51
- children,
52
- ...props
53
- } = _ref;
49
+ function WritingFlow({
50
+ children,
51
+ ...props
52
+ }, forwardedRef) {
54
53
  const [before, ref, after] = useWritingFlow();
55
54
  return createElement(Fragment, null, before, createElement("div", _extends({}, props, {
56
55
  ref: useMergeRefs([ref, forwardedRef]),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"names":["classNames","useSelect","__","useMergeRefs","useRefEffect","forwardRef","useMultiSelection","useTabNav","useArrowNav","useSelectAll","useDragSelection","useSelectionObserver","useClickSelection","useInput","store","blockEditorStore","useWritingFlow","before","ref","after","hasMultiSelection","select","node","tabIndex","contentEditable","classList","add","setAttribute","remove","removeAttribute","WritingFlow","forwardedRef","children","props","className"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,oBAA3C;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,cAAT,GAA0B;AAChC,QAAM,CAAEC,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBZ,SAAS,EAAxC;AACA,QAAMa,iBAAiB,GAAGnB,SAAS,CAChCoB,MAAF,IAAcA,MAAM,CAAEN,gBAAF,CAAN,CAA2BK,iBAA3B,EADoB,EAElC,EAFkC,CAAnC;AAKA,SAAO,CACNH,MADM,EAENd,YAAY,CAAE,CACbe,GADa,EAEbL,QAAQ,EAFK,EAGbH,gBAAgB,EAHH,EAIbC,oBAAoB,EAJP,EAKbC,iBAAiB,EALJ,EAMbN,iBAAiB,EANJ,EAObG,YAAY,EAPC,EAQbD,WAAW,EARE,EASbJ,YAAY,CACTkB,IAAF,IAAY;AACXA,IAAAA,IAAI,CAACC,QAAL,GAAgB,CAAhB;AACAD,IAAAA,IAAI,CAACE,eAAL,GAAuBJ,iBAAvB;;AAEA,QAAK,CAAEA,iBAAP,EAA2B;AAC1B;AACA;;AAEDE,IAAAA,IAAI,CAACG,SAAL,CAAeC,GAAf,CAAoB,qBAApB;AACAJ,IAAAA,IAAI,CAACK,YAAL,CACC,YADD,EAECzB,EAAE,CAAE,0BAAF,CAFH;AAKA,WAAO,MAAM;AACZoB,MAAAA,IAAI,CAACG,SAAL,CAAeG,MAAf,CAAuB,qBAAvB;AACAN,MAAAA,IAAI,CAACO,eAAL,CAAsB,YAAtB;AACA,KAHD;AAIA,GAnBU,EAoBX,CAAET,iBAAF,CApBW,CATC,CAAF,CAFN,EAkCND,KAlCM,CAAP;AAoCA;;AAED,SAASW,WAAT,OAA8CC,YAA9C,EAA6D;AAAA,MAAvC;AAAEC,IAAAA,QAAF;AAAY,OAAGC;AAAf,GAAuC;AAC5D,QAAM,CAAEhB,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBH,cAAc,EAA7C;AACA,SACC,8BACGC,MADH,EAEC,kCACMgB,KADN;AAEC,IAAA,GAAG,EAAG9B,YAAY,CAAE,CAAEe,GAAF,EAAOa,YAAP,CAAF,CAFnB;AAGC,IAAA,SAAS,EAAG/B,UAAU,CACrBiC,KAAK,CAACC,SADe,EAErB,2BAFqB;AAHvB,MAQGF,QARH,CAFD,EAYGb,KAZH,CADD;AAgBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAed,UAAU,CAAEyB,WAAF,CAAzB","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMultiSelection from './use-multi-selection';\nimport useTabNav from './use-tab-nav';\nimport useArrowNav from './use-arrow-nav';\nimport useSelectAll from './use-select-all';\nimport useDragSelection from './use-drag-selection';\nimport useSelectionObserver from './use-selection-observer';\nimport useClickSelection from './use-click-selection';\nimport useInput from './use-input';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useWritingFlow() {\n\tconst [ before, ref, after ] = useTabNav();\n\tconst hasMultiSelection = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasMultiSelection(),\n\t\t[]\n\t);\n\n\treturn [\n\t\tbefore,\n\t\tuseMergeRefs( [\n\t\t\tref,\n\t\t\tuseInput(),\n\t\t\tuseDragSelection(),\n\t\t\tuseSelectionObserver(),\n\t\t\tuseClickSelection(),\n\t\t\tuseMultiSelection(),\n\t\t\tuseSelectAll(),\n\t\t\tuseArrowNav(),\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tnode.tabIndex = 0;\n\t\t\t\t\tnode.contentEditable = hasMultiSelection;\n\n\t\t\t\t\tif ( ! hasMultiSelection ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.classList.add( 'has-multi-selection' );\n\t\t\t\t\tnode.setAttribute(\n\t\t\t\t\t\t'aria-label',\n\t\t\t\t\t\t__( 'Multiple selected blocks' )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tnode.classList.remove( 'has-multi-selection' );\n\t\t\t\t\t\tnode.removeAttribute( 'aria-label' );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ hasMultiSelection ]\n\t\t\t),\n\t\t] ),\n\t\tafter,\n\t];\n}\n\nfunction WritingFlow( { children, ...props }, forwardedRef ) {\n\tconst [ before, ref, after ] = useWritingFlow();\n\treturn (\n\t\t<>\n\t\t\t{ before }\n\t\t\t<div\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\t\tclassName={ classNames(\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'block-editor-writing-flow'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ after }\n\t\t</>\n\t);\n}\n\n/**\n * Handles selection and navigation across blocks. This component should be\n * wrapped around BlockList.\n *\n * @param {Object} props Component properties.\n * @param {WPElement} props.children Children to be rendered.\n */\nexport default forwardRef( WritingFlow );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"names":["classNames","useSelect","__","useMergeRefs","useRefEffect","forwardRef","useMultiSelection","useTabNav","useArrowNav","useSelectAll","useDragSelection","useSelectionObserver","useClickSelection","useInput","store","blockEditorStore","useWritingFlow","before","ref","after","hasMultiSelection","select","node","tabIndex","contentEditable","classList","add","setAttribute","remove","removeAttribute","WritingFlow","children","props","forwardedRef","className"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,oBAA3C;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,cAAT,GAA0B;AAChC,QAAM,CAAEC,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBZ,SAAS,EAAxC;AACA,QAAMa,iBAAiB,GAAGnB,SAAS,CAChCoB,MAAF,IAAcA,MAAM,CAAEN,gBAAF,CAAN,CAA2BK,iBAA3B,EADoB,EAElC,EAFkC,CAAnC;AAKA,SAAO,CACNH,MADM,EAENd,YAAY,CAAE,CACbe,GADa,EAEbL,QAAQ,EAFK,EAGbH,gBAAgB,EAHH,EAIbC,oBAAoB,EAJP,EAKbC,iBAAiB,EALJ,EAMbN,iBAAiB,EANJ,EAObG,YAAY,EAPC,EAQbD,WAAW,EARE,EASbJ,YAAY,CACTkB,IAAF,IAAY;AACXA,IAAAA,IAAI,CAACC,QAAL,GAAgB,CAAhB;AACAD,IAAAA,IAAI,CAACE,eAAL,GAAuBJ,iBAAvB;;AAEA,QAAK,CAAEA,iBAAP,EAA2B;AAC1B;AACA;;AAEDE,IAAAA,IAAI,CAACG,SAAL,CAAeC,GAAf,CAAoB,qBAApB;AACAJ,IAAAA,IAAI,CAACK,YAAL,CACC,YADD,EAECzB,EAAE,CAAE,0BAAF,CAFH;AAKA,WAAO,MAAM;AACZoB,MAAAA,IAAI,CAACG,SAAL,CAAeG,MAAf,CAAuB,qBAAvB;AACAN,MAAAA,IAAI,CAACO,eAAL,CAAsB,YAAtB;AACA,KAHD;AAIA,GAnBU,EAoBX,CAAET,iBAAF,CApBW,CATC,CAAF,CAFN,EAkCND,KAlCM,CAAP;AAoCA;;AAED,SAASW,WAAT,CAAsB;AAAEC,EAAAA,QAAF;AAAY,KAAGC;AAAf,CAAtB,EAA8CC,YAA9C,EAA6D;AAC5D,QAAM,CAAEhB,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBH,cAAc,EAA7C;AACA,SACC,8BACGC,MADH,EAEC,kCACMe,KADN;AAEC,IAAA,GAAG,EAAG7B,YAAY,CAAE,CAAEe,GAAF,EAAOe,YAAP,CAAF,CAFnB;AAGC,IAAA,SAAS,EAAGjC,UAAU,CACrBgC,KAAK,CAACE,SADe,EAErB,2BAFqB;AAHvB,MAQGH,QARH,CAFD,EAYGZ,KAZH,CADD;AAgBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAed,UAAU,CAAEyB,WAAF,CAAzB","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMultiSelection from './use-multi-selection';\nimport useTabNav from './use-tab-nav';\nimport useArrowNav from './use-arrow-nav';\nimport useSelectAll from './use-select-all';\nimport useDragSelection from './use-drag-selection';\nimport useSelectionObserver from './use-selection-observer';\nimport useClickSelection from './use-click-selection';\nimport useInput from './use-input';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useWritingFlow() {\n\tconst [ before, ref, after ] = useTabNav();\n\tconst hasMultiSelection = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasMultiSelection(),\n\t\t[]\n\t);\n\n\treturn [\n\t\tbefore,\n\t\tuseMergeRefs( [\n\t\t\tref,\n\t\t\tuseInput(),\n\t\t\tuseDragSelection(),\n\t\t\tuseSelectionObserver(),\n\t\t\tuseClickSelection(),\n\t\t\tuseMultiSelection(),\n\t\t\tuseSelectAll(),\n\t\t\tuseArrowNav(),\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tnode.tabIndex = 0;\n\t\t\t\t\tnode.contentEditable = hasMultiSelection;\n\n\t\t\t\t\tif ( ! hasMultiSelection ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.classList.add( 'has-multi-selection' );\n\t\t\t\t\tnode.setAttribute(\n\t\t\t\t\t\t'aria-label',\n\t\t\t\t\t\t__( 'Multiple selected blocks' )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tnode.classList.remove( 'has-multi-selection' );\n\t\t\t\t\t\tnode.removeAttribute( 'aria-label' );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ hasMultiSelection ]\n\t\t\t),\n\t\t] ),\n\t\tafter,\n\t];\n}\n\nfunction WritingFlow( { children, ...props }, forwardedRef ) {\n\tconst [ before, ref, after ] = useWritingFlow();\n\treturn (\n\t\t<>\n\t\t\t{ before }\n\t\t\t<div\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\t\tclassName={ classNames(\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'block-editor-writing-flow'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ after }\n\t\t</>\n\t);\n}\n\n/**\n * Handles selection and navigation across blocks. This component should be\n * wrapped around BlockList.\n *\n * @param {Object} props Component properties.\n * @param {WPElement} props.children Children to be rendered.\n */\nexport default forwardRef( WritingFlow );\n"]}
@@ -77,12 +77,10 @@ export default function useDragSelection() {
77
77
  });
78
78
  }
79
79
 
80
- function onMouseLeave(_ref) {
81
- let {
82
- buttons,
83
- target
84
- } = _ref;
85
-
80
+ function onMouseLeave({
81
+ buttons,
82
+ target
83
+ }) {
86
84
  // Avoid triggering a multi-selection if the user is already
87
85
  // dragging blocks.
88
86
  if (isDraggingBlocks()) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-drag-selection.js"],"names":["useSelect","useDispatch","useRefEffect","store","blockEditorStore","setContentEditableWrapper","node","value","contentEditable","focus","useDragSelection","startMultiSelect","stopMultiSelect","isSelectionEnabled","hasMultiSelection","isDraggingBlocks","ownerDocument","defaultView","anchorElement","rafId","onMouseUp","removeEventListener","requestAnimationFrame","selection","getSelection","rangeCount","commonAncestorContainer","getRangeAt","contains","onMouseLeave","buttons","target","getAttribute","activeElement","addEventListener","cancelAnimationFrame"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Sets the `contenteditable` wrapper element to `value`.\n *\n * @param {HTMLElement} node Block element.\n * @param {boolean} value `contentEditable` value (true or false)\n */\nfunction setContentEditableWrapper( node, value ) {\n\tnode.contentEditable = value;\n\t// Firefox doesn't automatically move focus.\n\tif ( value ) node.focus();\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n */\nexport default function useDragSelection() {\n\tconst { startMultiSelect, stopMultiSelect } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isSelectionEnabled, hasMultiSelection, isDraggingBlocks } =\n\t\tuseSelect( blockEditorStore );\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet anchorElement;\n\t\t\tlet rafId;\n\n\t\t\tfunction onMouseUp() {\n\t\t\t\tstopMultiSelect();\n\t\t\t\t// Equivalent to attaching the listener once.\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\t// The browser selection won't have updated yet at this point,\n\t\t\t\t// so wait until the next animation frame to get the browser\n\t\t\t\t// selection.\n\t\t\t\trafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If the selection is complete (on mouse up), and no\n\t\t\t\t\t// multiple blocks have been selected, set focus back to the\n\t\t\t\t\t// anchor element. if the anchor element contains the\n\t\t\t\t\t// selection. Additionally, the contentEditable wrapper can\n\t\t\t\t\t// now be disabled again.\n\t\t\t\t\tsetContentEditableWrapper( node, false );\n\n\t\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\t\tif ( selection.rangeCount ) {\n\t\t\t\t\t\tconst { commonAncestorContainer } =\n\t\t\t\t\t\t\tselection.getRangeAt( 0 );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tanchorElement.contains( commonAncestorContainer )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tanchorElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onMouseLeave( { buttons, target } ) {\n\t\t\t\t// Avoid triggering a multi-selection if the user is already\n\t\t\t\t// dragging blocks.\n\t\t\t\tif ( isDraggingBlocks() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The primary button must be pressed to initiate selection.\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n\t\t\t\tif ( buttons !== 1 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Check the attribute, not the contentEditable attribute. All\n\t\t\t\t// child elements of the content editable wrapper are editable\n\t\t\t\t// and return true for this property. We only want to start\n\t\t\t\t// multi selecting when the mouse leaves the wrapper.\n\t\t\t\tif ( ! target.getAttribute( 'contenteditable' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isSelectionEnabled() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tanchorElement = ownerDocument.activeElement;\n\t\t\t\tstartMultiSelect();\n\n\t\t\t\t// `onSelectionStart` is called after `mousedown` and\n\t\t\t\t// `mouseleave` (from a block). The selection ends when\n\t\t\t\t// `mouseup` happens anywhere in the window.\n\t\t\t\tdefaultView.addEventListener( 'mouseup', onMouseUp );\n\n\t\t\t\t// Allow cross contentEditable selection by temporarily making\n\t\t\t\t// all content editable. We can't rely on using the store and\n\t\t\t\t// React because re-rending happens too slowly. We need to be\n\t\t\t\t// able to select across instances immediately.\n\t\t\t\tsetContentEditableWrapper( node, true );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mouseout', onMouseLeave );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mouseout', onMouseLeave );\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tstartMultiSelect,\n\t\t\tstopMultiSelect,\n\t\t\tisSelectionEnabled,\n\t\t\thasMultiSelection,\n\t\t]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-drag-selection.js"],"names":["useSelect","useDispatch","useRefEffect","store","blockEditorStore","setContentEditableWrapper","node","value","contentEditable","focus","useDragSelection","startMultiSelect","stopMultiSelect","isSelectionEnabled","hasMultiSelection","isDraggingBlocks","ownerDocument","defaultView","anchorElement","rafId","onMouseUp","removeEventListener","requestAnimationFrame","selection","getSelection","rangeCount","commonAncestorContainer","getRangeAt","contains","onMouseLeave","buttons","target","getAttribute","activeElement","addEventListener","cancelAnimationFrame"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Sets the `contenteditable` wrapper element to `value`.\n *\n * @param {HTMLElement} node Block element.\n * @param {boolean} value `contentEditable` value (true or false)\n */\nfunction setContentEditableWrapper( node, value ) {\n\tnode.contentEditable = value;\n\t// Firefox doesn't automatically move focus.\n\tif ( value ) node.focus();\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n */\nexport default function useDragSelection() {\n\tconst { startMultiSelect, stopMultiSelect } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isSelectionEnabled, hasMultiSelection, isDraggingBlocks } =\n\t\tuseSelect( blockEditorStore );\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet anchorElement;\n\t\t\tlet rafId;\n\n\t\t\tfunction onMouseUp() {\n\t\t\t\tstopMultiSelect();\n\t\t\t\t// Equivalent to attaching the listener once.\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\t// The browser selection won't have updated yet at this point,\n\t\t\t\t// so wait until the next animation frame to get the browser\n\t\t\t\t// selection.\n\t\t\t\trafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If the selection is complete (on mouse up), and no\n\t\t\t\t\t// multiple blocks have been selected, set focus back to the\n\t\t\t\t\t// anchor element. if the anchor element contains the\n\t\t\t\t\t// selection. Additionally, the contentEditable wrapper can\n\t\t\t\t\t// now be disabled again.\n\t\t\t\t\tsetContentEditableWrapper( node, false );\n\n\t\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\t\tif ( selection.rangeCount ) {\n\t\t\t\t\t\tconst { commonAncestorContainer } =\n\t\t\t\t\t\t\tselection.getRangeAt( 0 );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tanchorElement.contains( commonAncestorContainer )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tanchorElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onMouseLeave( { buttons, target } ) {\n\t\t\t\t// Avoid triggering a multi-selection if the user is already\n\t\t\t\t// dragging blocks.\n\t\t\t\tif ( isDraggingBlocks() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The primary button must be pressed to initiate selection.\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n\t\t\t\tif ( buttons !== 1 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Check the attribute, not the contentEditable attribute. All\n\t\t\t\t// child elements of the content editable wrapper are editable\n\t\t\t\t// and return true for this property. We only want to start\n\t\t\t\t// multi selecting when the mouse leaves the wrapper.\n\t\t\t\tif ( ! target.getAttribute( 'contenteditable' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isSelectionEnabled() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tanchorElement = ownerDocument.activeElement;\n\t\t\t\tstartMultiSelect();\n\n\t\t\t\t// `onSelectionStart` is called after `mousedown` and\n\t\t\t\t// `mouseleave` (from a block). The selection ends when\n\t\t\t\t// `mouseup` happens anywhere in the window.\n\t\t\t\tdefaultView.addEventListener( 'mouseup', onMouseUp );\n\n\t\t\t\t// Allow cross contentEditable selection by temporarily making\n\t\t\t\t// all content editable. We can't rely on using the store and\n\t\t\t\t// React because re-rending happens too slowly. We need to be\n\t\t\t\t// able to select across instances immediately.\n\t\t\t\tsetContentEditableWrapper( node, true );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mouseout', onMouseLeave );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mouseout', onMouseLeave );\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tstartMultiSelect,\n\t\t\tstopMultiSelect,\n\t\t\tisSelectionEnabled,\n\t\t\thasMultiSelection,\n\t\t]\n\t);\n}\n"]}
@@ -43,10 +43,15 @@ export default function useTabNav() {
43
43
  lastFocus.current.focus();
44
44
  } else {
45
45
  setNavigationMode(true);
46
+ const canvasElement = container.current.ownerDocument === event.target.ownerDocument ? container.current : container.current.ownerDocument.defaultView.frameElement;
46
47
  const isBefore = // eslint-disable-next-line no-bitwise
47
- event.target.compareDocumentPosition(container.current) & event.target.DOCUMENT_POSITION_FOLLOWING;
48
- const action = isBefore ? 'findNext' : 'findPrevious';
49
- focus.tabbable[action](event.target).focus();
48
+ event.target.compareDocumentPosition(canvasElement) & event.target.DOCUMENT_POSITION_FOLLOWING;
49
+ const tabbables = focus.tabbable.find(container.current);
50
+
51
+ if (tabbables.length) {
52
+ const next = isBefore ? tabbables[0] : tabbables[tabbables.length - 1];
53
+ next.focus();
54
+ }
50
55
  }
51
56
  }
52
57
 
@@ -140,13 +145,11 @@ export default function useTabNav() {
140
145
 
141
146
 
142
147
  function preventScrollOnTab(event) {
143
- var _event$target;
144
-
145
148
  if (event.keyCode !== TAB) {
146
149
  return;
147
150
  }
148
151
 
149
- if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.getAttribute('role')) === 'region') {
152
+ if (event.target?.getAttribute('role') === 'region') {
150
153
  return;
151
154
  }
152
155
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"names":["focus","isFormElement","TAB","ESCAPE","useSelect","useDispatch","useRefEffect","useMergeRefs","useRef","store","blockEditorStore","useTabNav","container","focusCaptureBeforeRef","focusCaptureAfterRef","lastFocus","hasMultiSelection","getSelectedBlockClientId","getBlockCount","setNavigationMode","isNavigationMode","select","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","isBefore","target","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","action","tabbable","before","after","ref","node","onKeyDown","defaultPrevented","keyCode","preventDefault","isShift","shiftKey","direction","getAttribute","next","preventScroll","onFocusOut","ownerDocument","relatedTarget","activeElement","body","preventScrollOnTab","defaultView","addEventListener","removeEventListener","mergedRefs"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus, isFormElement } from '@wordpress/dom';\nimport { TAB, ESCAPE } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\tconst lastFocus = useRef();\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode } = useDispatch( blockEditorStore );\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\t// Don't allow tabbing to this element in Navigation mode.\n\tconst focusCaptureTabIndex = ! isNavigationMode ? '0' : undefined;\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCapture = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCapture.current ) {\n\t\t\tnoCapture.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainer.current.focus();\n\t\t} else if ( getSelectedBlockClientId() ) {\n\t\t\tlastFocus.current.focus();\n\t\t} else {\n\t\t\tsetNavigationMode( true );\n\n\t\t\tconst isBefore =\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tevent.target.compareDocumentPosition( container.current ) &\n\t\t\t\tevent.target.DOCUMENT_POSITION_FOLLOWING;\n\t\t\tconst action = isBefore ? 'findNext' : 'findPrevious';\n\n\t\t\tfocus.tabbable[ action ]( event.target ).focus();\n\t\t}\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst ref = useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ESCAPE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In Edit mode, Tab should focus the first tabbable element after\n\t\t\t// the content, which is normally the sidebar (with block controls)\n\t\t\t// and Shift+Tab should focus the first tabbable element before the\n\t\t\t// content, which is normally the block toolbar.\n\t\t\t// Arrow keys can be used, and Tab and arrow keys can be used in\n\t\t\t// Navigation mode (press Esc), to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\n\t\t\tif ( ! hasMultiSelection() && ! getSelectedBlockClientId() ) {\n\t\t\t\t// Preserve the behaviour of entering navigation mode when\n\t\t\t\t// tabbing into the content without a block selection.\n\t\t\t\t// `onFocusCapture` already did this previously, but we need to\n\t\t\t\t// do it again here because after clearing block selection,\n\t\t\t\t// focus land on the writing flow container and pressing Tab\n\t\t\t\t// will no longer send focus through the focus capture element.\n\t\t\t\tif ( event.target === node ) setNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow tabbing from the block wrapper to a form element,\n\t\t\t// and between form elements rendered in a block,\n\t\t\t// such as inside a placeholder. Form elements are generally\n\t\t\t// meant to be UI rather than part of the content. Ideally\n\t\t\t// these are not rendered in the content and perhaps in the\n\t\t\t// future they can be rendered in an iframe or shadow DOM.\n\t\t\tif (\n\t\t\t\t( isFormElement( event.target ) ||\n\t\t\t\t\tevent.target.getAttribute( 'data-block' ) ===\n\t\t\t\t\t\tgetSelectedBlockClientId() ) &&\n\t\t\t\tisFormElement( focus.tabbable[ direction ]( event.target ) )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;\n\n\t\t\t// Disable focus capturing on the focus capture element, so it\n\t\t\t// doesn't refocus this block and so it allows default behaviour\n\t\t\t// (moving focus to the next tabbable element).\n\t\t\tnoCapture.current = true;\n\n\t\t\t// Focusing the focus capture element, which is located above and\n\t\t\t// below the editor, should not scroll the page all the way up or\n\t\t\t// down.\n\t\t\tnext.current.focus( { preventScroll: true } );\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\tlastFocus.current = event.target;\n\n\t\t\tconst { ownerDocument } = node;\n\n\t\t\t// If focus disappears due to there being no blocks, move focus to\n\t\t\t// the writing flow wrapper.\n\t\t\tif (\n\t\t\t\t! event.relatedTarget &&\n\t\t\t\townerDocument.activeElement === ownerDocument.body &&\n\t\t\t\tgetBlockCount() === 0\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t}\n\n\t\t// When tabbing back to an element in block list, this event handler prevents scrolling if the\n\t\t// focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph\n\t\t// when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the\n\t\t// top or bottom of the document.\n\t\t//\n\t\t// Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this\n\t\t// earlier in the keypress handler, and call focus( { preventScroll: true } ) instead.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters\n\t\tfunction preventScrollOnTab( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.target?.getAttribute( 'role' ) === 'region' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( container.current === event.target ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst target = focus.tabbable[ direction ]( event.target );\n\t\t\t// Only do something when the next tabbable is a focus capture div (before/after)\n\t\t\tif (\n\t\t\t\ttarget === focusCaptureBeforeRef.current ||\n\t\t\t\ttarget === focusCaptureAfterRef.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus( { preventScroll: true } );\n\t\t\t}\n\t\t}\n\n\t\tconst { ownerDocument } = node;\n\t\tconst { defaultView } = ownerDocument;\n\t\tdefaultView.addEventListener( 'keydown', preventScrollOnTab );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'keydown', preventScrollOnTab );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ container, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"names":["focus","isFormElement","TAB","ESCAPE","useSelect","useDispatch","useRefEffect","useMergeRefs","useRef","store","blockEditorStore","useTabNav","container","focusCaptureBeforeRef","focusCaptureAfterRef","lastFocus","hasMultiSelection","getSelectedBlockClientId","getBlockCount","setNavigationMode","isNavigationMode","select","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","canvasElement","ownerDocument","target","defaultView","frameElement","isBefore","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","tabbables","tabbable","find","length","next","before","after","ref","node","onKeyDown","defaultPrevented","keyCode","preventDefault","isShift","shiftKey","direction","getAttribute","preventScroll","onFocusOut","relatedTarget","activeElement","body","preventScrollOnTab","addEventListener","removeEventListener","mergedRefs"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,KAAT,EAAgBC,aAAhB,QAAqC,gBAArC;AACA,SAASC,GAAT,EAAcC,MAAd,QAA4B,qBAA5B;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,oBAA3C;AACA,SAASC,MAAT,QAAuB,oBAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,eAAe,SAASC,SAAT,GAAqB;AACnC,QAAMC,SAAS,GAAGJ,MAAM,EAAxB;AACA,QAAMK,qBAAqB,GAAGL,MAAM,EAApC;AACA,QAAMM,oBAAoB,GAAGN,MAAM,EAAnC;AACA,QAAMO,SAAS,GAAGP,MAAM,EAAxB;AACA,QAAM;AAAEQ,IAAAA,iBAAF;AAAqBC,IAAAA,wBAArB;AAA+CC,IAAAA;AAA/C,MACLd,SAAS,CAAEM,gBAAF,CADV;AAEA,QAAM;AAAES,IAAAA;AAAF,MAAwBd,WAAW,CAAEK,gBAAF,CAAzC;AACA,QAAMU,gBAAgB,GAAGhB,SAAS,CAC/BiB,MAAF,IAAcA,MAAM,CAAEX,gBAAF,CAAN,CAA2BU,gBAA3B,EADmB,EAEjC,EAFiC,CAAlC,CARmC,CAanC;;AACA,QAAME,oBAAoB,GAAG,CAAEF,gBAAF,GAAqB,GAArB,GAA2BG,SAAxD,CAdmC,CAgBnC;AACA;;AACA,QAAMC,SAAS,GAAGhB,MAAM,EAAxB;;AAEA,WAASiB,cAAT,CAAyBC,KAAzB,EAAiC;AAChC;AACA,QAAKF,SAAS,CAACG,OAAf,EAAyB;AACxBH,MAAAA,SAAS,CAACG,OAAV,GAAoB,IAApB;AACA,KAFD,MAEO,IAAKX,iBAAiB,EAAtB,EAA2B;AACjCJ,MAAAA,SAAS,CAACe,OAAV,CAAkB3B,KAAlB;AACA,KAFM,MAEA,IAAKiB,wBAAwB,EAA7B,EAAkC;AACxCF,MAAAA,SAAS,CAACY,OAAV,CAAkB3B,KAAlB;AACA,KAFM,MAEA;AACNmB,MAAAA,iBAAiB,CAAE,IAAF,CAAjB;AAEA,YAAMS,aAAa,GAClBhB,SAAS,CAACe,OAAV,CAAkBE,aAAlB,KAAoCH,KAAK,CAACI,MAAN,CAAaD,aAAjD,GACGjB,SAAS,CAACe,OADb,GAEGf,SAAS,CAACe,OAAV,CAAkBE,aAAlB,CAAgCE,WAAhC,CAA4CC,YAHhD;AAKA,YAAMC,QAAQ,GACb;AACAP,MAAAA,KAAK,CAACI,MAAN,CAAaI,uBAAb,CAAsCN,aAAtC,IACAF,KAAK,CAACI,MAAN,CAAaK,2BAHd;AAIA,YAAMC,SAAS,GAAGpC,KAAK,CAACqC,QAAN,CAAeC,IAAf,CAAqB1B,SAAS,CAACe,OAA/B,CAAlB;;AAEA,UAAKS,SAAS,CAACG,MAAf,EAAwB;AACvB,cAAMC,IAAI,GAAGP,QAAQ,GAClBG,SAAS,CAAE,CAAF,CADS,GAElBA,SAAS,CAAEA,SAAS,CAACG,MAAV,GAAmB,CAArB,CAFZ;AAIAC,QAAAA,IAAI,CAACxC,KAAL;AACA;AACD;AACD;;AAED,QAAMyC,MAAM,GACX;AACC,IAAA,GAAG,EAAG5B,qBADP;AAEC,IAAA,QAAQ,EAAGS,oBAFZ;AAGC,IAAA,OAAO,EAAGG;AAHX,IADD;AAQA,QAAMiB,KAAK,GACV;AACC,IAAA,GAAG,EAAG5B,oBADP;AAEC,IAAA,QAAQ,EAAGQ,oBAFZ;AAGC,IAAA,OAAO,EAAGG;AAHX,IADD;AAQA,QAAMkB,GAAG,GAAGrC,YAAY,CAAIsC,IAAF,IAAY;AACrC,aAASC,SAAT,CAAoBnB,KAApB,EAA4B;AAC3B,UAAKA,KAAK,CAACoB,gBAAX,EAA8B;AAC7B;AACA;;AAED,UAAKpB,KAAK,CAACqB,OAAN,KAAkB5C,MAAvB,EAAgC;AAC/BuB,QAAAA,KAAK,CAACsB,cAAN;AACA7B,QAAAA,iBAAiB,CAAE,IAAF,CAAjB;AACA;AACA,OAT0B,CAW3B;AACA;AACA;AACA;AACA;AACA;;;AACA,UAAKO,KAAK,CAACqB,OAAN,KAAkB7C,GAAvB,EAA6B;AAC5B;AACA;;AAED,YAAM+C,OAAO,GAAGvB,KAAK,CAACwB,QAAtB;AACA,YAAMC,SAAS,GAAGF,OAAO,GAAG,cAAH,GAAoB,UAA7C;;AAEA,UAAK,CAAEjC,iBAAiB,EAAnB,IAAyB,CAAEC,wBAAwB,EAAxD,EAA6D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,YAAKS,KAAK,CAACI,MAAN,KAAiBc,IAAtB,EAA6BzB,iBAAiB,CAAE,IAAF,CAAjB;AAC7B;AACA,OAjC0B,CAmC3B;AACA;AACA;AACA;AACA;AACA;;;AACA,UACC,CAAElB,aAAa,CAAEyB,KAAK,CAACI,MAAR,CAAb,IACDJ,KAAK,CAACI,MAAN,CAAasB,YAAb,CAA2B,YAA3B,MACCnC,wBAAwB,EAF1B,KAGAhB,aAAa,CAAED,KAAK,CAACqC,QAAN,CAAgBc,SAAhB,EAA6BzB,KAAK,CAACI,MAAnC,CAAF,CAJd,EAKE;AACD;AACA;;AAED,YAAMU,IAAI,GAAGS,OAAO,GAAGpC,qBAAH,GAA2BC,oBAA/C,CAlD2B,CAoD3B;AACA;AACA;;AACAU,MAAAA,SAAS,CAACG,OAAV,GAAoB,IAApB,CAvD2B,CAyD3B;AACA;AACA;;AACAa,MAAAA,IAAI,CAACb,OAAL,CAAa3B,KAAb,CAAoB;AAAEqD,QAAAA,aAAa,EAAE;AAAjB,OAApB;AACA;;AAED,aAASC,UAAT,CAAqB5B,KAArB,EAA6B;AAC5BX,MAAAA,SAAS,CAACY,OAAV,GAAoBD,KAAK,CAACI,MAA1B;AAEA,YAAM;AAAED,QAAAA;AAAF,UAAoBe,IAA1B,CAH4B,CAK5B;AACA;;AACA,UACC,CAAElB,KAAK,CAAC6B,aAAR,IACA1B,aAAa,CAAC2B,aAAd,KAAgC3B,aAAa,CAAC4B,IAD9C,IAEAvC,aAAa,OAAO,CAHrB,EAIE;AACD0B,QAAAA,IAAI,CAAC5C,KAAL;AACA;AACD,KA9EoC,CAgFrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,aAAS0D,kBAAT,CAA6BhC,KAA7B,EAAqC;AACpC,UAAKA,KAAK,CAACqB,OAAN,KAAkB7C,GAAvB,EAA6B;AAC5B;AACA;;AAED,UAAKwB,KAAK,CAACI,MAAN,EAAcsB,YAAd,CAA4B,MAA5B,MAAyC,QAA9C,EAAyD;AACxD;AACA;;AAED,UAAKxC,SAAS,CAACe,OAAV,KAAsBD,KAAK,CAACI,MAAjC,EAA0C;AACzC;AACA;;AAED,YAAMmB,OAAO,GAAGvB,KAAK,CAACwB,QAAtB;AACA,YAAMC,SAAS,GAAGF,OAAO,GAAG,cAAH,GAAoB,UAA7C;AACA,YAAMnB,MAAM,GAAG9B,KAAK,CAACqC,QAAN,CAAgBc,SAAhB,EAA6BzB,KAAK,CAACI,MAAnC,CAAf,CAfoC,CAgBpC;;AACA,UACCA,MAAM,KAAKjB,qBAAqB,CAACc,OAAjC,IACAG,MAAM,KAAKhB,oBAAoB,CAACa,OAFjC,EAGE;AACDD,QAAAA,KAAK,CAACsB,cAAN;AACAlB,QAAAA,MAAM,CAAC9B,KAAP,CAAc;AAAEqD,UAAAA,aAAa,EAAE;AAAjB,SAAd;AACA;AACD;;AAED,UAAM;AAAExB,MAAAA;AAAF,QAAoBe,IAA1B;AACA,UAAM;AAAEb,MAAAA;AAAF,QAAkBF,aAAxB;AACAE,IAAAA,WAAW,CAAC4B,gBAAZ,CAA8B,SAA9B,EAAyCD,kBAAzC;AACAd,IAAAA,IAAI,CAACe,gBAAL,CAAuB,SAAvB,EAAkCd,SAAlC;AACAD,IAAAA,IAAI,CAACe,gBAAL,CAAuB,UAAvB,EAAmCL,UAAnC;AACA,WAAO,MAAM;AACZvB,MAAAA,WAAW,CAAC6B,mBAAZ,CAAiC,SAAjC,EAA4CF,kBAA5C;AACAd,MAAAA,IAAI,CAACgB,mBAAL,CAA0B,SAA1B,EAAqCf,SAArC;AACAD,MAAAA,IAAI,CAACgB,mBAAL,CAA0B,UAA1B,EAAsCN,UAAtC;AACA,KAJD;AAKA,GA5HuB,EA4HrB,EA5HqB,CAAxB;AA8HA,QAAMO,UAAU,GAAGtD,YAAY,CAAE,CAAEK,SAAF,EAAa+B,GAAb,CAAF,CAA/B;AAEA,SAAO,CAAEF,MAAF,EAAUoB,UAAV,EAAsBnB,KAAtB,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus, isFormElement } from '@wordpress/dom';\nimport { TAB, ESCAPE } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\tconst lastFocus = useRef();\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode } = useDispatch( blockEditorStore );\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\t// Don't allow tabbing to this element in Navigation mode.\n\tconst focusCaptureTabIndex = ! isNavigationMode ? '0' : undefined;\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCapture = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCapture.current ) {\n\t\t\tnoCapture.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainer.current.focus();\n\t\t} else if ( getSelectedBlockClientId() ) {\n\t\t\tlastFocus.current.focus();\n\t\t} else {\n\t\t\tsetNavigationMode( true );\n\n\t\t\tconst canvasElement =\n\t\t\t\tcontainer.current.ownerDocument === event.target.ownerDocument\n\t\t\t\t\t? container.current\n\t\t\t\t\t: container.current.ownerDocument.defaultView.frameElement;\n\n\t\t\tconst isBefore =\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tevent.target.compareDocumentPosition( canvasElement ) &\n\t\t\t\tevent.target.DOCUMENT_POSITION_FOLLOWING;\n\t\t\tconst tabbables = focus.tabbable.find( container.current );\n\n\t\t\tif ( tabbables.length ) {\n\t\t\t\tconst next = isBefore\n\t\t\t\t\t? tabbables[ 0 ]\n\t\t\t\t\t: tabbables[ tabbables.length - 1 ];\n\n\t\t\t\tnext.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst ref = useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ESCAPE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In Edit mode, Tab should focus the first tabbable element after\n\t\t\t// the content, which is normally the sidebar (with block controls)\n\t\t\t// and Shift+Tab should focus the first tabbable element before the\n\t\t\t// content, which is normally the block toolbar.\n\t\t\t// Arrow keys can be used, and Tab and arrow keys can be used in\n\t\t\t// Navigation mode (press Esc), to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\n\t\t\tif ( ! hasMultiSelection() && ! getSelectedBlockClientId() ) {\n\t\t\t\t// Preserve the behaviour of entering navigation mode when\n\t\t\t\t// tabbing into the content without a block selection.\n\t\t\t\t// `onFocusCapture` already did this previously, but we need to\n\t\t\t\t// do it again here because after clearing block selection,\n\t\t\t\t// focus land on the writing flow container and pressing Tab\n\t\t\t\t// will no longer send focus through the focus capture element.\n\t\t\t\tif ( event.target === node ) setNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow tabbing from the block wrapper to a form element,\n\t\t\t// and between form elements rendered in a block,\n\t\t\t// such as inside a placeholder. Form elements are generally\n\t\t\t// meant to be UI rather than part of the content. Ideally\n\t\t\t// these are not rendered in the content and perhaps in the\n\t\t\t// future they can be rendered in an iframe or shadow DOM.\n\t\t\tif (\n\t\t\t\t( isFormElement( event.target ) ||\n\t\t\t\t\tevent.target.getAttribute( 'data-block' ) ===\n\t\t\t\t\t\tgetSelectedBlockClientId() ) &&\n\t\t\t\tisFormElement( focus.tabbable[ direction ]( event.target ) )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;\n\n\t\t\t// Disable focus capturing on the focus capture element, so it\n\t\t\t// doesn't refocus this block and so it allows default behaviour\n\t\t\t// (moving focus to the next tabbable element).\n\t\t\tnoCapture.current = true;\n\n\t\t\t// Focusing the focus capture element, which is located above and\n\t\t\t// below the editor, should not scroll the page all the way up or\n\t\t\t// down.\n\t\t\tnext.current.focus( { preventScroll: true } );\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\tlastFocus.current = event.target;\n\n\t\t\tconst { ownerDocument } = node;\n\n\t\t\t// If focus disappears due to there being no blocks, move focus to\n\t\t\t// the writing flow wrapper.\n\t\t\tif (\n\t\t\t\t! event.relatedTarget &&\n\t\t\t\townerDocument.activeElement === ownerDocument.body &&\n\t\t\t\tgetBlockCount() === 0\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t}\n\n\t\t// When tabbing back to an element in block list, this event handler prevents scrolling if the\n\t\t// focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph\n\t\t// when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the\n\t\t// top or bottom of the document.\n\t\t//\n\t\t// Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this\n\t\t// earlier in the keypress handler, and call focus( { preventScroll: true } ) instead.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters\n\t\tfunction preventScrollOnTab( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.target?.getAttribute( 'role' ) === 'region' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( container.current === event.target ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst target = focus.tabbable[ direction ]( event.target );\n\t\t\t// Only do something when the next tabbable is a focus capture div (before/after)\n\t\t\tif (\n\t\t\t\ttarget === focusCaptureBeforeRef.current ||\n\t\t\t\ttarget === focusCaptureAfterRef.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus( { preventScroll: true } );\n\t\t\t}\n\t\t}\n\n\t\tconst { ownerDocument } = node;\n\t\tconst { defaultView } = ownerDocument;\n\t\tdefaultView.addEventListener( 'keydown', preventScrollOnTab );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'keydown', preventScrollOnTab );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ container, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"]}
@@ -50,9 +50,7 @@ const WIDE_ALIGNMENTS = ['wide', 'full'];
50
50
  * @return {string[]} Valid alignments.
51
51
  */
52
52
 
53
- export function getValidAlignments(blockAlign) {
54
- let hasWideBlockSupport = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
55
- let hasWideEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
53
+ export function getValidAlignments(blockAlign, hasWideBlockSupport = true, hasWideEnabled = true) {
56
54
  let validAlignments;
57
55
 
58
56
  if (Array.isArray(blockAlign)) {
@@ -79,10 +77,10 @@ export function getValidAlignments(blockAlign) {
79
77
  */
80
78
 
81
79
  export function addAttribute(settings) {
82
- var _settings$attributes$, _settings$attributes;
80
+ var _settings$attributes$;
83
81
 
84
82
  // Allow blocks to specify their own attribute definition with default values if needed.
85
- if ('type' in ((_settings$attributes$ = (_settings$attributes = settings.attributes) === null || _settings$attributes === void 0 ? void 0 : _settings$attributes.align) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
83
+ if ('type' in ((_settings$attributes$ = settings.attributes?.align) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
86
84
  return settings;
87
85
  }
88
86
 
@@ -121,12 +119,9 @@ export const withToolbarControls = createHigherOrderComponent(BlockEdit => props
121
119
  // Slot.
122
120
 
123
121
  const blockAllowedAlignments = getValidAlignments(getBlockSupport(blockName, 'align'), hasBlockSupport(blockName, 'alignWide', true));
124
- const validAlignments = useAvailableAlignments(blockAllowedAlignments).map(_ref => {
125
- let {
126
- name
127
- } = _ref;
128
- return name;
129
- });
122
+ const validAlignments = useAvailableAlignments(blockAllowedAlignments).map(({
123
+ name
124
+ }) => name);
130
125
  const blockEditingMode = useBlockEditingMode();
131
126
 
132
127
  if (!validAlignments.length || blockEditingMode !== 'default') {
@@ -135,10 +130,8 @@ export const withToolbarControls = createHigherOrderComponent(BlockEdit => props
135
130
 
136
131
  const updateAlignment = nextAlign => {
137
132
  if (!nextAlign) {
138
- var _blockType$attributes, _blockType$attributes2;
139
-
140
133
  const blockType = getBlockType(props.name);
141
- const blockDefaultAlign = blockType === null || blockType === void 0 ? void 0 : (_blockType$attributes = blockType.attributes) === null || _blockType$attributes === void 0 ? void 0 : (_blockType$attributes2 = _blockType$attributes.align) === null || _blockType$attributes2 === void 0 ? void 0 : _blockType$attributes2.default;
134
+ const blockDefaultAlign = blockType?.attributes?.align?.default;
142
135
 
143
136
  if (blockDefaultAlign) {
144
137
  nextAlign = '';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/align.js"],"names":["classnames","createHigherOrderComponent","addFilter","getBlockSupport","getBlockType","hasBlockSupport","BlockControls","BlockAlignmentControl","useAvailableAlignments","useBlockEditingMode","ALL_ALIGNMENTS","WIDE_ALIGNMENTS","getValidAlignments","blockAlign","hasWideBlockSupport","hasWideEnabled","validAlignments","Array","isArray","filter","value","includes","alignment","addAttribute","settings","attributes","align","type","enum","withToolbarControls","BlockEdit","props","blockEdit","name","blockName","blockAllowedAlignments","map","blockEditingMode","length","updateAlignment","nextAlign","blockType","blockDefaultAlign","default","setAttributes","withDataAlign","BlockListBlock","undefined","wrapperProps","some","addAssignedAlign","isAlignValid","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { BlockControls, BlockAlignmentControl } from '../components';\nimport useAvailableAlignments from '../components/block-alignment-control/use-available-alignments';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * An array which includes all possible valid alignments,\n * used to validate if an alignment is valid or not.\n *\n * @constant\n * @type {string[]}\n */\nconst ALL_ALIGNMENTS = [ 'left', 'center', 'right', 'wide', 'full' ];\n\n/**\n * An array which includes all wide alignments.\n * In order for this alignments to be valid they need to be supported by the block,\n * and by the theme.\n *\n * @constant\n * @type {string[]}\n */\nconst WIDE_ALIGNMENTS = [ 'wide', 'full' ];\n\n/**\n * Returns the valid alignments.\n * Takes into consideration the aligns supported by a block, if the block supports wide controls or not and if theme supports wide controls or not.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockAlign Aligns supported by the block.\n * @param {?boolean} hasWideBlockSupport True if block supports wide alignments. And False otherwise.\n * @param {?boolean} hasWideEnabled True if theme supports wide alignments. And False otherwise.\n *\n * @return {string[]} Valid alignments.\n */\nexport function getValidAlignments(\n\tblockAlign,\n\thasWideBlockSupport = true,\n\thasWideEnabled = true\n) {\n\tlet validAlignments;\n\tif ( Array.isArray( blockAlign ) ) {\n\t\tvalidAlignments = ALL_ALIGNMENTS.filter( ( value ) =>\n\t\t\tblockAlign.includes( value )\n\t\t);\n\t} else if ( blockAlign === true ) {\n\t\t// `true` includes all alignments...\n\t\tvalidAlignments = [ ...ALL_ALIGNMENTS ];\n\t} else {\n\t\tvalidAlignments = [];\n\t}\n\n\tif (\n\t\t! hasWideEnabled ||\n\t\t( blockAlign === true && ! hasWideBlockSupport )\n\t) {\n\t\treturn validAlignments.filter(\n\t\t\t( alignment ) => ! WIDE_ALIGNMENTS.includes( alignment )\n\t\t);\n\t}\n\n\treturn validAlignments;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `align`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.align ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'align' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\t// Allow for '' since it is used by updateAlignment function\n\t\t\t\t// in withToolbarControls for special cases with defined default values.\n\t\t\t\tenum: [ ...ALL_ALIGNMENTS, '' ],\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include new toolbar controls for block\n * alignment, if block defines support.\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withToolbarControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\tconst { name: blockName } = props;\n\t\t// Compute the block valid alignments by taking into account,\n\t\t// if the theme supports wide alignments or not and the layout's\n\t\t// availble alignments. We do that for conditionally rendering\n\t\t// Slot.\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( blockName, 'align' ),\n\t\t\thasBlockSupport( blockName, 'alignWide', true )\n\t\t);\n\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t).map( ( { name } ) => name );\n\t\tconst blockEditingMode = useBlockEditingMode();\n\t\tif ( ! validAlignments.length || blockEditingMode !== 'default' ) {\n\t\t\treturn blockEdit;\n\t\t}\n\n\t\tconst updateAlignment = ( nextAlign ) => {\n\t\t\tif ( ! nextAlign ) {\n\t\t\t\tconst blockType = getBlockType( props.name );\n\t\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\t\tnextAlign = '';\n\t\t\t\t}\n\t\t\t}\n\t\t\tprops.setAttributes( { align: nextAlign } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ props.attributes.align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\tcontrols={ validAlignments }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ blockEdit }\n\t\t\t</>\n\t\t);\n\t},\n\t'withToolbarControls'\n);\n\n/**\n * Override the default block element to add alignment wrapper props.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withDataAlign = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst { align } = attributes;\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( name, 'align' ),\n\t\t\thasBlockSupport( name, 'alignWide', true )\n\t\t);\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t);\n\n\t\t// If an alignment is not assigned, there's no need to go through the\n\t\t// effort to validate or assign its value.\n\t\tif ( align === undefined ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tlet wrapperProps = props.wrapperProps;\n\t\tif (\n\t\t\tvalidAlignments.some( ( alignment ) => alignment.name === align )\n\t\t) {\n\t\t\twrapperProps = { ...wrapperProps, 'data-align': align };\n\t\t}\n\n\t\treturn <BlockListBlock { ...props } wrapperProps={ wrapperProps } />;\n\t},\n\t'withDataAlign'\n);\n\n/**\n * Override props assigned to save component to inject alignment class name if\n * block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedAlign( props, blockType, attributes ) {\n\tconst { align } = attributes;\n\tconst blockAlign = getBlockSupport( blockType, 'align' );\n\tconst hasWideBlockSupport = hasBlockSupport( blockType, 'alignWide', true );\n\n\t// Compute valid alignments without taking into account if\n\t// the theme supports wide alignments or not.\n\t// This way changing themes does not impact the block save.\n\tconst isAlignValid = getValidAlignments(\n\t\tblockAlign,\n\t\thasWideBlockSupport\n\t).includes( align );\n\tif ( isAlignValid ) {\n\t\tprops.className = classnames( `align${ align }`, props.className );\n\t}\n\n\treturn props;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/align/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/align/with-data-align',\n\twithDataAlign\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/align/with-toolbar-controls',\n\twithToolbarControls\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/align/addAssignedAlign',\n\taddAssignedAlign\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/align.js"],"names":["classnames","createHigherOrderComponent","addFilter","getBlockSupport","getBlockType","hasBlockSupport","BlockControls","BlockAlignmentControl","useAvailableAlignments","useBlockEditingMode","ALL_ALIGNMENTS","WIDE_ALIGNMENTS","getValidAlignments","blockAlign","hasWideBlockSupport","hasWideEnabled","validAlignments","Array","isArray","filter","value","includes","alignment","addAttribute","settings","attributes","align","type","enum","withToolbarControls","BlockEdit","props","blockEdit","name","blockName","blockAllowedAlignments","map","blockEditingMode","length","updateAlignment","nextAlign","blockType","blockDefaultAlign","default","setAttributes","withDataAlign","BlockListBlock","undefined","wrapperProps","some","addAssignedAlign","isAlignValid","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { BlockControls, BlockAlignmentControl } from '../components';\nimport useAvailableAlignments from '../components/block-alignment-control/use-available-alignments';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * An array which includes all possible valid alignments,\n * used to validate if an alignment is valid or not.\n *\n * @constant\n * @type {string[]}\n */\nconst ALL_ALIGNMENTS = [ 'left', 'center', 'right', 'wide', 'full' ];\n\n/**\n * An array which includes all wide alignments.\n * In order for this alignments to be valid they need to be supported by the block,\n * and by the theme.\n *\n * @constant\n * @type {string[]}\n */\nconst WIDE_ALIGNMENTS = [ 'wide', 'full' ];\n\n/**\n * Returns the valid alignments.\n * Takes into consideration the aligns supported by a block, if the block supports wide controls or not and if theme supports wide controls or not.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockAlign Aligns supported by the block.\n * @param {?boolean} hasWideBlockSupport True if block supports wide alignments. And False otherwise.\n * @param {?boolean} hasWideEnabled True if theme supports wide alignments. And False otherwise.\n *\n * @return {string[]} Valid alignments.\n */\nexport function getValidAlignments(\n\tblockAlign,\n\thasWideBlockSupport = true,\n\thasWideEnabled = true\n) {\n\tlet validAlignments;\n\tif ( Array.isArray( blockAlign ) ) {\n\t\tvalidAlignments = ALL_ALIGNMENTS.filter( ( value ) =>\n\t\t\tblockAlign.includes( value )\n\t\t);\n\t} else if ( blockAlign === true ) {\n\t\t// `true` includes all alignments...\n\t\tvalidAlignments = [ ...ALL_ALIGNMENTS ];\n\t} else {\n\t\tvalidAlignments = [];\n\t}\n\n\tif (\n\t\t! hasWideEnabled ||\n\t\t( blockAlign === true && ! hasWideBlockSupport )\n\t) {\n\t\treturn validAlignments.filter(\n\t\t\t( alignment ) => ! WIDE_ALIGNMENTS.includes( alignment )\n\t\t);\n\t}\n\n\treturn validAlignments;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `align`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.align ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'align' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\t// Allow for '' since it is used by updateAlignment function\n\t\t\t\t// in withToolbarControls for special cases with defined default values.\n\t\t\t\tenum: [ ...ALL_ALIGNMENTS, '' ],\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include new toolbar controls for block\n * alignment, if block defines support.\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withToolbarControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\tconst { name: blockName } = props;\n\t\t// Compute the block valid alignments by taking into account,\n\t\t// if the theme supports wide alignments or not and the layout's\n\t\t// availble alignments. We do that for conditionally rendering\n\t\t// Slot.\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( blockName, 'align' ),\n\t\t\thasBlockSupport( blockName, 'alignWide', true )\n\t\t);\n\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t).map( ( { name } ) => name );\n\t\tconst blockEditingMode = useBlockEditingMode();\n\t\tif ( ! validAlignments.length || blockEditingMode !== 'default' ) {\n\t\t\treturn blockEdit;\n\t\t}\n\n\t\tconst updateAlignment = ( nextAlign ) => {\n\t\t\tif ( ! nextAlign ) {\n\t\t\t\tconst blockType = getBlockType( props.name );\n\t\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\t\tnextAlign = '';\n\t\t\t\t}\n\t\t\t}\n\t\t\tprops.setAttributes( { align: nextAlign } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ props.attributes.align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\tcontrols={ validAlignments }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ blockEdit }\n\t\t\t</>\n\t\t);\n\t},\n\t'withToolbarControls'\n);\n\n/**\n * Override the default block element to add alignment wrapper props.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withDataAlign = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst { align } = attributes;\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( name, 'align' ),\n\t\t\thasBlockSupport( name, 'alignWide', true )\n\t\t);\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t);\n\n\t\t// If an alignment is not assigned, there's no need to go through the\n\t\t// effort to validate or assign its value.\n\t\tif ( align === undefined ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tlet wrapperProps = props.wrapperProps;\n\t\tif (\n\t\t\tvalidAlignments.some( ( alignment ) => alignment.name === align )\n\t\t) {\n\t\t\twrapperProps = { ...wrapperProps, 'data-align': align };\n\t\t}\n\n\t\treturn <BlockListBlock { ...props } wrapperProps={ wrapperProps } />;\n\t},\n\t'withDataAlign'\n);\n\n/**\n * Override props assigned to save component to inject alignment class name if\n * block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedAlign( props, blockType, attributes ) {\n\tconst { align } = attributes;\n\tconst blockAlign = getBlockSupport( blockType, 'align' );\n\tconst hasWideBlockSupport = hasBlockSupport( blockType, 'alignWide', true );\n\n\t// Compute valid alignments without taking into account if\n\t// the theme supports wide alignments or not.\n\t// This way changing themes does not impact the block save.\n\tconst isAlignValid = getValidAlignments(\n\t\tblockAlign,\n\t\thasWideBlockSupport\n\t).includes( align );\n\tif ( isAlignValid ) {\n\t\tprops.className = classnames( `align${ align }`, props.className );\n\t}\n\n\treturn props;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/align/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/align/with-data-align',\n\twithDataAlign\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/align/with-toolbar-controls',\n\twithToolbarControls\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/align/addAssignedAlign',\n\taddAssignedAlign\n);\n"]}
@@ -14,6 +14,7 @@ import { Platform } from '@wordpress/element';
14
14
  */
15
15
 
16
16
  import { InspectorControls } from '../components';
17
+ import { useBlockEditingMode } from '../components/block-editing-mode';
17
18
  /**
18
19
  * Regular expression matching invalid anchor characters for replacement.
19
20
  *
@@ -37,10 +38,10 @@ const ANCHOR_SCHEMA = {
37
38
  */
38
39
 
39
40
  export function addAttribute(settings) {
40
- var _settings$attributes$, _settings$attributes;
41
+ var _settings$attributes$;
41
42
 
42
43
  // Allow blocks to specify their own attribute definition with default values if needed.
43
- if ('type' in ((_settings$attributes$ = (_settings$attributes = settings.attributes) === null || _settings$attributes === void 0 ? void 0 : _settings$attributes.anchor) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
44
+ if ('type' in ((_settings$attributes$ = settings.attributes?.anchor) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
44
45
  return settings;
45
46
  }
46
47
 
@@ -65,6 +66,7 @@ export function addAttribute(settings) {
65
66
  export const withInspectorControl = createHigherOrderComponent(BlockEdit => {
66
67
  return props => {
67
68
  const hasAnchor = hasBlockSupport(props.name, 'anchor');
69
+ const blockEditingMode = useBlockEditingMode();
68
70
 
69
71
  if (hasAnchor && props.isSelected) {
70
72
  const isWeb = Platform.OS === 'web';
@@ -86,7 +88,7 @@ export const withInspectorControl = createHigherOrderComponent(BlockEdit => {
86
88
  autoCapitalize: "none",
87
89
  autoComplete: "off"
88
90
  });
89
- return createElement(Fragment, null, createElement(BlockEdit, props), isWeb && createElement(InspectorControls, {
91
+ return createElement(Fragment, null, createElement(BlockEdit, props), isWeb && blockEditingMode === 'default' && createElement(InspectorControls, {
90
92
  group: "advanced"
91
93
  }, textControl), !isWeb && props.name === 'core/heading' && createElement(InspectorControls, null, createElement(PanelBody, {
92
94
  title: __('Heading settings')