@wordpress/block-editor 7.0.4 → 8.0.3

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 (1259) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +31 -0
  3. package/build/components/alignment-control/ui.js +12 -11
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/autocomplete/index.js +5 -4
  6. package/build/components/autocomplete/index.js.map +1 -1
  7. package/build/components/block-actions/index.js +12 -8
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-alignment-control/ui.js +21 -17
  10. package/build/components/block-alignment-control/ui.js.map +1 -1
  11. package/build/components/block-alignment-control/use-available-alignments.js +9 -4
  12. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  13. package/build/components/block-alignment-matrix-control/index.js +6 -4
  14. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  15. package/build/components/block-breadcrumb/index.js +4 -3
  16. package/build/components/block-breadcrumb/index.js.map +1 -1
  17. package/build/components/block-caption/index.native.js +34 -29
  18. package/build/components/block-caption/index.native.js.map +1 -1
  19. package/build/components/block-card/index.js +8 -6
  20. package/build/components/block-card/index.js.map +1 -1
  21. package/build/components/block-compare/block-view.js +9 -8
  22. package/build/components/block-compare/block-view.js.map +1 -1
  23. package/build/components/block-compare/index.js +9 -7
  24. package/build/components/block-compare/index.js.map +1 -1
  25. package/build/components/block-content-overlay/index.js +7 -6
  26. package/build/components/block-content-overlay/index.js.map +1 -1
  27. package/build/components/block-context/index.js +5 -4
  28. package/build/components/block-context/index.js.map +1 -1
  29. package/build/components/block-controls/fill.js +7 -6
  30. package/build/components/block-controls/fill.js.map +1 -1
  31. package/build/components/block-controls/slot.js +5 -4
  32. package/build/components/block-controls/slot.js.map +1 -1
  33. package/build/components/block-controls/slot.native.js +5 -4
  34. package/build/components/block-controls/slot.native.js.map +1 -1
  35. package/build/components/block-draggable/draggable-chip.js +5 -4
  36. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  37. package/build/components/block-draggable/index.js +13 -11
  38. package/build/components/block-draggable/index.js.map +1 -1
  39. package/build/components/block-edit/context.js +1 -1
  40. package/build/components/block-full-height-alignment-control/index.js +7 -6
  41. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  42. package/build/components/block-icon/index.js +12 -6
  43. package/build/components/block-icon/index.js.map +1 -1
  44. package/build/components/block-icon/index.native.js +8 -6
  45. package/build/components/block-icon/index.native.js.map +1 -1
  46. package/build/components/block-inspector/index.js +24 -15
  47. package/build/components/block-inspector/index.js.map +1 -1
  48. package/build/components/block-list/block-html.js +4 -3
  49. package/build/components/block-list/block-html.js.map +1 -1
  50. package/build/components/block-list/block-invalid-warning.js +28 -20
  51. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  52. package/build/components/block-list/block-invalid-warning.native.js +5 -4
  53. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  54. package/build/components/block-list/block-list-item.native.js +6 -5
  55. package/build/components/block-list/block-list-item.native.js.map +1 -1
  56. package/build/components/block-list/block-selection-button.native.js +11 -9
  57. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  58. package/build/components/block-list/block.js +40 -33
  59. package/build/components/block-list/block.js.map +1 -1
  60. package/build/components/block-list/block.native.js +35 -29
  61. package/build/components/block-list/block.native.js.map +1 -1
  62. package/build/components/block-list/index.js +14 -12
  63. package/build/components/block-list/index.js.map +1 -1
  64. package/build/components/block-list/index.native.js +23 -18
  65. package/build/components/block-list/index.native.js.map +1 -1
  66. package/build/components/block-list/insertion-point.native.js +4 -3
  67. package/build/components/block-list/insertion-point.native.js.map +1 -1
  68. package/build/components/block-list/layout.js +8 -6
  69. package/build/components/block-list/layout.js.map +1 -1
  70. package/build/components/block-list/subdirectory-icon.js +13 -10
  71. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  72. package/build/components/block-list/use-block-props/index.js +5 -3
  73. package/build/components/block-list/use-block-props/index.js.map +1 -1
  74. package/build/components/block-list/use-block-props/index.native.js +2 -1
  75. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  76. package/build/components/block-list/use-block-props/use-block-refs.js +2 -2
  77. package/build/components/block-list/use-block-props/use-multi-selection.js +30 -14
  78. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  79. package/build/components/block-list-appender/index.js +16 -13
  80. package/build/components/block-list-appender/index.js.map +1 -1
  81. package/build/components/block-list-appender/index.native.js +14 -11
  82. package/build/components/block-list-appender/index.native.js.map +1 -1
  83. package/build/components/block-media-update-progress/index.native.js +1 -1
  84. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  85. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  86. package/build/components/block-mobile-toolbar/index.js +4 -3
  87. package/build/components/block-mobile-toolbar/index.js.map +1 -1
  88. package/build/components/block-mobile-toolbar/index.native.js +33 -25
  89. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  90. package/build/components/block-mover/button.js +8 -7
  91. package/build/components/block-mover/button.js.map +1 -1
  92. package/build/components/block-mover/index.js +15 -13
  93. package/build/components/block-mover/index.js.map +1 -1
  94. package/build/components/block-mover/index.native.js +23 -20
  95. package/build/components/block-mover/index.native.js.map +1 -1
  96. package/build/components/block-mover/mover-description.native.js +10 -7
  97. package/build/components/block-mover/mover-description.native.js.map +1 -1
  98. package/build/components/block-navigation/dropdown.js +26 -22
  99. package/build/components/block-navigation/dropdown.js.map +1 -1
  100. package/build/components/block-pattern-setup/index.js +26 -22
  101. package/build/components/block-pattern-setup/index.js.map +1 -1
  102. package/build/components/block-pattern-setup/setup-toolbar.js +46 -39
  103. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  104. package/build/components/block-patterns-list/index.js +45 -47
  105. package/build/components/block-patterns-list/index.js.map +1 -1
  106. package/build/components/block-preview/auto.js +5 -4
  107. package/build/components/block-preview/auto.js.map +1 -1
  108. package/build/components/block-preview/index.js +8 -7
  109. package/build/components/block-preview/index.js.map +1 -1
  110. package/build/components/block-preview/live.js +4 -3
  111. package/build/components/block-preview/live.js.map +1 -1
  112. package/build/components/block-selection-clearer/index.js +1 -1
  113. package/build/components/block-settings/button.native.js +10 -7
  114. package/build/components/block-settings/button.native.js.map +1 -1
  115. package/build/components/block-settings/container.native.js +12 -8
  116. package/build/components/block-settings/container.native.js.map +1 -1
  117. package/build/components/block-settings/index.native.js +4 -2
  118. package/build/components/block-settings/index.native.js.map +1 -1
  119. package/build/components/block-settings-menu/block-convert-button.js +7 -5
  120. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  121. package/build/components/block-settings-menu/block-html-convert-button.js +14 -10
  122. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  123. package/build/components/block-settings-menu/block-mode-toggle.js +25 -19
  124. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  125. package/build/components/block-settings-menu/block-settings-dropdown.js +96 -68
  126. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  127. package/build/components/block-settings-menu/index.js +5 -4
  128. package/build/components/block-settings-menu/index.js.map +1 -1
  129. package/build/components/block-settings-menu-controls/index.js +8 -6
  130. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  131. package/build/components/block-styles/index.js +20 -17
  132. package/build/components/block-styles/index.js.map +1 -1
  133. package/build/components/block-styles/index.native.js +6 -4
  134. package/build/components/block-styles/index.native.js.map +1 -1
  135. package/build/components/block-styles/preview.native.js +9 -8
  136. package/build/components/block-styles/preview.native.js.map +1 -1
  137. package/build/components/block-switcher/block-styles-menu.js +5 -4
  138. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  139. package/build/components/block-switcher/block-transformations-menu.js +7 -6
  140. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  141. package/build/components/block-switcher/block-transformations-menu.native.js +9 -8
  142. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  143. package/build/components/block-switcher/index.js +42 -34
  144. package/build/components/block-switcher/index.js.map +1 -1
  145. package/build/components/block-switcher/pattern-transformations-menu.js +22 -18
  146. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  147. package/build/components/block-switcher/preview-block-popover.js +4 -3
  148. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  149. package/build/components/block-switcher/use-transformed-patterns.js +1 -1
  150. package/build/components/block-switcher/utils.js +2 -1
  151. package/build/components/block-switcher/utils.js.map +1 -1
  152. package/build/components/block-title/index.js +4 -3
  153. package/build/components/block-title/index.js.map +1 -1
  154. package/build/components/block-toolbar/index.js +4 -3
  155. package/build/components/block-toolbar/index.js.map +1 -1
  156. package/build/components/block-toolbar/utils.js +13 -11
  157. package/build/components/block-toolbar/utils.js.map +1 -1
  158. package/build/components/block-tools/back-compat.js +8 -5
  159. package/build/components/block-tools/back-compat.js.map +1 -1
  160. package/build/components/block-tools/block-contextual-toolbar.js +6 -5
  161. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  162. package/build/components/block-tools/block-popover.js +15 -13
  163. package/build/components/block-tools/block-popover.js.map +1 -1
  164. package/build/components/block-tools/block-selection-button.js +6 -5
  165. package/build/components/block-tools/block-selection-button.js.map +1 -1
  166. package/build/components/block-tools/index.js +6 -5
  167. package/build/components/block-tools/index.js.map +1 -1
  168. package/build/components/block-tools/insertion-point.js +12 -10
  169. package/build/components/block-tools/insertion-point.js.map +1 -1
  170. package/build/components/block-types-list/index.js +9 -8
  171. package/build/components/block-types-list/index.js.map +1 -1
  172. package/build/components/block-types-list/index.native.js +19 -15
  173. package/build/components/block-types-list/index.native.js.map +1 -1
  174. package/build/components/block-variation-picker/index.js +9 -8
  175. package/build/components/block-variation-picker/index.js.map +1 -1
  176. package/build/components/block-variation-picker/index.native.js +9 -7
  177. package/build/components/block-variation-picker/index.native.js.map +1 -1
  178. package/build/components/block-variation-transforms/index.js +22 -15
  179. package/build/components/block-variation-transforms/index.js.map +1 -1
  180. package/build/components/block-vertical-alignment-control/ui.js +9 -7
  181. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  182. package/build/components/border-radius-control/all-input-control.js +6 -5
  183. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  184. package/build/components/border-radius-control/index.js +5 -4
  185. package/build/components/border-radius-control/index.js.map +1 -1
  186. package/build/components/border-radius-control/input-controls.js +16 -11
  187. package/build/components/border-radius-control/input-controls.js.map +1 -1
  188. package/build/components/border-radius-control/linked-button.js +5 -4
  189. package/build/components/border-radius-control/linked-button.js.map +1 -1
  190. package/build/components/border-radius-control/utils.js +10 -5
  191. package/build/components/border-radius-control/utils.js.map +1 -1
  192. package/build/components/border-style-control/index.js +5 -4
  193. package/build/components/border-style-control/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.js +15 -13
  195. package/build/components/button-block-appender/index.js.map +1 -1
  196. package/build/components/button-block-appender/index.native.js +28 -24
  197. package/build/components/button-block-appender/index.native.js.map +1 -1
  198. package/build/components/caption/index.native.js +44 -41
  199. package/build/components/caption/index.native.js.map +1 -1
  200. package/build/components/color-palette/control.js +6 -5
  201. package/build/components/color-palette/control.js.map +1 -1
  202. package/build/components/color-style-selector/index.js +43 -34
  203. package/build/components/color-style-selector/index.js.map +1 -1
  204. package/build/components/colors/color-panel.js +21 -18
  205. package/build/components/colors/color-panel.js.map +1 -1
  206. package/build/components/colors/index.js +10 -8
  207. package/build/components/colors/index.js.map +1 -1
  208. package/build/components/colors/utils.js +7 -4
  209. package/build/components/colors/utils.js.map +1 -1
  210. package/build/components/colors/with-colors.js +17 -6
  211. package/build/components/colors/with-colors.js.map +1 -1
  212. package/build/components/colors-gradients/control.js +21 -59
  213. package/build/components/colors-gradients/control.js.map +1 -1
  214. package/build/components/colors-gradients/panel-color-gradient-settings.js +110 -30
  215. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  216. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  217. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  218. package/build/components/contrast-checker/index.js +18 -15
  219. package/build/components/contrast-checker/index.js.map +1 -1
  220. package/build/components/convert-to-group-buttons/index.js +9 -8
  221. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  222. package/build/components/copy-handler/index.js +6 -5
  223. package/build/components/copy-handler/index.js.map +1 -1
  224. package/build/components/default-block-appender/index.js +10 -8
  225. package/build/components/default-block-appender/index.js.map +1 -1
  226. package/build/components/default-block-appender/index.native.js +10 -8
  227. package/build/components/default-block-appender/index.native.js.map +1 -1
  228. package/build/components/default-style-picker/index.js +14 -10
  229. package/build/components/default-style-picker/index.js.map +1 -1
  230. package/build/components/duotone-control/index.js +20 -14
  231. package/build/components/duotone-control/index.js.map +1 -1
  232. package/build/components/editable-text/index.js +6 -5
  233. package/build/components/editable-text/index.js.map +1 -1
  234. package/build/components/editor-styles/index.js +4 -3
  235. package/build/components/editor-styles/index.js.map +1 -1
  236. package/build/components/floating-toolbar/index.native.js +8 -7
  237. package/build/components/floating-toolbar/index.native.js.map +1 -1
  238. package/build/components/font-appearance-control/index.js +53 -34
  239. package/build/components/font-appearance-control/index.js.map +1 -1
  240. package/build/components/font-family/index.js +12 -10
  241. package/build/components/font-family/index.js.map +1 -1
  242. package/build/components/font-sizes/index.js +6 -6
  243. package/build/components/font-sizes/index.native.js +6 -6
  244. package/build/components/font-sizes/utils.js +2 -2
  245. package/build/components/font-sizes/with-font-sizes.js +11 -5
  246. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  247. package/build/components/gradients/use-gradient.js +7 -6
  248. package/build/components/gradients/use-gradient.js.map +1 -1
  249. package/build/components/iframe/index.js +29 -23
  250. package/build/components/iframe/index.js.map +1 -1
  251. package/build/components/image-editor/aspect-ratio-dropdown.js +90 -82
  252. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  253. package/build/components/image-editor/constants.js +1 -1
  254. package/build/components/image-editor/context.js +11 -10
  255. package/build/components/image-editor/context.js.map +1 -1
  256. package/build/components/image-editor/cropper.js +9 -8
  257. package/build/components/image-editor/cropper.js.map +1 -1
  258. package/build/components/image-editor/index.js +10 -9
  259. package/build/components/image-editor/index.js.map +1 -1
  260. package/build/components/image-editor/use-save-image.js +12 -11
  261. package/build/components/image-editor/use-save-image.js.map +1 -1
  262. package/build/components/image-editor/use-transform-image.js +6 -5
  263. package/build/components/image-editor/use-transform-image.js.map +1 -1
  264. package/build/components/image-editor/zoom-dropdown.js +13 -10
  265. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  266. package/build/components/image-size-control/index.js +12 -11
  267. package/build/components/image-size-control/index.js.map +1 -1
  268. package/build/components/index.js +217 -197
  269. package/build/components/index.js.map +1 -1
  270. package/build/components/index.native.js +113 -111
  271. package/build/components/index.native.js.map +1 -1
  272. package/build/components/inner-blocks/button-block-appender.js +8 -7
  273. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  274. package/build/components/inner-blocks/default-block-appender.js +9 -7
  275. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  276. package/build/components/inner-blocks/index.js +9 -6
  277. package/build/components/inner-blocks/index.js.map +1 -1
  278. package/build/components/inner-blocks/index.native.js +8 -5
  279. package/build/components/inner-blocks/index.native.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/explorer.js +64 -0
  281. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  282. package/build/components/inserter/block-patterns-explorer/patterns-list.js +114 -0
  283. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  284. package/build/components/inserter/block-patterns-explorer/sidebar.js +82 -0
  285. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  286. package/build/components/inserter/block-patterns-tab.js +92 -57
  287. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  288. package/build/components/inserter/block-types-tab.js +9 -7
  289. package/build/components/inserter/block-types-tab.js.map +1 -1
  290. package/build/components/inserter/block-types-tab.native.js +9 -8
  291. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  292. package/build/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
  293. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  294. package/build/components/inserter/hooks/use-block-types-state.js +6 -5
  295. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  296. package/build/components/inserter/hooks/use-insertion-point.js +11 -9
  297. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  298. package/build/components/inserter/index.js +36 -28
  299. package/build/components/inserter/index.js.map +1 -1
  300. package/build/components/inserter/index.native.js +46 -37
  301. package/build/components/inserter/index.native.js.map +1 -1
  302. package/build/components/inserter/library.js +12 -11
  303. package/build/components/inserter/library.js.map +1 -1
  304. package/build/components/inserter/menu.js +12 -11
  305. package/build/components/inserter/menu.js.map +1 -1
  306. package/build/components/inserter/menu.native.js +31 -27
  307. package/build/components/inserter/menu.native.js.map +1 -1
  308. package/build/components/inserter/panel.js +6 -5
  309. package/build/components/inserter/panel.js.map +1 -1
  310. package/build/components/inserter/pattern-panel.js +25 -15
  311. package/build/components/inserter/pattern-panel.js.map +1 -1
  312. package/build/components/inserter/preview-panel.js +4 -3
  313. package/build/components/inserter/preview-panel.js.map +1 -1
  314. package/build/components/inserter/quick-inserter.js +7 -6
  315. package/build/components/inserter/quick-inserter.js.map +1 -1
  316. package/build/components/inserter/reusable-blocks-tab.js +18 -13
  317. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  318. package/build/components/inserter/reusable-blocks-tab.native.js +6 -5
  319. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  320. package/build/components/inserter/search-items.js +23 -7
  321. package/build/components/inserter/search-items.js.map +1 -1
  322. package/build/components/inserter/search-results.js +15 -14
  323. package/build/components/inserter/search-results.js.map +1 -1
  324. package/build/components/inserter/search-results.native.js +11 -10
  325. package/build/components/inserter/search-results.native.js.map +1 -1
  326. package/build/components/inserter/tabs.js +7 -6
  327. package/build/components/inserter/tabs.js.map +1 -1
  328. package/build/components/inserter/tabs.native.js +55 -37
  329. package/build/components/inserter/tabs.native.js.map +1 -1
  330. package/build/components/inserter/utils.native.js +10 -8
  331. package/build/components/inserter/utils.native.js.map +1 -1
  332. package/build/components/inserter-draggable-blocks/index.js +12 -10
  333. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  334. package/build/components/inserter-list-item/index.js +79 -73
  335. package/build/components/inserter-list-item/index.js.map +1 -1
  336. package/build/components/inserter-listbox/index.js +8 -7
  337. package/build/components/inserter-listbox/index.js.map +1 -1
  338. package/build/components/inserter-listbox/item.js +7 -6
  339. package/build/components/inserter-listbox/item.js.map +1 -1
  340. package/build/components/inspector-controls/block-support-slot-container.js +5 -4
  341. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  342. package/build/components/inspector-controls/block-support-tools-panel.js +8 -6
  343. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  344. package/build/components/inspector-controls/fill.js +5 -4
  345. package/build/components/inspector-controls/fill.js.map +1 -1
  346. package/build/components/inspector-controls/fill.native.js +6 -5
  347. package/build/components/inspector-controls/fill.native.js.map +1 -1
  348. package/build/components/inspector-controls/groups.js +3 -1
  349. package/build/components/inspector-controls/groups.js.map +1 -1
  350. package/build/components/inspector-controls/slot.js +7 -6
  351. package/build/components/inspector-controls/slot.js.map +1 -1
  352. package/build/components/inspector-controls/slot.native.js +5 -4
  353. package/build/components/inspector-controls/slot.native.js.map +1 -1
  354. package/build/components/justify-content-control/ui.js +10 -8
  355. package/build/components/justify-content-control/ui.js.map +1 -1
  356. package/build/components/letter-spacing-control/index.js +13 -9
  357. package/build/components/letter-spacing-control/index.js.map +1 -1
  358. package/build/components/line-height-control/index.js +5 -4
  359. package/build/components/line-height-control/index.js.map +1 -1
  360. package/build/components/line-height-control/index.native.js +5 -4
  361. package/build/components/line-height-control/index.native.js.map +1 -1
  362. package/build/components/line-height-control/utils.js +1 -1
  363. package/build/components/link-control/index.js +107 -52
  364. package/build/components/link-control/index.js.map +1 -1
  365. package/build/components/link-control/link-preview.js +24 -10
  366. package/build/components/link-control/link-preview.js.map +1 -1
  367. package/build/components/link-control/search-create-button.js +9 -7
  368. package/build/components/link-control/search-create-button.js.map +1 -1
  369. package/build/components/link-control/search-input.js +31 -21
  370. package/build/components/link-control/search-input.js.map +1 -1
  371. package/build/components/link-control/search-item.js +10 -9
  372. package/build/components/link-control/search-item.js.map +1 -1
  373. package/build/components/link-control/search-results.js +15 -14
  374. package/build/components/link-control/search-results.js.map +1 -1
  375. package/build/components/link-control/settings-drawer.js +7 -5
  376. package/build/components/link-control/settings-drawer.js.map +1 -1
  377. package/build/components/link-control/use-search-handler.js +5 -4
  378. package/build/components/link-control/use-search-handler.js.map +1 -1
  379. package/build/components/link-control/viewer-slot.js +1 -1
  380. package/build/components/list-view/appender.js +27 -23
  381. package/build/components/list-view/appender.js.map +1 -1
  382. package/build/components/list-view/block-contents.js +32 -28
  383. package/build/components/list-view/block-contents.js.map +1 -1
  384. package/build/components/list-view/block-select-button.js +18 -17
  385. package/build/components/list-view/block-select-button.js.map +1 -1
  386. package/build/components/list-view/block.js +122 -83
  387. package/build/components/list-view/block.js.map +1 -1
  388. package/build/components/list-view/branch.js +92 -73
  389. package/build/components/list-view/branch.js.map +1 -1
  390. package/build/components/list-view/drop-indicator.js +5 -4
  391. package/build/components/list-view/drop-indicator.js.map +1 -1
  392. package/build/components/list-view/expander.js +4 -3
  393. package/build/components/list-view/expander.js.map +1 -1
  394. package/build/components/list-view/index.js +47 -23
  395. package/build/components/list-view/index.js.map +1 -1
  396. package/build/components/list-view/leaf.js +12 -11
  397. package/build/components/list-view/leaf.js.map +1 -1
  398. package/build/components/list-view/list-item.js +8 -7
  399. package/build/components/list-view/list-item.js.map +1 -1
  400. package/build/components/list-view/use-list-view-client-ids.js +8 -58
  401. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  402. package/build/components/media-placeholder/index.js +86 -68
  403. package/build/components/media-placeholder/index.js.map +1 -1
  404. package/build/components/media-placeholder/index.native.js +5 -4
  405. package/build/components/media-placeholder/index.native.js.map +1 -1
  406. package/build/components/media-replace-flow/index.js +85 -72
  407. package/build/components/media-replace-flow/index.js.map +1 -1
  408. package/build/components/media-upload/check.js +5 -4
  409. package/build/components/media-upload/check.js.map +1 -1
  410. package/build/components/media-upload/index.native.js +1 -1
  411. package/build/components/media-upload-progress/index.native.js +1 -1
  412. package/build/components/multi-selection-inspector/index.js +4 -3
  413. package/build/components/multi-selection-inspector/index.js.map +1 -1
  414. package/build/components/navigable-toolbar/index.js +8 -7
  415. package/build/components/navigable-toolbar/index.js.map +1 -1
  416. package/build/components/observe-typing/index.js +5 -4
  417. package/build/components/observe-typing/index.js.map +1 -1
  418. package/build/components/panel-color-settings/index.js +16 -12
  419. package/build/components/panel-color-settings/index.js.map +1 -1
  420. package/build/components/plain-text/index.js +6 -4
  421. package/build/components/plain-text/index.js.map +1 -1
  422. package/build/components/preview-options/index.js +8 -7
  423. package/build/components/preview-options/index.js.map +1 -1
  424. package/build/components/provider/block-refs-provider.js +5 -4
  425. package/build/components/provider/block-refs-provider.js.map +1 -1
  426. package/build/components/provider/use-block-sync.js +8 -7
  427. package/build/components/provider/use-block-sync.js.map +1 -1
  428. package/build/components/provider/with-registry-provider.js +7 -5
  429. package/build/components/provider/with-registry-provider.js.map +1 -1
  430. package/build/components/responsive-block-control/label.js +6 -5
  431. package/build/components/responsive-block-control/label.js.map +1 -1
  432. package/build/components/rich-text/embed-handler-picker.native.js +8 -5
  433. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  434. package/build/components/rich-text/file-paste-handler.js +6 -3
  435. package/build/components/rich-text/file-paste-handler.js.map +1 -1
  436. package/build/components/rich-text/format-edit.js +36 -9
  437. package/build/components/rich-text/format-edit.js.map +1 -1
  438. package/build/components/rich-text/format-toolbar/index.js +20 -10
  439. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  440. package/build/components/rich-text/format-toolbar-container.js +6 -4
  441. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  442. package/build/components/rich-text/index.js +45 -41
  443. package/build/components/rich-text/index.js.map +1 -1
  444. package/build/components/rich-text/index.native.js +145 -122
  445. package/build/components/rich-text/index.native.js.map +1 -1
  446. package/build/components/rich-text/input-event.js +5 -4
  447. package/build/components/rich-text/input-event.js.map +1 -1
  448. package/build/components/rich-text/shortcut.js +6 -5
  449. package/build/components/rich-text/shortcut.js.map +1 -1
  450. package/build/components/rich-text/split-value.js +10 -8
  451. package/build/components/rich-text/split-value.js.map +1 -1
  452. package/build/components/rich-text/toolbar-button.js +7 -6
  453. package/build/components/rich-text/toolbar-button.js.map +1 -1
  454. package/build/components/rich-text/use-caret-in-format.js +4 -3
  455. package/build/components/rich-text/use-caret-in-format.js.map +1 -1
  456. package/build/components/rich-text/use-enter.js +6 -3
  457. package/build/components/rich-text/use-enter.js.map +1 -1
  458. package/build/components/rich-text/use-format-types.js +13 -10
  459. package/build/components/rich-text/use-format-types.js.map +1 -1
  460. package/build/components/rich-text/use-input-rules.js +15 -9
  461. package/build/components/rich-text/use-input-rules.js.map +1 -1
  462. package/build/components/rich-text/use-mark-persistent.js +5 -4
  463. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  464. package/build/components/rich-text/use-paste-handler.js +28 -4
  465. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  466. package/build/components/rich-text/utils.js +9 -7
  467. package/build/components/rich-text/utils.js.map +1 -1
  468. package/build/components/skip-to-selected-block/index.js +4 -3
  469. package/build/components/skip-to-selected-block/index.js.map +1 -1
  470. package/build/components/text-decoration-control/index.js +5 -4
  471. package/build/components/text-decoration-control/index.js.map +1 -1
  472. package/build/components/text-transform-control/index.js +5 -4
  473. package/build/components/text-transform-control/index.js.map +1 -1
  474. package/build/components/tool-selector/index.js +16 -13
  475. package/build/components/tool-selector/index.js.map +1 -1
  476. package/build/components/typewriter/index.js +10 -7
  477. package/build/components/typewriter/index.js.map +1 -1
  478. package/build/components/ungroup-button/index.native.js +12 -9
  479. package/build/components/ungroup-button/index.native.js.map +1 -1
  480. package/build/components/unit-control/index.js +5 -4
  481. package/build/components/unit-control/index.js.map +1 -1
  482. package/build/components/url-input/index.js +23 -13
  483. package/build/components/url-input/index.js.map +1 -1
  484. package/build/components/url-input/index.native.js +8 -6
  485. package/build/components/url-input/index.native.js.map +1 -1
  486. package/build/components/url-popover/image-url-input-ui.js +12 -11
  487. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  488. package/build/components/url-popover/index.js +9 -8
  489. package/build/components/url-popover/index.js.map +1 -1
  490. package/build/components/url-popover/link-editor.js +8 -7
  491. package/build/components/url-popover/link-editor.js.map +1 -1
  492. package/build/components/url-popover/link-viewer-url.js +6 -5
  493. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  494. package/build/components/url-popover/link-viewer.js +9 -8
  495. package/build/components/url-popover/link-viewer.js.map +1 -1
  496. package/build/components/use-block-drop-zone/index.js +9 -8
  497. package/build/components/use-block-drop-zone/index.js.map +1 -1
  498. package/build/components/use-moving-animation/index.js +17 -13
  499. package/build/components/use-moving-animation/index.js.map +1 -1
  500. package/build/components/use-no-recursive-renders/index.js +10 -6
  501. package/build/components/use-no-recursive-renders/index.js.map +1 -1
  502. package/build/components/use-on-block-drop/index.js +2 -2
  503. package/build/components/use-setting/index.js +48 -9
  504. package/build/components/use-setting/index.js.map +1 -1
  505. package/build/components/warning/index.js +7 -6
  506. package/build/components/warning/index.js.map +1 -1
  507. package/build/components/warning/index.native.js +10 -9
  508. package/build/components/warning/index.native.js.map +1 -1
  509. package/build/components/writing-flow/index.js +6 -5
  510. package/build/components/writing-flow/index.js.map +1 -1
  511. package/build/components/writing-flow/use-arrow-nav.js +2 -2
  512. package/build/hooks/align.js +12 -7
  513. package/build/hooks/align.js.map +1 -1
  514. package/build/hooks/border.js +9 -7
  515. package/build/hooks/border.js.map +1 -1
  516. package/build/hooks/color-panel.js +9 -7
  517. package/build/hooks/color-panel.js.map +1 -1
  518. package/build/hooks/color.js +4 -3
  519. package/build/hooks/color.js.map +1 -1
  520. package/build/hooks/dimensions.js +4 -2
  521. package/build/hooks/dimensions.js.map +1 -1
  522. package/build/hooks/duotone.js +29 -15
  523. package/build/hooks/duotone.js.map +1 -1
  524. package/build/hooks/font-appearance.js +60 -14
  525. package/build/hooks/font-appearance.js.map +1 -1
  526. package/build/hooks/font-family.js +62 -32
  527. package/build/hooks/font-family.js.map +1 -1
  528. package/build/hooks/font-size.js +57 -13
  529. package/build/hooks/font-size.js.map +1 -1
  530. package/build/hooks/gap.js +10 -8
  531. package/build/hooks/gap.js.map +1 -1
  532. package/build/hooks/index.js +16 -8
  533. package/build/hooks/index.js.map +1 -1
  534. package/build/hooks/index.native.js +16 -8
  535. package/build/hooks/index.native.js.map +1 -1
  536. package/build/hooks/layout.js +16 -13
  537. package/build/hooks/layout.js.map +1 -1
  538. package/build/hooks/letter-spacing.js +50 -11
  539. package/build/hooks/letter-spacing.js.map +1 -1
  540. package/build/hooks/line-height.js +51 -12
  541. package/build/hooks/line-height.js.map +1 -1
  542. package/build/hooks/margin.js +11 -9
  543. package/build/hooks/margin.js.map +1 -1
  544. package/build/hooks/padding.js +11 -9
  545. package/build/hooks/padding.js.map +1 -1
  546. package/build/hooks/style.js +9 -5
  547. package/build/hooks/style.js.map +1 -1
  548. package/build/hooks/text-decoration.js +48 -10
  549. package/build/hooks/text-decoration.js.map +1 -1
  550. package/build/hooks/text-transform.js +48 -10
  551. package/build/hooks/text-transform.js.map +1 -1
  552. package/build/hooks/typography.js +111 -10
  553. package/build/hooks/typography.js.map +1 -1
  554. package/build/hooks/typography.native.js +3 -2
  555. package/build/hooks/typography.native.js.map +1 -1
  556. package/build/hooks/use-border-props.js +5 -4
  557. package/build/hooks/use-border-props.js.map +1 -1
  558. package/build/hooks/use-cached-truthy.js +29 -0
  559. package/build/hooks/use-cached-truthy.js.map +1 -0
  560. package/build/index.js +21 -14
  561. package/build/index.js.map +1 -1
  562. package/build/layouts/flex.js +172 -52
  563. package/build/layouts/flex.js.map +1 -1
  564. package/build/layouts/flow.js +10 -8
  565. package/build/layouts/flow.js.map +1 -1
  566. package/build/layouts/index.js +2 -1
  567. package/build/layouts/index.js.map +1 -1
  568. package/build/layouts/utils.js +2 -1
  569. package/build/layouts/utils.js.map +1 -1
  570. package/build/store/actions.js +486 -369
  571. package/build/store/actions.js.map +1 -1
  572. package/build/store/array.js +2 -1
  573. package/build/store/array.js.map +1 -1
  574. package/build/store/index.js +6 -6
  575. package/build/store/index.js.map +1 -1
  576. package/build/store/reducer.js +145 -69
  577. package/build/store/reducer.js.map +1 -1
  578. package/build/store/selectors.js +259 -172
  579. package/build/store/selectors.js.map +1 -1
  580. package/build/utils/block-variation-transforms.js +4 -3
  581. package/build/utils/block-variation-transforms.js.map +1 -1
  582. package/build/utils/dom.js +1 -1
  583. package/build/utils/get-paste-event-data.js +10 -6
  584. package/build/utils/get-paste-event-data.js.map +1 -1
  585. package/build/utils/index.js +4 -4
  586. package/build/utils/math.js +2 -1
  587. package/build/utils/math.js.map +1 -1
  588. package/build/utils/parse-css-unit-to-px.js +6 -3
  589. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  590. package/build/utils/transform-styles/index.js +8 -6
  591. package/build/utils/transform-styles/index.js.map +1 -1
  592. package/build/utils/transform-styles/transforms/wrap.js +31 -28
  593. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  594. package/build-module/components/alignment-control/ui.js +12 -11
  595. package/build-module/components/alignment-control/ui.js.map +1 -1
  596. package/build-module/components/autocomplete/index.js +4 -3
  597. package/build-module/components/autocomplete/index.js.map +1 -1
  598. package/build-module/components/block-actions/index.js +12 -8
  599. package/build-module/components/block-actions/index.js.map +1 -1
  600. package/build-module/components/block-alignment-control/ui.js +21 -17
  601. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  602. package/build-module/components/block-alignment-control/use-available-alignments.js +9 -4
  603. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  604. package/build-module/components/block-alignment-matrix-control/index.js +6 -4
  605. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  606. package/build-module/components/block-breadcrumb/index.js +4 -3
  607. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  608. package/build-module/components/block-caption/index.native.js +34 -29
  609. package/build-module/components/block-caption/index.native.js.map +1 -1
  610. package/build-module/components/block-card/index.js +8 -6
  611. package/build-module/components/block-card/index.js.map +1 -1
  612. package/build-module/components/block-compare/block-view.js +9 -8
  613. package/build-module/components/block-compare/block-view.js.map +1 -1
  614. package/build-module/components/block-compare/index.js +9 -7
  615. package/build-module/components/block-compare/index.js.map +1 -1
  616. package/build-module/components/block-content-overlay/index.js +7 -6
  617. package/build-module/components/block-content-overlay/index.js.map +1 -1
  618. package/build-module/components/block-context/index.js +5 -4
  619. package/build-module/components/block-context/index.js.map +1 -1
  620. package/build-module/components/block-controls/fill.js +7 -6
  621. package/build-module/components/block-controls/fill.js.map +1 -1
  622. package/build-module/components/block-controls/slot.js +5 -4
  623. package/build-module/components/block-controls/slot.js.map +1 -1
  624. package/build-module/components/block-controls/slot.native.js +5 -4
  625. package/build-module/components/block-controls/slot.native.js.map +1 -1
  626. package/build-module/components/block-draggable/draggable-chip.js +5 -4
  627. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  628. package/build-module/components/block-draggable/index.js +13 -11
  629. package/build-module/components/block-draggable/index.js.map +1 -1
  630. package/build-module/components/block-full-height-alignment-control/index.js +7 -6
  631. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  632. package/build-module/components/block-icon/index.js +11 -5
  633. package/build-module/components/block-icon/index.js.map +1 -1
  634. package/build-module/components/block-icon/index.native.js +8 -6
  635. package/build-module/components/block-icon/index.native.js.map +1 -1
  636. package/build-module/components/block-inspector/index.js +20 -13
  637. package/build-module/components/block-inspector/index.js.map +1 -1
  638. package/build-module/components/block-list/block-html.js +4 -3
  639. package/build-module/components/block-list/block-html.js.map +1 -1
  640. package/build-module/components/block-list/block-invalid-warning.js +27 -19
  641. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  642. package/build-module/components/block-list/block-invalid-warning.native.js +5 -4
  643. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  644. package/build-module/components/block-list/block-list-item.native.js +6 -5
  645. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  646. package/build-module/components/block-list/block-selection-button.native.js +11 -9
  647. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  648. package/build-module/components/block-list/block.js +40 -33
  649. package/build-module/components/block-list/block.js.map +1 -1
  650. package/build-module/components/block-list/block.native.js +35 -29
  651. package/build-module/components/block-list/block.native.js.map +1 -1
  652. package/build-module/components/block-list/index.js +13 -11
  653. package/build-module/components/block-list/index.js.map +1 -1
  654. package/build-module/components/block-list/index.native.js +22 -17
  655. package/build-module/components/block-list/index.native.js.map +1 -1
  656. package/build-module/components/block-list/insertion-point.native.js +4 -3
  657. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  658. package/build-module/components/block-list/layout.js +5 -4
  659. package/build-module/components/block-list/layout.js.map +1 -1
  660. package/build-module/components/block-list/subdirectory-icon.js +13 -10
  661. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  662. package/build-module/components/block-list/use-block-props/index.js +5 -3
  663. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  664. package/build-module/components/block-list/use-block-props/index.native.js +2 -1
  665. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  666. package/build-module/components/block-list/use-block-props/use-multi-selection.js +30 -14
  667. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  668. package/build-module/components/block-list-appender/index.js +16 -13
  669. package/build-module/components/block-list-appender/index.js.map +1 -1
  670. package/build-module/components/block-list-appender/index.native.js +14 -11
  671. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  672. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  673. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  674. package/build-module/components/block-mobile-toolbar/index.js +4 -3
  675. package/build-module/components/block-mobile-toolbar/index.js.map +1 -1
  676. package/build-module/components/block-mobile-toolbar/index.native.js +33 -25
  677. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  678. package/build-module/components/block-mover/button.js +7 -6
  679. package/build-module/components/block-mover/button.js.map +1 -1
  680. package/build-module/components/block-mover/index.js +15 -13
  681. package/build-module/components/block-mover/index.js.map +1 -1
  682. package/build-module/components/block-mover/index.native.js +22 -19
  683. package/build-module/components/block-mover/index.native.js.map +1 -1
  684. package/build-module/components/block-mover/mover-description.native.js +10 -7
  685. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  686. package/build-module/components/block-navigation/dropdown.js +26 -22
  687. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  688. package/build-module/components/block-pattern-setup/index.js +26 -22
  689. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  690. package/build-module/components/block-pattern-setup/setup-toolbar.js +46 -39
  691. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  692. package/build-module/components/block-patterns-list/index.js +45 -45
  693. package/build-module/components/block-patterns-list/index.js.map +1 -1
  694. package/build-module/components/block-preview/auto.js +5 -4
  695. package/build-module/components/block-preview/auto.js.map +1 -1
  696. package/build-module/components/block-preview/index.js +8 -7
  697. package/build-module/components/block-preview/index.js.map +1 -1
  698. package/build-module/components/block-preview/live.js +4 -3
  699. package/build-module/components/block-preview/live.js.map +1 -1
  700. package/build-module/components/block-settings/button.native.js +10 -7
  701. package/build-module/components/block-settings/button.native.js.map +1 -1
  702. package/build-module/components/block-settings/container.native.js +13 -9
  703. package/build-module/components/block-settings/container.native.js.map +1 -1
  704. package/build-module/components/block-settings-menu/block-convert-button.js +7 -5
  705. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  706. package/build-module/components/block-settings-menu/block-html-convert-button.js +14 -10
  707. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  708. package/build-module/components/block-settings-menu/block-mode-toggle.js +25 -19
  709. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  710. package/build-module/components/block-settings-menu/block-settings-dropdown.js +98 -70
  711. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  712. package/build-module/components/block-settings-menu/index.js +5 -4
  713. package/build-module/components/block-settings-menu/index.js.map +1 -1
  714. package/build-module/components/block-settings-menu-controls/index.js +8 -6
  715. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  716. package/build-module/components/block-styles/index.js +20 -17
  717. package/build-module/components/block-styles/index.js.map +1 -1
  718. package/build-module/components/block-styles/index.native.js +6 -4
  719. package/build-module/components/block-styles/index.native.js.map +1 -1
  720. package/build-module/components/block-styles/preview.native.js +9 -8
  721. package/build-module/components/block-styles/preview.native.js.map +1 -1
  722. package/build-module/components/block-switcher/block-styles-menu.js +5 -4
  723. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  724. package/build-module/components/block-switcher/block-transformations-menu.js +7 -6
  725. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  726. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -8
  727. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  728. package/build-module/components/block-switcher/index.js +41 -33
  729. package/build-module/components/block-switcher/index.js.map +1 -1
  730. package/build-module/components/block-switcher/pattern-transformations-menu.js +22 -18
  731. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  732. package/build-module/components/block-switcher/preview-block-popover.js +4 -3
  733. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  734. package/build-module/components/block-switcher/utils.js +2 -1
  735. package/build-module/components/block-switcher/utils.js.map +1 -1
  736. package/build-module/components/block-title/index.js +4 -3
  737. package/build-module/components/block-title/index.js.map +1 -1
  738. package/build-module/components/block-toolbar/index.js +4 -3
  739. package/build-module/components/block-toolbar/index.js.map +1 -1
  740. package/build-module/components/block-toolbar/utils.js +13 -11
  741. package/build-module/components/block-toolbar/utils.js.map +1 -1
  742. package/build-module/components/block-tools/back-compat.js +4 -3
  743. package/build-module/components/block-tools/back-compat.js.map +1 -1
  744. package/build-module/components/block-tools/block-contextual-toolbar.js +6 -5
  745. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  746. package/build-module/components/block-tools/block-popover.js +15 -13
  747. package/build-module/components/block-tools/block-popover.js.map +1 -1
  748. package/build-module/components/block-tools/block-selection-button.js +6 -5
  749. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  750. package/build-module/components/block-tools/index.js +6 -5
  751. package/build-module/components/block-tools/index.js.map +1 -1
  752. package/build-module/components/block-tools/insertion-point.js +11 -9
  753. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  754. package/build-module/components/block-types-list/index.js +9 -8
  755. package/build-module/components/block-types-list/index.js.map +1 -1
  756. package/build-module/components/block-types-list/index.native.js +19 -15
  757. package/build-module/components/block-types-list/index.native.js.map +1 -1
  758. package/build-module/components/block-variation-picker/index.js +9 -8
  759. package/build-module/components/block-variation-picker/index.js.map +1 -1
  760. package/build-module/components/block-variation-picker/index.native.js +9 -7
  761. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  762. package/build-module/components/block-variation-transforms/index.js +22 -15
  763. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  764. package/build-module/components/block-vertical-alignment-control/ui.js +9 -7
  765. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  766. package/build-module/components/border-radius-control/all-input-control.js +6 -5
  767. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  768. package/build-module/components/border-radius-control/index.js +5 -4
  769. package/build-module/components/border-radius-control/index.js.map +1 -1
  770. package/build-module/components/border-radius-control/input-controls.js +16 -11
  771. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  772. package/build-module/components/border-radius-control/linked-button.js +5 -4
  773. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  774. package/build-module/components/border-radius-control/utils.js +8 -3
  775. package/build-module/components/border-radius-control/utils.js.map +1 -1
  776. package/build-module/components/border-style-control/index.js +5 -4
  777. package/build-module/components/border-style-control/index.js.map +1 -1
  778. package/build-module/components/button-block-appender/index.js +15 -13
  779. package/build-module/components/button-block-appender/index.js.map +1 -1
  780. package/build-module/components/button-block-appender/index.native.js +28 -24
  781. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  782. package/build-module/components/caption/index.native.js +44 -41
  783. package/build-module/components/caption/index.native.js.map +1 -1
  784. package/build-module/components/color-palette/control.js +6 -5
  785. package/build-module/components/color-palette/control.js.map +1 -1
  786. package/build-module/components/color-style-selector/index.js +43 -34
  787. package/build-module/components/color-style-selector/index.js.map +1 -1
  788. package/build-module/components/colors/color-panel.js +21 -18
  789. package/build-module/components/colors/color-panel.js.map +1 -1
  790. package/build-module/components/colors/utils.js +6 -3
  791. package/build-module/components/colors/utils.js.map +1 -1
  792. package/build-module/components/colors/with-colors.js +17 -6
  793. package/build-module/components/colors/with-colors.js.map +1 -1
  794. package/build-module/components/colors-gradients/control.js +25 -65
  795. package/build-module/components/colors-gradients/control.js.map +1 -1
  796. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +111 -30
  797. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  798. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  799. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  800. package/build-module/components/contrast-checker/index.js +18 -15
  801. package/build-module/components/contrast-checker/index.js.map +1 -1
  802. package/build-module/components/convert-to-group-buttons/index.js +9 -8
  803. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  804. package/build-module/components/copy-handler/index.js +4 -3
  805. package/build-module/components/copy-handler/index.js.map +1 -1
  806. package/build-module/components/default-block-appender/index.js +10 -8
  807. package/build-module/components/default-block-appender/index.js.map +1 -1
  808. package/build-module/components/default-block-appender/index.native.js +10 -8
  809. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  810. package/build-module/components/default-style-picker/index.js +14 -10
  811. package/build-module/components/default-style-picker/index.js.map +1 -1
  812. package/build-module/components/duotone-control/index.js +20 -14
  813. package/build-module/components/duotone-control/index.js.map +1 -1
  814. package/build-module/components/editable-text/index.js +6 -5
  815. package/build-module/components/editable-text/index.js.map +1 -1
  816. package/build-module/components/editor-styles/index.js +4 -3
  817. package/build-module/components/editor-styles/index.js.map +1 -1
  818. package/build-module/components/floating-toolbar/index.native.js +8 -7
  819. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  820. package/build-module/components/font-appearance-control/index.js +49 -34
  821. package/build-module/components/font-appearance-control/index.js.map +1 -1
  822. package/build-module/components/font-family/index.js +12 -10
  823. package/build-module/components/font-family/index.js.map +1 -1
  824. package/build-module/components/font-sizes/with-font-sizes.js +11 -5
  825. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  826. package/build-module/components/gradients/use-gradient.js +5 -4
  827. package/build-module/components/gradients/use-gradient.js.map +1 -1
  828. package/build-module/components/iframe/index.js +29 -23
  829. package/build-module/components/iframe/index.js.map +1 -1
  830. package/build-module/components/image-editor/aspect-ratio-dropdown.js +90 -82
  831. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  832. package/build-module/components/image-editor/context.js +11 -10
  833. package/build-module/components/image-editor/context.js.map +1 -1
  834. package/build-module/components/image-editor/cropper.js +9 -8
  835. package/build-module/components/image-editor/cropper.js.map +1 -1
  836. package/build-module/components/image-editor/index.js +9 -8
  837. package/build-module/components/image-editor/index.js.map +1 -1
  838. package/build-module/components/image-editor/use-save-image.js +12 -11
  839. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  840. package/build-module/components/image-editor/use-transform-image.js +6 -5
  841. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  842. package/build-module/components/image-editor/zoom-dropdown.js +13 -10
  843. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  844. package/build-module/components/image-size-control/index.js +12 -11
  845. package/build-module/components/image-size-control/index.js.map +1 -1
  846. package/build-module/components/index.js +3 -1
  847. package/build-module/components/index.js.map +1 -1
  848. package/build-module/components/index.native.js +1 -1
  849. package/build-module/components/index.native.js.map +1 -1
  850. package/build-module/components/inner-blocks/button-block-appender.js +8 -7
  851. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  852. package/build-module/components/inner-blocks/default-block-appender.js +9 -7
  853. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  854. package/build-module/components/inner-blocks/index.js +9 -6
  855. package/build-module/components/inner-blocks/index.js.map +1 -1
  856. package/build-module/components/inner-blocks/index.native.js +8 -5
  857. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  858. package/build-module/components/inserter/block-patterns-explorer/explorer.js +52 -0
  859. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  860. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +95 -0
  861. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  862. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +73 -0
  863. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  864. package/build-module/components/inserter/block-patterns-tab.js +93 -58
  865. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  866. package/build-module/components/inserter/block-types-tab.js +9 -7
  867. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  868. package/build-module/components/inserter/block-types-tab.native.js +9 -8
  869. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  870. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
  871. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  872. package/build-module/components/inserter/hooks/use-block-types-state.js +6 -5
  873. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  874. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -9
  875. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  876. package/build-module/components/inserter/index.js +36 -28
  877. package/build-module/components/inserter/index.js.map +1 -1
  878. package/build-module/components/inserter/index.native.js +46 -37
  879. package/build-module/components/inserter/index.native.js.map +1 -1
  880. package/build-module/components/inserter/library.js +12 -11
  881. package/build-module/components/inserter/library.js.map +1 -1
  882. package/build-module/components/inserter/menu.js +12 -11
  883. package/build-module/components/inserter/menu.js.map +1 -1
  884. package/build-module/components/inserter/menu.native.js +31 -27
  885. package/build-module/components/inserter/menu.native.js.map +1 -1
  886. package/build-module/components/inserter/panel.js +6 -5
  887. package/build-module/components/inserter/panel.js.map +1 -1
  888. package/build-module/components/inserter/pattern-panel.js +27 -18
  889. package/build-module/components/inserter/pattern-panel.js.map +1 -1
  890. package/build-module/components/inserter/preview-panel.js +4 -3
  891. package/build-module/components/inserter/preview-panel.js.map +1 -1
  892. package/build-module/components/inserter/quick-inserter.js +7 -6
  893. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  894. package/build-module/components/inserter/reusable-blocks-tab.js +18 -13
  895. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  896. package/build-module/components/inserter/reusable-blocks-tab.native.js +6 -5
  897. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  898. package/build-module/components/inserter/search-items.js +23 -7
  899. package/build-module/components/inserter/search-items.js.map +1 -1
  900. package/build-module/components/inserter/search-results.js +15 -14
  901. package/build-module/components/inserter/search-results.js.map +1 -1
  902. package/build-module/components/inserter/search-results.native.js +11 -10
  903. package/build-module/components/inserter/search-results.native.js.map +1 -1
  904. package/build-module/components/inserter/tabs.js +7 -6
  905. package/build-module/components/inserter/tabs.js.map +1 -1
  906. package/build-module/components/inserter/tabs.native.js +55 -37
  907. package/build-module/components/inserter/tabs.native.js.map +1 -1
  908. package/build-module/components/inserter/utils.native.js +10 -8
  909. package/build-module/components/inserter/utils.native.js.map +1 -1
  910. package/build-module/components/inserter-draggable-blocks/index.js +12 -10
  911. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  912. package/build-module/components/inserter-list-item/index.js +75 -69
  913. package/build-module/components/inserter-list-item/index.js.map +1 -1
  914. package/build-module/components/inserter-listbox/index.js +4 -3
  915. package/build-module/components/inserter-listbox/index.js.map +1 -1
  916. package/build-module/components/inserter-listbox/item.js +7 -6
  917. package/build-module/components/inserter-listbox/item.js.map +1 -1
  918. package/build-module/components/inspector-controls/block-support-slot-container.js +5 -4
  919. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  920. package/build-module/components/inspector-controls/block-support-tools-panel.js +8 -6
  921. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  922. package/build-module/components/inspector-controls/fill.js +5 -4
  923. package/build-module/components/inspector-controls/fill.js.map +1 -1
  924. package/build-module/components/inspector-controls/fill.native.js +6 -5
  925. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  926. package/build-module/components/inspector-controls/groups.js +3 -1
  927. package/build-module/components/inspector-controls/groups.js.map +1 -1
  928. package/build-module/components/inspector-controls/slot.js +7 -6
  929. package/build-module/components/inspector-controls/slot.js.map +1 -1
  930. package/build-module/components/inspector-controls/slot.native.js +5 -4
  931. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  932. package/build-module/components/justify-content-control/ui.js +10 -8
  933. package/build-module/components/justify-content-control/ui.js.map +1 -1
  934. package/build-module/components/letter-spacing-control/index.js +13 -9
  935. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  936. package/build-module/components/line-height-control/index.js +5 -4
  937. package/build-module/components/line-height-control/index.js.map +1 -1
  938. package/build-module/components/line-height-control/index.native.js +5 -4
  939. package/build-module/components/line-height-control/index.native.js.map +1 -1
  940. package/build-module/components/link-control/index.js +107 -53
  941. package/build-module/components/link-control/index.js.map +1 -1
  942. package/build-module/components/link-control/link-preview.js +24 -11
  943. package/build-module/components/link-control/link-preview.js.map +1 -1
  944. package/build-module/components/link-control/search-create-button.js +9 -7
  945. package/build-module/components/link-control/search-create-button.js.map +1 -1
  946. package/build-module/components/link-control/search-input.js +30 -21
  947. package/build-module/components/link-control/search-input.js.map +1 -1
  948. package/build-module/components/link-control/search-item.js +10 -9
  949. package/build-module/components/link-control/search-item.js.map +1 -1
  950. package/build-module/components/link-control/search-results.js +15 -14
  951. package/build-module/components/link-control/search-results.js.map +1 -1
  952. package/build-module/components/link-control/settings-drawer.js +7 -5
  953. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  954. package/build-module/components/link-control/use-search-handler.js +4 -3
  955. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  956. package/build-module/components/list-view/appender.js +27 -23
  957. package/build-module/components/list-view/appender.js.map +1 -1
  958. package/build-module/components/list-view/block-contents.js +32 -28
  959. package/build-module/components/list-view/block-contents.js.map +1 -1
  960. package/build-module/components/list-view/block-select-button.js +18 -17
  961. package/build-module/components/list-view/block-select-button.js.map +1 -1
  962. package/build-module/components/list-view/block.js +121 -83
  963. package/build-module/components/list-view/block.js.map +1 -1
  964. package/build-module/components/list-view/branch.js +92 -73
  965. package/build-module/components/list-view/branch.js.map +1 -1
  966. package/build-module/components/list-view/drop-indicator.js +5 -4
  967. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  968. package/build-module/components/list-view/expander.js +4 -3
  969. package/build-module/components/list-view/expander.js.map +1 -1
  970. package/build-module/components/list-view/index.js +49 -25
  971. package/build-module/components/list-view/index.js.map +1 -1
  972. package/build-module/components/list-view/leaf.js +12 -11
  973. package/build-module/components/list-view/leaf.js.map +1 -1
  974. package/build-module/components/list-view/list-item.js +8 -7
  975. package/build-module/components/list-view/list-item.js.map +1 -1
  976. package/build-module/components/list-view/use-list-view-client-ids.js +8 -58
  977. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  978. package/build-module/components/media-placeholder/index.js +86 -68
  979. package/build-module/components/media-placeholder/index.js.map +1 -1
  980. package/build-module/components/media-placeholder/index.native.js +5 -4
  981. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  982. package/build-module/components/media-replace-flow/index.js +85 -72
  983. package/build-module/components/media-replace-flow/index.js.map +1 -1
  984. package/build-module/components/media-upload/check.js +5 -4
  985. package/build-module/components/media-upload/check.js.map +1 -1
  986. package/build-module/components/multi-selection-inspector/index.js +4 -3
  987. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  988. package/build-module/components/navigable-toolbar/index.js +8 -7
  989. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  990. package/build-module/components/observe-typing/index.js +4 -3
  991. package/build-module/components/observe-typing/index.js.map +1 -1
  992. package/build-module/components/panel-color-settings/index.js +16 -12
  993. package/build-module/components/panel-color-settings/index.js.map +1 -1
  994. package/build-module/components/plain-text/index.js +6 -4
  995. package/build-module/components/plain-text/index.js.map +1 -1
  996. package/build-module/components/preview-options/index.js +8 -7
  997. package/build-module/components/preview-options/index.js.map +1 -1
  998. package/build-module/components/provider/block-refs-provider.js +4 -3
  999. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1000. package/build-module/components/provider/use-block-sync.js +8 -7
  1001. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1002. package/build-module/components/provider/with-registry-provider.js +7 -5
  1003. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1004. package/build-module/components/responsive-block-control/label.js +6 -5
  1005. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1006. package/build-module/components/rich-text/embed-handler-picker.native.js +8 -5
  1007. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1008. package/build-module/components/rich-text/file-paste-handler.js +6 -3
  1009. package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
  1010. package/build-module/components/rich-text/format-edit.js +36 -10
  1011. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1012. package/build-module/components/rich-text/format-toolbar/index.js +20 -10
  1013. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1014. package/build-module/components/rich-text/format-toolbar-container.js +6 -4
  1015. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1016. package/build-module/components/rich-text/index.js +44 -40
  1017. package/build-module/components/rich-text/index.js.map +1 -1
  1018. package/build-module/components/rich-text/index.native.js +145 -122
  1019. package/build-module/components/rich-text/index.native.js.map +1 -1
  1020. package/build-module/components/rich-text/input-event.js +5 -4
  1021. package/build-module/components/rich-text/input-event.js.map +1 -1
  1022. package/build-module/components/rich-text/shortcut.js +6 -5
  1023. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1024. package/build-module/components/rich-text/split-value.js +10 -8
  1025. package/build-module/components/rich-text/split-value.js.map +1 -1
  1026. package/build-module/components/rich-text/toolbar-button.js +7 -6
  1027. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1028. package/build-module/components/rich-text/use-caret-in-format.js +4 -3
  1029. package/build-module/components/rich-text/use-caret-in-format.js.map +1 -1
  1030. package/build-module/components/rich-text/use-enter.js +6 -3
  1031. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1032. package/build-module/components/rich-text/use-format-types.js +13 -10
  1033. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1034. package/build-module/components/rich-text/use-input-rules.js +15 -9
  1035. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1036. package/build-module/components/rich-text/use-mark-persistent.js +5 -4
  1037. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1038. package/build-module/components/rich-text/use-paste-handler.js +28 -4
  1039. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1040. package/build-module/components/rich-text/utils.js +7 -5
  1041. package/build-module/components/rich-text/utils.js.map +1 -1
  1042. package/build-module/components/skip-to-selected-block/index.js +4 -3
  1043. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1044. package/build-module/components/text-decoration-control/index.js +5 -4
  1045. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1046. package/build-module/components/text-transform-control/index.js +5 -4
  1047. package/build-module/components/text-transform-control/index.js.map +1 -1
  1048. package/build-module/components/tool-selector/index.js +16 -13
  1049. package/build-module/components/tool-selector/index.js.map +1 -1
  1050. package/build-module/components/typewriter/index.js +9 -6
  1051. package/build-module/components/typewriter/index.js.map +1 -1
  1052. package/build-module/components/ungroup-button/index.native.js +12 -9
  1053. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1054. package/build-module/components/unit-control/index.js +5 -4
  1055. package/build-module/components/unit-control/index.js.map +1 -1
  1056. package/build-module/components/url-input/index.js +23 -13
  1057. package/build-module/components/url-input/index.js.map +1 -1
  1058. package/build-module/components/url-input/index.native.js +8 -6
  1059. package/build-module/components/url-input/index.native.js.map +1 -1
  1060. package/build-module/components/url-popover/image-url-input-ui.js +12 -11
  1061. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1062. package/build-module/components/url-popover/index.js +9 -8
  1063. package/build-module/components/url-popover/index.js.map +1 -1
  1064. package/build-module/components/url-popover/link-editor.js +8 -7
  1065. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1066. package/build-module/components/url-popover/link-viewer-url.js +6 -5
  1067. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1068. package/build-module/components/url-popover/link-viewer.js +9 -8
  1069. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1070. package/build-module/components/use-block-drop-zone/index.js +8 -7
  1071. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1072. package/build-module/components/use-moving-animation/index.js +17 -13
  1073. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1074. package/build-module/components/use-no-recursive-renders/index.js +10 -6
  1075. package/build-module/components/use-no-recursive-renders/index.js.map +1 -1
  1076. package/build-module/components/use-setting/index.js +48 -9
  1077. package/build-module/components/use-setting/index.js.map +1 -1
  1078. package/build-module/components/warning/index.js +7 -6
  1079. package/build-module/components/warning/index.js.map +1 -1
  1080. package/build-module/components/warning/index.native.js +10 -9
  1081. package/build-module/components/warning/index.native.js.map +1 -1
  1082. package/build-module/components/writing-flow/index.js +5 -4
  1083. package/build-module/components/writing-flow/index.js.map +1 -1
  1084. package/build-module/hooks/align.js +9 -4
  1085. package/build-module/hooks/align.js.map +1 -1
  1086. package/build-module/hooks/border.js +8 -6
  1087. package/build-module/hooks/border.js.map +1 -1
  1088. package/build-module/hooks/color-panel.js +9 -7
  1089. package/build-module/hooks/color-panel.js.map +1 -1
  1090. package/build-module/hooks/dimensions.js +2 -1
  1091. package/build-module/hooks/dimensions.js.map +1 -1
  1092. package/build-module/hooks/duotone.js +29 -15
  1093. package/build-module/hooks/duotone.js.map +1 -1
  1094. package/build-module/hooks/font-appearance.js +54 -12
  1095. package/build-module/hooks/font-appearance.js.map +1 -1
  1096. package/build-module/hooks/font-family.js +57 -31
  1097. package/build-module/hooks/font-family.js.map +1 -1
  1098. package/build-module/hooks/font-size.js +52 -12
  1099. package/build-module/hooks/font-size.js.map +1 -1
  1100. package/build-module/hooks/gap.js +9 -7
  1101. package/build-module/hooks/gap.js.map +1 -1
  1102. package/build-module/hooks/index.js +1 -0
  1103. package/build-module/hooks/index.js.map +1 -1
  1104. package/build-module/hooks/index.native.js +1 -0
  1105. package/build-module/hooks/index.native.js.map +1 -1
  1106. package/build-module/hooks/layout.js +16 -13
  1107. package/build-module/hooks/layout.js.map +1 -1
  1108. package/build-module/hooks/letter-spacing.js +45 -10
  1109. package/build-module/hooks/letter-spacing.js.map +1 -1
  1110. package/build-module/hooks/line-height.js +46 -11
  1111. package/build-module/hooks/line-height.js.map +1 -1
  1112. package/build-module/hooks/margin.js +10 -8
  1113. package/build-module/hooks/margin.js.map +1 -1
  1114. package/build-module/hooks/padding.js +10 -8
  1115. package/build-module/hooks/padding.js.map +1 -1
  1116. package/build-module/hooks/style.js +7 -3
  1117. package/build-module/hooks/style.js.map +1 -1
  1118. package/build-module/hooks/text-decoration.js +43 -9
  1119. package/build-module/hooks/text-decoration.js.map +1 -1
  1120. package/build-module/hooks/text-transform.js +43 -9
  1121. package/build-module/hooks/text-transform.js.map +1 -1
  1122. package/build-module/hooks/typography.js +119 -18
  1123. package/build-module/hooks/typography.js.map +1 -1
  1124. package/build-module/hooks/typography.native.js +2 -1
  1125. package/build-module/hooks/typography.native.js.map +1 -1
  1126. package/build-module/hooks/use-border-props.js +5 -4
  1127. package/build-module/hooks/use-border-props.js.map +1 -1
  1128. package/build-module/hooks/use-cached-truthy.js +21 -0
  1129. package/build-module/hooks/use-cached-truthy.js.map +1 -0
  1130. package/build-module/index.js +1 -1
  1131. package/build-module/index.js.map +1 -1
  1132. package/build-module/layouts/flex.js +176 -56
  1133. package/build-module/layouts/flex.js.map +1 -1
  1134. package/build-module/layouts/flow.js +10 -8
  1135. package/build-module/layouts/flow.js.map +1 -1
  1136. package/build-module/layouts/index.js +2 -1
  1137. package/build-module/layouts/index.js.map +1 -1
  1138. package/build-module/layouts/utils.js +2 -1
  1139. package/build-module/layouts/utils.js.map +1 -1
  1140. package/build-module/store/actions.js +410 -320
  1141. package/build-module/store/actions.js.map +1 -1
  1142. package/build-module/store/array.js +2 -1
  1143. package/build-module/store/array.js.map +1 -1
  1144. package/build-module/store/index.js +1 -2
  1145. package/build-module/store/index.js.map +1 -1
  1146. package/build-module/store/reducer.js +129 -54
  1147. package/build-module/store/reducer.js.map +1 -1
  1148. package/build-module/store/selectors.js +197 -117
  1149. package/build-module/store/selectors.js.map +1 -1
  1150. package/build-module/utils/block-variation-transforms.js +4 -3
  1151. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1152. package/build-module/utils/get-paste-event-data.js +10 -6
  1153. package/build-module/utils/get-paste-event-data.js.map +1 -1
  1154. package/build-module/utils/math.js +2 -1
  1155. package/build-module/utils/math.js.map +1 -1
  1156. package/build-module/utils/parse-css-unit-to-px.js +5 -2
  1157. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1158. package/build-module/utils/transform-styles/index.js +8 -6
  1159. package/build-module/utils/transform-styles/index.js.map +1 -1
  1160. package/build-module/utils/transform-styles/transforms/wrap.js +28 -25
  1161. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1162. package/build-style/style-rtl.css +160 -57
  1163. package/build-style/style.css +160 -57
  1164. package/package.json +27 -28
  1165. package/src/components/alignment-control/test/__snapshots__/index.js.snap +0 -2
  1166. package/src/components/alignment-control/ui.js +1 -4
  1167. package/src/components/block-draggable/style.scss +19 -4
  1168. package/src/components/block-icon/index.js +4 -1
  1169. package/src/components/block-inspector/index.js +5 -0
  1170. package/src/components/block-list/index.native.js +1 -1
  1171. package/src/components/block-list/use-block-props/use-multi-selection.js +27 -7
  1172. package/src/components/block-navigation/dropdown.js +0 -1
  1173. package/src/components/block-patterns-list/index.js +1 -8
  1174. package/src/components/block-patterns-list/style.scss +22 -12
  1175. package/src/components/block-settings/container.native.js +7 -0
  1176. package/src/components/block-settings-menu/block-settings-dropdown.js +19 -7
  1177. package/src/components/block-styles/preview.native.js +2 -2
  1178. package/src/components/block-switcher/test/__snapshots__/index.js.snap +1 -1
  1179. package/src/components/color-palette/test/__snapshots__/control.js.snap +88 -63
  1180. package/src/components/colors-gradients/control.js +19 -62
  1181. package/src/components/colors-gradients/panel-color-gradient-settings.js +76 -6
  1182. package/src/components/colors-gradients/style.scss +3 -14
  1183. package/src/components/colors-gradients/test/control.js +0 -16
  1184. package/src/components/duotone-control/index.js +6 -0
  1185. package/src/components/duotone-control/style.scss +27 -12
  1186. package/src/components/font-appearance-control/index.js +22 -14
  1187. package/src/components/iframe/index.js +1 -1
  1188. package/src/components/index.js +3 -4
  1189. package/src/components/index.native.js +1 -4
  1190. package/src/components/inner-blocks/index.js +4 -4
  1191. package/src/components/inner-blocks/index.native.js +7 -4
  1192. package/src/components/inserter/block-patterns-explorer/explorer.js +50 -0
  1193. package/src/components/inserter/block-patterns-explorer/patterns-list.js +122 -0
  1194. package/src/components/inserter/block-patterns-explorer/sidebar.js +73 -0
  1195. package/src/components/inserter/block-patterns-tab.js +107 -80
  1196. package/src/components/inserter/hooks/use-block-type-impressions.native.js +14 -21
  1197. package/src/components/inserter/pattern-panel.js +33 -16
  1198. package/src/components/inserter/style.scss +64 -1
  1199. package/src/components/inserter/test/block-types-tab.native.js +1 -1
  1200. package/src/components/inserter/test/fixtures/index.native.js +12 -0
  1201. package/src/components/inspector-controls/groups.js +4 -0
  1202. package/src/components/letter-spacing-control/index.js +12 -6
  1203. package/src/components/link-control/README.md +7 -0
  1204. package/src/components/link-control/index.js +99 -34
  1205. package/src/components/link-control/link-preview.js +21 -9
  1206. package/src/components/link-control/search-input.js +9 -3
  1207. package/src/components/link-control/style.scss +32 -16
  1208. package/src/components/link-control/test/index.js +179 -4
  1209. package/src/components/list-view/block.js +67 -23
  1210. package/src/components/list-view/branch.js +113 -91
  1211. package/src/components/list-view/index.js +58 -19
  1212. package/src/components/list-view/leaf.js +1 -1
  1213. package/src/components/list-view/style.scss +14 -3
  1214. package/src/components/list-view/use-list-view-client-ids.js +7 -66
  1215. package/src/components/rich-text/embed-handler-picker.native.js +1 -0
  1216. package/src/components/rich-text/format-edit.js +36 -2
  1217. package/src/components/rich-text/format-toolbar/index.js +3 -0
  1218. package/src/components/rich-text/use-paste-handler.js +22 -0
  1219. package/src/components/url-input/index.js +14 -4
  1220. package/src/components/use-setting/index.js +49 -11
  1221. package/src/hooks/border.js +8 -11
  1222. package/src/hooks/color-panel.js +1 -0
  1223. package/src/hooks/duotone.js +21 -7
  1224. package/src/hooks/font-appearance.js +38 -7
  1225. package/src/hooks/font-family.js +29 -13
  1226. package/src/hooks/font-size.js +42 -6
  1227. package/src/hooks/index.js +1 -0
  1228. package/src/hooks/index.native.js +1 -0
  1229. package/src/hooks/layout.scss +3 -1
  1230. package/src/hooks/letter-spacing.js +35 -7
  1231. package/src/hooks/line-height.js +37 -9
  1232. package/src/hooks/margin.js +1 -1
  1233. package/src/hooks/padding.js +1 -1
  1234. package/src/hooks/text-decoration.js +34 -6
  1235. package/src/hooks/text-transform.js +34 -6
  1236. package/src/hooks/typography.js +165 -15
  1237. package/src/hooks/typography.scss +16 -0
  1238. package/src/hooks/use-cached-truthy.js +20 -0
  1239. package/src/index.js +1 -0
  1240. package/src/layouts/flex.js +155 -41
  1241. package/src/store/actions.js +223 -391
  1242. package/src/store/index.js +1 -2
  1243. package/src/store/reducer.js +36 -18
  1244. package/src/store/selectors.js +52 -47
  1245. package/src/store/test/actions.js +395 -694
  1246. package/src/store/test/selectors.js +79 -21
  1247. package/src/style.scss +1 -1
  1248. package/src/utils/test/parse-css-unit-to-px.js +127 -167
  1249. package/build/components/text-decoration-and-transform/index.js +0 -39
  1250. package/build/components/text-decoration-and-transform/index.js.map +0 -1
  1251. package/build/store/controls.js +0 -44
  1252. package/build/store/controls.js.map +0 -1
  1253. package/build-module/components/text-decoration-and-transform/index.js +0 -30
  1254. package/build-module/components/text-decoration-and-transform/index.js.map +0 -1
  1255. package/build-module/store/controls.js +0 -32
  1256. package/build-module/store/controls.js.map +0 -1
  1257. package/src/components/text-decoration-and-transform/index.js +0 -36
  1258. package/src/components/text-decoration-and-transform/style.scss +0 -3
  1259. package/src/store/controls.js +0 -39
@@ -22,7 +22,7 @@ import { __ } from '@wordpress/i18n';
22
22
 
23
23
  import styles from './style.scss';
24
24
  import BlockListAppender from '../block-list-appender';
25
- import BlockListItem from './block-list-item.native';
25
+ import BlockListItem from './block-list-item';
26
26
  import { store as blockEditorStore } from '../../store';
27
27
  const BlockListContext = createContext();
28
28
  export const OnCaretVerticalPositionChange = createContext();
@@ -129,9 +129,10 @@ export class BlockList extends Component {
129
129
  return this.extraData;
130
130
  }
131
131
 
132
- onLayout({
133
- nativeEvent
134
- }) {
132
+ onLayout(_ref) {
133
+ let {
134
+ nativeEvent
135
+ } = _ref;
135
136
  const {
136
137
  layout
137
138
  } = nativeEvent;
@@ -170,7 +171,8 @@ export class BlockList extends Component {
170
171
  }, blockList);
171
172
  }
172
173
 
173
- renderList(extraProps = {}) {
174
+ renderList() {
175
+ let extraProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
174
176
  const {
175
177
  clearSelectedBlock,
176
178
  blockClientIds,
@@ -250,9 +252,10 @@ export class BlockList extends Component {
250
252
  })));
251
253
  }
252
254
 
253
- renderItem({
254
- item: clientId
255
- }) {
255
+ renderItem(_ref2) {
256
+ let {
257
+ item: clientId
258
+ } = _ref2;
256
259
  const {
257
260
  contentResizeMode,
258
261
  contentStyle,
@@ -313,11 +316,12 @@ export class BlockList extends Component {
313
316
  }
314
317
 
315
318
  }
316
- export default compose([withSelect((select, {
317
- rootClientId,
318
- orientation,
319
- filterInnerBlocks
320
- }) => {
319
+ export default compose([withSelect((select, _ref3) => {
320
+ let {
321
+ rootClientId,
322
+ orientation,
323
+ filterInnerBlocks
324
+ } = _ref3;
321
325
  const {
322
326
  getBlockCount,
323
327
  getBlockOrder,
@@ -389,10 +393,11 @@ class EmptyListComponent extends Component {
389
393
 
390
394
  }
391
395
 
392
- const EmptyListComponentCompose = compose([withSelect((select, {
393
- rootClientId,
394
- orientation
395
- }) => {
396
+ const EmptyListComponentCompose = compose([withSelect((select, _ref4) => {
397
+ let {
398
+ rootClientId,
399
+ orientation
400
+ } = _ref4;
396
401
  const {
397
402
  getBlockOrder,
398
403
  getBlockInsertionPoint,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["identity","View","Platform","TouchableWithoutFeedback","Component","createContext","withDispatch","withSelect","compose","withPreferredColorScheme","createBlock","KeyboardAwareFlatList","ReadableContentView","WIDE_ALIGNMENTS","alignmentHelpers","__","styles","BlockListAppender","BlockListItem","store","blockEditorStore","BlockListContext","OnCaretVerticalPositionChange","stylesMemo","getStyles","isRootList","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","horizontal","overflowVisible","BlockList","constructor","arguments","extraData","parentWidth","props","renderFooterAppender","renderAppender","onDeleteBlock","contentStyle","renderItem","bind","renderBlockListFooter","onCaretVerticalPositionChange","scrollViewInnerRef","addBlockToEndOfPost","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","renderEmptyList","getExtraData","onLayout","state","blockWidth","newBlock","insertBlock","blockCount","targetId","caretY","previousCaretY","handleCaretVerticalPositionChange","scrollViewRef","ref","isBlockInsertionPointVisible","blockClientIds","length","rootClientId","gridProperties","nativeEvent","layout","maxWidth","layoutWidth","Math","floor","width","setState","min","render","blockList","renderList","parentScrollRef","extraProps","clearSelectedBlock","title","header","isReadOnly","marginVertical","defaultBlock","marginTop","marginHorizontal","marginLeft","isFloatingToolbarVisible","contentResizeMode","blockToolbar","blockBorder","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","OS","removeClippedSubviews","autoScroll","height","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","innerAppender","item","clientId","onAddBlock","paragraphBlock","withFooter","blockListFooter","select","orientation","filterInnerBlocks","getBlockCount","getBlockOrder","getSelectedBlockClientId","getSettings","selectedBlockClientId","readOnly","hasRootInnerBlocks","undefined","dispatch","replaceBlock","EmptyListComponent","shouldShowInsertionPoint","defaultAppender","alignments","full","EmptyListComponentCompose","getBlockInsertionPoint","insertionPoint","blockInsertionPointIsVisible","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { identity } from 'lodash';\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tReadableContentView,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item.native';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockListContext = createContext();\n\nexport const OnCaretVerticalPositionChange = createContext();\n\nconst stylesMemo = {};\nconst getStyles = (\n\tisRootList,\n\tisStackedHorizontally,\n\thorizontalAlignment\n) => {\n\tif ( isRootList ) {\n\t\treturn;\n\t}\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t\tstyles.overflowVisible,\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport class BlockList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.extraData = {\n\t\t\tparentWidth: this.props.parentWidth,\n\t\t\trenderFooterAppender: this.props.renderFooterAppender,\n\t\t\trenderAppender: this.props.renderAppender,\n\t\t\tonDeleteBlock: this.props.onDeleteBlock,\n\t\t\tcontentStyle: this.props.contentStyle,\n\t\t};\n\t\tthis.renderItem = this.renderItem.bind( this );\n\t\tthis.renderBlockListFooter = this.renderBlockListFooter.bind( this );\n\t\tthis.onCaretVerticalPositionChange = this.onCaretVerticalPositionChange.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.scrollViewInnerRef = this.scrollViewInnerRef.bind( this );\n\t\tthis.addBlockToEndOfPost = this.addBlockToEndOfPost.bind( this );\n\t\tthis.shouldFlatListPreventAutomaticScroll = this.shouldFlatListPreventAutomaticScroll.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.shouldShowInnerBlockAppender = this.shouldShowInnerBlockAppender.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.renderEmptyList = this.renderEmptyList.bind( this );\n\t\tthis.getExtraData = this.getExtraData.bind( this );\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth || 0,\n\t\t};\n\t}\n\n\taddBlockToEndOfPost( newBlock ) {\n\t\tthis.props.insertBlock( newBlock, this.props.blockCount );\n\t}\n\n\tonCaretVerticalPositionChange( targetId, caretY, previousCaretY ) {\n\t\tKeyboardAwareFlatList.handleCaretVerticalPositionChange(\n\t\t\tthis.scrollViewRef,\n\t\t\ttargetId,\n\t\t\tcaretY,\n\t\t\tpreviousCaretY\n\t\t);\n\t}\n\n\tscrollViewInnerRef( ref ) {\n\t\tthis.scrollViewRef = ref;\n\t}\n\n\tshouldFlatListPreventAutomaticScroll() {\n\t\treturn this.props.isBlockInsertionPointVisible;\n\t}\n\n\tshouldShowInnerBlockAppender() {\n\t\tconst { blockClientIds, renderAppender } = this.props;\n\t\treturn renderAppender && blockClientIds.length > 0;\n\t}\n\n\trenderEmptyList() {\n\t\treturn (\n\t\t\t<EmptyListComponentCompose\n\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\trenderFooterAppender={ this.props.renderFooterAppender }\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetExtraData() {\n\t\tconst {\n\t\t\tparentWidth,\n\t\t\trenderFooterAppender,\n\t\t\tonDeleteBlock,\n\t\t\tcontentStyle,\n\t\t\trenderAppender,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\tif (\n\t\t\tthis.extraData.parentWidth !== parentWidth ||\n\t\t\tthis.extraData.renderFooterAppender !== renderFooterAppender ||\n\t\t\tthis.extraData.onDeleteBlock !== onDeleteBlock ||\n\t\t\tthis.extraData.contentStyle !== contentStyle ||\n\t\t\tthis.extraData.renderAppender !== renderAppender ||\n\t\t\tthis.extraData.blockWidth !== blockWidth ||\n\t\t\tthis.extraData.gridProperties !== gridProperties\n\t\t) {\n\t\t\tthis.extraData = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t\tgridProperties,\n\t\t\t};\n\t\t}\n\t\treturn this.extraData;\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst { isRootList, maxWidth } = this.props;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tblockWidth: Math.min( layoutWidth, maxWidth ),\n\t\t\t} );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tthis.setState( { blockWidth: Math.min( layoutWidth, maxWidth ) } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isRootList } = this.props;\n\t\t// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks\n\t\tconst blockList = isRootList ? (\n\t\t\t<BlockListContext.Provider value={ this.scrollViewRef }>\n\t\t\t\t{ this.renderList() }\n\t\t\t</BlockListContext.Provider>\n\t\t) : (\n\t\t\t<BlockListContext.Consumer>\n\t\t\t\t{ ( ref ) =>\n\t\t\t\t\tthis.renderList( {\n\t\t\t\t\t\tparentScrollRef: ref,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</BlockListContext.Consumer>\n\t\t);\n\n\t\treturn (\n\t\t\t<OnCaretVerticalPositionChange.Provider\n\t\t\t\tvalue={ this.onCaretVerticalPositionChange }\n\t\t\t>\n\t\t\t\t{ blockList }\n\t\t\t</OnCaretVerticalPositionChange.Provider>\n\t\t);\n\t}\n\n\trenderList( extraProps = {} ) {\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tblockClientIds,\n\t\t\ttitle,\n\t\t\theader,\n\t\t\tisReadOnly,\n\t\t\tisRootList,\n\t\t\thorizontal,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tisFloatingToolbarVisible,\n\t\t\tisStackedHorizontally,\n\t\t\thorizontalAlignment,\n\t\t\tcontentResizeMode,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst { parentScrollRef } = extraProps;\n\n\t\tconst {\n\t\t\tblockToolbar,\n\t\t\tblockBorder,\n\t\t\theaderToolbar,\n\t\t\tfloatingToolbar,\n\t\t} = styles;\n\n\t\tconst containerStyle = {\n\t\t\tflex: isRootList ? 1 : 0,\n\t\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks\n\t\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t\t};\n\n\t\tconst isContentStretch = contentResizeMode === 'stretch';\n\t\tconst isMultiBlocks = blockClientIds.length > 1;\n\t\tconst { isWider } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ containerStyle }\n\t\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\ttestID=\"block-list-wrapper\"\n\t\t\t>\n\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\tautoScroll={ this.props.autoScroll }\n\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\tthis.scrollViewInnerRef( parentScrollRef || ref );\n\t\t\t\t\t} }\n\t\t\t\t\textraScrollHeight={\n\t\t\t\t\t\tblockToolbar.height + blockBorder.width\n\t\t\t\t\t}\n\t\t\t\t\tinputAccessoryViewHeight={\n\t\t\t\t\t\theaderToolbar.height +\n\t\t\t\t\t\t( isFloatingToolbarVisible\n\t\t\t\t\t\t\t? floatingToolbar.height\n\t\t\t\t\t\t\t: 0 )\n\t\t\t\t\t}\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tscrollViewStyle={ [\n\t\t\t\t\t\t{ flex: isRootList ? 1 : 0 },\n\t\t\t\t\t\t! isRootList && styles.overflowVisible,\n\t\t\t\t\t] }\n\t\t\t\t\textraData={ this.getExtraData() }\n\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\thorizontal && styles.horizontalContentContainer,\n\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t] }\n\t\t\t\t\tstyle={ getStyles(\n\t\t\t\t\t\tisRootList,\n\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t) }\n\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\trenderItem={ this.renderItem }\n\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\tthis.shouldFlatListPreventAutomaticScroll\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\tListEmptyComponent={ ! isReadOnly && this.renderEmptyList }\n\t\t\t\t\tListFooterComponent={ this.renderBlockListFooter }\n\t\t\t\t/>\n\t\t\t\t{ this.shouldShowInnerBlockAppender() && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\t\tmarginHorizontal -\n\t\t\t\t\t\t\t\tstyles.innerAppender.marginLeft,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem( { item: clientId } ) {\n\t\tconst {\n\t\t\tcontentResizeMode,\n\t\t\tcontentStyle,\n\t\t\tonAddBlock,\n\t\t\tonDeleteBlock,\n\t\t\trootClientId,\n\t\t\tisStackedHorizontally,\n\t\t\tblockClientIds,\n\t\t\tparentWidth,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={\n\t\t\t\t\tthis.shouldShowInnerBlockAppender\n\t\t\t\t}\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tgridProperties={ gridProperties }\n\t\t\t\titems={ blockClientIds }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockListFooter() {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\tconst {\n\t\t\tisReadOnly,\n\t\t\twithFooter = true,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( ! isReadOnly && withFooter ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\t\tthis.addBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( renderFooterAppender ) {\n\t\t\treturn renderFooterAppender();\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, orientation, filterInnerBlocks } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet blockClientIds = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockClientIds = filterInnerBlocks( blockClientIds );\n\t\t\t}\n\n\t\t\tconst { maxWidth } = getSettings();\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst blockCount = getBlockCount();\n\t\t\tconst hasRootInnerBlocks = !! blockCount;\n\n\t\t\tconst isFloatingToolbarVisible =\n\t\t\t\t!! selectedBlockClientId && hasRootInnerBlocks;\n\t\t\treturn {\n\t\t\t\tblockClientIds,\n\t\t\t\tblockCount,\n\t\t\t\tisBlockInsertionPointVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible,\n\t\t\t\tisStackedHorizontally,\n\t\t\t\tmaxWidth,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { insertBlock, replaceBlock, clearSelectedBlock } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\treturn {\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockList );\n\nclass EmptyListComponent extends Component {\n\trender() {\n\t\tconst {\n\t\t\tshouldShowInsertionPoint,\n\t\t\trootClientId,\n\t\t\trenderAppender,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( renderFooterAppender ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.defaultAppender }>\n\t\t\t\t<ReadableContentView\n\t\t\t\t\talign={\n\t\t\t\t\t\trenderAppender\n\t\t\t\t\t\t\t? WIDE_ALIGNMENTS.alignments.full\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t\t\t/>\n\t\t\t\t</ReadableContentView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst EmptyListComponentCompose = compose( [\n\twithSelect( ( select, { rootClientId, orientation } ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\tconst shouldShowInsertionPoint =\n\t\t\t! isStackedHorizontally &&\n\t\t\tblockInsertionPointIsVisible &&\n\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t// if list is empty, show the insertion point (via the default appender)\n\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t// or if the insertion point is right before the denoted block\n\t\t\t\t! blockClientIds[ insertionPoint.index ] );\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint,\n\t\t};\n\t} ),\n] )( EmptyListComponent );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["identity","View","Platform","TouchableWithoutFeedback","Component","createContext","withDispatch","withSelect","compose","withPreferredColorScheme","createBlock","KeyboardAwareFlatList","ReadableContentView","WIDE_ALIGNMENTS","alignmentHelpers","__","styles","BlockListAppender","BlockListItem","store","blockEditorStore","BlockListContext","OnCaretVerticalPositionChange","stylesMemo","getStyles","isRootList","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","horizontal","overflowVisible","BlockList","constructor","arguments","extraData","parentWidth","props","renderFooterAppender","renderAppender","onDeleteBlock","contentStyle","renderItem","bind","renderBlockListFooter","onCaretVerticalPositionChange","scrollViewInnerRef","addBlockToEndOfPost","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","renderEmptyList","getExtraData","onLayout","state","blockWidth","newBlock","insertBlock","blockCount","targetId","caretY","previousCaretY","handleCaretVerticalPositionChange","scrollViewRef","ref","isBlockInsertionPointVisible","blockClientIds","length","rootClientId","gridProperties","nativeEvent","layout","maxWidth","layoutWidth","Math","floor","width","setState","min","render","blockList","renderList","parentScrollRef","extraProps","clearSelectedBlock","title","header","isReadOnly","marginVertical","defaultBlock","marginTop","marginHorizontal","marginLeft","isFloatingToolbarVisible","contentResizeMode","blockToolbar","blockBorder","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","OS","removeClippedSubviews","autoScroll","height","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","innerAppender","item","clientId","onAddBlock","paragraphBlock","withFooter","blockListFooter","select","orientation","filterInnerBlocks","getBlockCount","getBlockOrder","getSelectedBlockClientId","getSettings","selectedBlockClientId","readOnly","hasRootInnerBlocks","undefined","dispatch","replaceBlock","EmptyListComponent","shouldShowInsertionPoint","defaultAppender","alignments","full","EmptyListComponentCompose","getBlockInsertionPoint","insertionPoint","blockInsertionPointIsVisible","index"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,QAAzB;AACA,SAASC,IAAT,EAAeC,QAAf,EAAyBC,wBAAzB,QAAyD,cAAzD;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,aAApB,QAAyC,oBAAzC;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SACCC,qBADD,EAECC,mBAFD,EAGCC,eAHD,EAICC,gBAJD,QAKO,uBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,MAAMC,gBAAgB,GAAGhB,aAAa,EAAtC;AAEA,OAAO,MAAMiB,6BAA6B,GAAGjB,aAAa,EAAnD;AAEP,MAAMkB,UAAU,GAAG,EAAnB;;AACA,MAAMC,SAAS,GAAG,CACjBC,UADiB,EAEjBC,qBAFiB,EAGjBC,mBAHiB,KAIb;AACJ,MAAKF,UAAL,EAAkB;AACjB;AACA;;AACD,QAAMG,SAAS,GAAI,GAAGF,qBAAuB,IAAIC,mBAAqB,EAAtE;;AACA,MAAKJ,UAAU,CAAEK,SAAF,CAAf,EAA+B;AAC9B,WAAOL,UAAU,CAAEK,SAAF,CAAjB;AACA;;AACD,QAAMC,cAAc,GAAG,CACtBH,qBAAqB,IAAIV,MAAM,CAACc,UADV,EAEtBH,mBAAmB,IAAIX,MAAM,CAAG,cAAcW,mBAAqB,EAAtC,CAFP,EAGtBX,MAAM,CAACe,eAHe,CAAvB;AAKAR,EAAAA,UAAU,CAAEK,SAAF,CAAV,GAA0BC,cAA1B;AACA,SAAOA,cAAP;AACA,CAnBD;;AAqBA,OAAO,MAAMG,SAAN,SAAwB5B,SAAxB,CAAkC;AACxC6B,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,SAAL,GAAiB;AAChBC,MAAAA,WAAW,EAAE,KAAKC,KAAL,CAAWD,WADR;AAEhBE,MAAAA,oBAAoB,EAAE,KAAKD,KAAL,CAAWC,oBAFjB;AAGhBC,MAAAA,cAAc,EAAE,KAAKF,KAAL,CAAWE,cAHX;AAIhBC,MAAAA,aAAa,EAAE,KAAKH,KAAL,CAAWG,aAJV;AAKhBC,MAAAA,YAAY,EAAE,KAAKJ,KAAL,CAAWI;AALT,KAAjB;AAOA,SAAKC,UAAL,GAAkB,KAAKA,UAAL,CAAgBC,IAAhB,CAAsB,IAAtB,CAAlB;AACA,SAAKC,qBAAL,GAA6B,KAAKA,qBAAL,CAA2BD,IAA3B,CAAiC,IAAjC,CAA7B;AACA,SAAKE,6BAAL,GAAqC,KAAKA,6BAAL,CAAmCF,IAAnC,CACpC,IADoC,CAArC;AAGA,SAAKG,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBH,IAAxB,CAA8B,IAA9B,CAA1B;AACA,SAAKI,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBJ,IAAzB,CAA+B,IAA/B,CAA3B;AACA,SAAKK,oCAAL,GAA4C,KAAKA,oCAAL,CAA0CL,IAA1C,CAC3C,IAD2C,CAA5C;AAGA,SAAKM,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCN,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKO,eAAL,GAAuB,KAAKA,eAAL,CAAqBP,IAArB,CAA2B,IAA3B,CAAvB;AACA,SAAKQ,YAAL,GAAoB,KAAKA,YAAL,CAAkBR,IAAlB,CAAwB,IAAxB,CAApB;AAEA,SAAKS,QAAL,GAAgB,KAAKA,QAAL,CAAcT,IAAd,CAAoB,IAApB,CAAhB;AAEA,SAAKU,KAAL,GAAa;AACZC,MAAAA,UAAU,EAAE,KAAKjB,KAAL,CAAWiB,UAAX,IAAyB;AADzB,KAAb;AAGA;;AAEDP,EAAAA,mBAAmB,CAAEQ,QAAF,EAAa;AAC/B,SAAKlB,KAAL,CAAWmB,WAAX,CAAwBD,QAAxB,EAAkC,KAAKlB,KAAL,CAAWoB,UAA7C;AACA;;AAEDZ,EAAAA,6BAA6B,CAAEa,QAAF,EAAYC,MAAZ,EAAoBC,cAApB,EAAqC;AACjEjD,IAAAA,qBAAqB,CAACkD,iCAAtB,CACC,KAAKC,aADN,EAECJ,QAFD,EAGCC,MAHD,EAICC,cAJD;AAMA;;AAEDd,EAAAA,kBAAkB,CAAEiB,GAAF,EAAQ;AACzB,SAAKD,aAAL,GAAqBC,GAArB;AACA;;AAEDf,EAAAA,oCAAoC,GAAG;AACtC,WAAO,KAAKX,KAAL,CAAW2B,4BAAlB;AACA;;AAEDf,EAAAA,4BAA4B,GAAG;AAC9B,UAAM;AAAEgB,MAAAA,cAAF;AAAkB1B,MAAAA;AAAlB,QAAqC,KAAKF,KAAhD;AACA,WAAOE,cAAc,IAAI0B,cAAc,CAACC,MAAf,GAAwB,CAAjD;AACA;;AAEDhB,EAAAA,eAAe,GAAG;AACjB,WACC,cAAC,yBAAD;AACC,MAAA,YAAY,EAAG,KAAKb,KAAL,CAAW8B,YAD3B;AAEC,MAAA,cAAc,EAAG,KAAK9B,KAAL,CAAWE,cAF7B;AAGC,MAAA,oBAAoB,EAAG,KAAKF,KAAL,CAAWC;AAHnC,MADD;AAOA;;AAEDa,EAAAA,YAAY,GAAG;AACd,UAAM;AACLf,MAAAA,WADK;AAELE,MAAAA,oBAFK;AAGLE,MAAAA,aAHK;AAILC,MAAAA,YAJK;AAKLF,MAAAA,cALK;AAML6B,MAAAA;AANK,QAOF,KAAK/B,KAPT;AAQA,UAAM;AAAEiB,MAAAA;AAAF,QAAiB,KAAKD,KAA5B;;AACA,QACC,KAAKlB,SAAL,CAAeC,WAAf,KAA+BA,WAA/B,IACA,KAAKD,SAAL,CAAeG,oBAAf,KAAwCA,oBADxC,IAEA,KAAKH,SAAL,CAAeK,aAAf,KAAiCA,aAFjC,IAGA,KAAKL,SAAL,CAAeM,YAAf,KAAgCA,YAHhC,IAIA,KAAKN,SAAL,CAAeI,cAAf,KAAkCA,cAJlC,IAKA,KAAKJ,SAAL,CAAemB,UAAf,KAA8BA,UAL9B,IAMA,KAAKnB,SAAL,CAAeiC,cAAf,KAAkCA,cAPnC,EAQE;AACD,WAAKjC,SAAL,GAAiB;AAChBC,QAAAA,WADgB;AAEhBE,QAAAA,oBAFgB;AAGhBE,QAAAA,aAHgB;AAIhBC,QAAAA,YAJgB;AAKhBF,QAAAA,cALgB;AAMhBe,QAAAA,UANgB;AAOhBc,QAAAA;AAPgB,OAAjB;AASA;;AACD,WAAO,KAAKjC,SAAZ;AACA;;AAEDiB,EAAAA,QAAQ,OAAoB;AAAA,QAAlB;AAAEiB,MAAAA;AAAF,KAAkB;AAC3B,UAAM;AAAEC,MAAAA;AAAF,QAAaD,WAAnB;AACA,UAAM;AAAEf,MAAAA;AAAF,QAAiB,KAAKD,KAA5B;AACA,UAAM;AAAE5B,MAAAA,UAAF;AAAc8C,MAAAA;AAAd,QAA2B,KAAKlC,KAAtC;AAEA,UAAMmC,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAYJ,MAAM,CAACK,KAAnB,CAApB;;AACA,QAAKlD,UAAU,IAAI6B,UAAU,KAAKkB,WAAlC,EAAgD;AAC/C,WAAKI,QAAL,CAAe;AACdtB,QAAAA,UAAU,EAAEmB,IAAI,CAACI,GAAL,CAAUL,WAAV,EAAuBD,QAAvB;AADE,OAAf;AAGA,KAJD,MAIO,IAAK,CAAE9C,UAAF,IAAgB,CAAE6B,UAAvB,EAAoC;AAC1C,WAAKsB,QAAL,CAAe;AAAEtB,QAAAA,UAAU,EAAEmB,IAAI,CAACI,GAAL,CAAUL,WAAV,EAAuBD,QAAvB;AAAd,OAAf;AACA;AACD;;AAEDO,EAAAA,MAAM,GAAG;AACR,UAAM;AAAErD,MAAAA;AAAF,QAAiB,KAAKY,KAA5B,CADQ,CAER;;AACA,UAAM0C,SAAS,GAAGtD,UAAU,GAC3B,cAAC,gBAAD,CAAkB,QAAlB;AAA2B,MAAA,KAAK,EAAG,KAAKqC;AAAxC,OACG,KAAKkB,UAAL,EADH,CAD2B,GAK3B,cAAC,gBAAD,CAAkB,QAAlB,QACKjB,GAAF,IACD,KAAKiB,UAAL,CAAiB;AAChBC,MAAAA,eAAe,EAAElB;AADD,KAAjB,CAFF,CALD;AAcA,WACC,cAAC,6BAAD,CAA+B,QAA/B;AACC,MAAA,KAAK,EAAG,KAAKlB;AADd,OAGGkC,SAHH,CADD;AAOA;;AAEDC,EAAAA,UAAU,GAAoB;AAAA,QAAlBE,UAAkB,uEAAL,EAAK;AAC7B,UAAM;AACLC,MAAAA,kBADK;AAELlB,MAAAA,cAFK;AAGLmB,MAAAA,KAHK;AAILC,MAAAA,MAJK;AAKLC,MAAAA,UALK;AAML7D,MAAAA,UANK;AAOLK,MAAAA,UAPK;AAQLyD,MAAAA,cAAc,GAAGvE,MAAM,CAACwE,YAAP,CAAoBC,SARhC;AASLC,MAAAA,gBAAgB,GAAG1E,MAAM,CAACwE,YAAP,CAAoBG,UATlC;AAULC,MAAAA,wBAVK;AAWLlE,MAAAA,qBAXK;AAYLC,MAAAA,mBAZK;AAaLkE,MAAAA,iBAbK;AAcLvC,MAAAA;AAdK,QAeF,KAAKjB,KAfT;AAgBA,UAAM;AAAE4C,MAAAA;AAAF,QAAsBC,UAA5B;AAEA,UAAM;AACLY,MAAAA,YADK;AAELC,MAAAA,WAFK;AAGLC,MAAAA,aAHK;AAILC,MAAAA;AAJK,QAKFjF,MALJ;AAOA,UAAMkF,cAAc,GAAG;AACtBC,MAAAA,IAAI,EAAE1E,UAAU,GAAG,CAAH,GAAO,CADD;AAEtB;AACA8D,MAAAA,cAAc,EAAE9D,UAAU,GAAG,CAAH,GAAO,CAAC8D,cAHZ;AAItBG,MAAAA,gBAAgB,EAAEjE,UAAU,GAAG,CAAH,GAAO,CAACiE;AAJd,KAAvB;AAOA,UAAMU,gBAAgB,GAAGP,iBAAiB,KAAK,SAA/C;AACA,UAAMQ,aAAa,GAAGpC,cAAc,CAACC,MAAf,GAAwB,CAA9C;AACA,UAAM;AAAEoC,MAAAA;AAAF,QAAcxF,gBAApB;AAEA,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAGoF,cADT;AAEC,MAAA,qBAAqB,EAAGf,kBAFzB;AAGC,MAAA,QAAQ,EAAG,KAAK/B,QAHjB;AAIC,MAAA,MAAM,EAAC;AAJR,OAMC,cAAC,qBAAD,eACQlD,QAAQ,CAACqG,EAAT,KAAgB,SAAhB,GACJ;AAAEC,MAAAA,qBAAqB,EAAE;AAAzB,KADI,GAEJ,EAHJ;AAGW;AACV,MAAA,kBAAkB,EAAC,YAJpB;AAKC,MAAA,UAAU,EAAG,KAAKnE,KAAL,CAAWoE,UALzB;AAMC,MAAA,QAAQ,EAAK1C,GAAF,IAAW;AACrB,aAAKjB,kBAAL,CAAyBmC,eAAe,IAAIlB,GAA5C;AACA,OARF;AASC,MAAA,iBAAiB,EAChB+B,YAAY,CAACY,MAAb,GAAsBX,WAAW,CAACpB,KAVpC;AAYC,MAAA,wBAAwB,EACvBqB,aAAa,CAACU,MAAd,IACEd,wBAAwB,GACvBK,eAAe,CAACS,MADO,GAEvB,CAHH,CAbF;AAkBC,MAAA,yBAAyB,EAAC,QAlB3B;AAmBC,MAAA,eAAe,EAAG,CACjB;AAAEP,QAAAA,IAAI,EAAE1E,UAAU,GAAG,CAAH,GAAO;AAAzB,OADiB,EAEjB,CAAEA,UAAF,IAAgBT,MAAM,CAACe,eAFN,CAnBnB;AAuBC,MAAA,SAAS,EAAG,KAAKoB,YAAL,EAvBb;AAwBC,MAAA,aAAa,EAAG1B,UAxBjB;AAyBC,MAAA,qBAAqB,EAAG,CACvBK,UAAU,IAAId,MAAM,CAAC2F,0BADE,EAEvBL,OAAO,CAAEhD,UAAF,EAAc,QAAd,CAAP,KACG8C,gBAAgB,IAAIC,aAApB,GACCrF,MAAM,CAAC4F,iCADR,GAEC5F,MAAM,CAAC6F,gCAHX,CAFuB,CAzBzB;AAgCC,MAAA,KAAK,EAAGrF,SAAS,CAChBC,UADgB,EAEhBC,qBAFgB,EAGhBC,mBAHgB,CAhClB;AAqCC,MAAA,IAAI,EAAGsC,cArCR;AAsCC,MAAA,YAAY,EAAGjE,QAtChB;AAuCC,MAAA,UAAU,EAAG,KAAK0C,UAvCnB;AAwCC,MAAA,4BAA4B,EAC3B,KAAKM,oCAzCP;AA2CC,MAAA,KAAK,EAAGoC,KA3CT;AA4CC,MAAA,mBAAmB,EAAGC,MA5CvB;AA6CC,MAAA,kBAAkB,EAAG,CAAEC,UAAF,IAAgB,KAAKpC,eA7C3C;AA8CC,MAAA,mBAAmB,EAAG,KAAKN;AA9C5B,OAND,EAsDG,KAAKK,4BAAL,MACD,cAAC,IAAD;AACC,MAAA,KAAK,EAAG;AACPyC,QAAAA,gBAAgB,EACfA,gBAAgB,GAChB1E,MAAM,CAAC8F,aAAP,CAAqBnB;AAHf;AADT,OAOC,cAAC,iBAAD;AACC,MAAA,YAAY,EAAG,KAAKtD,KAAL,CAAW8B,YAD3B;AAEC,MAAA,cAAc,EAAG,KAAK9B,KAAL,CAAWE,cAF7B;AAGC,MAAA,aAAa;AAHd,MAPD,CAvDF,CADD;AAwEA;;AAEDG,EAAAA,UAAU,QAAuB;AAAA,QAArB;AAAEqE,MAAAA,IAAI,EAAEC;AAAR,KAAqB;AAChC,UAAM;AACLnB,MAAAA,iBADK;AAELpD,MAAAA,YAFK;AAGLwE,MAAAA,UAHK;AAILzE,MAAAA,aAJK;AAKL2B,MAAAA,YALK;AAMLzC,MAAAA,qBANK;AAOLuC,MAAAA,cAPK;AAQL7B,MAAAA,WARK;AASLmD,MAAAA,cAAc,GAAGvE,MAAM,CAACwE,YAAP,CAAoBC,SAThC;AAULC,MAAAA,gBAAgB,GAAG1E,MAAM,CAACwE,YAAP,CAAoBG,UAVlC;AAWLvB,MAAAA;AAXK,QAYF,KAAK/B,KAZT;AAaA,UAAM;AAAEiB,MAAAA;AAAF,QAAiB,KAAKD,KAA5B;AACA,WACC,cAAC,aAAD;AACC,MAAA,qBAAqB,EAAG3B,qBADzB;AAEC,MAAA,YAAY,EAAGyC,YAFhB;AAGC,MAAA,QAAQ,EAAG6C,QAHZ;AAIC,MAAA,WAAW,EAAG5E,WAJf;AAKC,MAAA,iBAAiB,EAAGyD,iBALrB;AAMC,MAAA,YAAY,EAAGpD,YANhB;AAOC,MAAA,UAAU,EAAGwE,UAPd;AAQC,MAAA,cAAc,EAAG1B,cARlB;AASC,MAAA,gBAAgB,EAAGG,gBATpB;AAUC,MAAA,aAAa,EAAGlD,aAVjB;AAWC,MAAA,4BAA4B,EAC3B,KAAKS,4BAZP;AAcC,MAAA,UAAU,EAAGK,UAdd;AAeC,MAAA,cAAc,EAAGc,cAflB;AAgBC,MAAA,KAAK,EAAGH;AAhBT,MADD;AAoBA;;AAEDrB,EAAAA,qBAAqB,GAAG;AACvB,UAAMsE,cAAc,GAAGxG,WAAW,CAAE,gBAAF,CAAlC;AACA,UAAM;AACL4E,MAAAA,UADK;AAEL6B,MAAAA,UAAU,GAAG,IAFR;AAGL7E,MAAAA;AAHK,QAIF,KAAKD,KAJT;;AAMA,QAAK,CAAEiD,UAAF,IAAgB6B,UAArB,EAAkC;AACjC,aACC,8BACC,cAAC,wBAAD;AACC,QAAA,kBAAkB,EAAGpG,EAAE,CAAE,qBAAF,CADxB;AAEC,QAAA,MAAM,EAAGA,EAAE,CAAE,qBAAF,CAFZ;AAGC,QAAA,OAAO,EAAG,MAAM;AACf,eAAKgC,mBAAL,CAA0BmE,cAA1B;AACA;AALF,SAOC,cAAC,IAAD;AAAM,QAAA,KAAK,EAAGlG,MAAM,CAACoG;AAArB,QAPD,CADD,CADD;AAaA,KAdD,MAcO,IAAK9E,oBAAL,EAA4B;AAClC,aAAOA,oBAAoB,EAA3B;AACA;;AACD,WAAO,IAAP;AACA;;AA5TuC;AA+TzC,eAAe9B,OAAO,CAAE,CACvBD,UAAU,CACT,CAAE8G,MAAF,YAAgE;AAAA,MAAtD;AAAElD,IAAAA,YAAF;AAAgBmD,IAAAA,WAAhB;AAA6BC,IAAAA;AAA7B,GAAsD;AAC/D,QAAM;AACLC,IAAAA,aADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,wBAHK;AAIL1D,IAAAA,4BAJK;AAKL2D,IAAAA;AALK,MAMFN,MAAM,CAAEjG,gBAAF,CANV;AAQA,QAAMM,qBAAqB,GAAG4F,WAAW,KAAK,YAA9C;AAEA,QAAMM,qBAAqB,GAAGF,wBAAwB,EAAtD;AAEA,MAAIzD,cAAc,GAAGwD,aAAa,CAAEtD,YAAF,CAAlC,CAb+D,CAc/D;;AACA,MAAKoD,iBAAL,EAAyB;AACxBtD,IAAAA,cAAc,GAAGsD,iBAAiB,CAAEtD,cAAF,CAAlC;AACA;;AAED,QAAM;AAAEM,IAAAA;AAAF,MAAeoD,WAAW,EAAhC;AACA,QAAMrC,UAAU,GAAGqC,WAAW,GAAGE,QAAjC;AAEA,QAAMpE,UAAU,GAAG+D,aAAa,EAAhC;AACA,QAAMM,kBAAkB,GAAG,CAAC,CAAErE,UAA9B;AAEA,QAAMmC,wBAAwB,GAC7B,CAAC,CAAEgC,qBAAH,IAA4BE,kBAD7B;AAEA,SAAO;AACN7D,IAAAA,cADM;AAENR,IAAAA,UAFM;AAGNO,IAAAA,4BAA4B,EAC3B9D,QAAQ,CAACqG,EAAT,KAAgB,KAAhB,IAAyBvC,4BAA4B,EAJhD;AAKNsB,IAAAA,UALM;AAMN7D,IAAAA,UAAU,EAAE0C,YAAY,KAAK4D,SANvB;AAONnC,IAAAA,wBAPM;AAQNlE,IAAAA,qBARM;AASN6C,IAAAA;AATM,GAAP;AAWA,CAvCQ,CADa,EA0CvBjE,YAAY,CAAI0H,QAAF,IAAgB;AAC7B,QAAM;AAAExE,IAAAA,WAAF;AAAeyE,IAAAA,YAAf;AAA6B9C,IAAAA;AAA7B,MAAoD6C,QAAQ,CACjE5G,gBADiE,CAAlE;AAIA,SAAO;AACN+D,IAAAA,kBADM;AAEN3B,IAAAA,WAFM;AAGNyE,IAAAA;AAHM,GAAP;AAKA,CAVW,CA1CW,EAqDvBxH,wBArDuB,CAAF,CAAP,CAsDVuB,SAtDU,CAAf;;AAwDA,MAAMkG,kBAAN,SAAiC9H,SAAjC,CAA2C;AAC1C0E,EAAAA,MAAM,GAAG;AACR,UAAM;AACLqD,MAAAA,wBADK;AAELhE,MAAAA,YAFK;AAGL5B,MAAAA,cAHK;AAILD,MAAAA;AAJK,QAKF,KAAKD,KALT;;AAOA,QAAKC,oBAAL,EAA4B;AAC3B,aAAO,IAAP;AACA;;AAED,WACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGtB,MAAM,CAACoH;AAArB,OACC,cAAC,mBAAD;AACC,MAAA,KAAK,EACJ7F,cAAc,GACX1B,eAAe,CAACwH,UAAhB,CAA2BC,IADhB,GAEXP;AAJL,OAOC,cAAC,iBAAD;AACC,MAAA,YAAY,EAAG5D,YADhB;AAEC,MAAA,cAAc,EAAG5B,cAFlB;AAGC,MAAA,aAAa,EAAG4F;AAHjB,MAPD,CADD,CADD;AAiBA;;AA9ByC;;AAiC3C,MAAMI,yBAAyB,GAAG/H,OAAO,CAAE,CAC1CD,UAAU,CAAE,CAAE8G,MAAF,YAA6C;AAAA,MAAnC;AAAElD,IAAAA,YAAF;AAAgBmD,IAAAA;AAAhB,GAAmC;AACxD,QAAM;AACLG,IAAAA,aADK;AAELe,IAAAA,sBAFK;AAGLxE,IAAAA;AAHK,MAIFqD,MAAM,CAAEjG,gBAAF,CAJV;AAMA,QAAMM,qBAAqB,GAAG4F,WAAW,KAAK,YAA9C;AACA,QAAMrD,cAAc,GAAGwD,aAAa,CAAEtD,YAAF,CAApC;AACA,QAAMsE,cAAc,GAAGD,sBAAsB,EAA7C;AACA,QAAME,4BAA4B,GAAG1E,4BAA4B,EAAjE;AACA,QAAMmE,wBAAwB,GAC7B,CAAEzG,qBAAF,IACAgH,4BADA,IAEAD,cAAc,CAACtE,YAAf,KAAgCA,YAFhC,MAGA;AACEF,EAAAA,cAAc,CAACC,MAAf,KAA0B,CAA1B,IACD;AACA,GAAED,cAAc,CAAEwE,cAAc,CAACE,KAAjB,CANjB,CADD;AASA,SAAO;AACNR,IAAAA;AADM,GAAP;AAGA,CAvBS,CADgC,CAAF,CAAP,CAyB7BD,kBAzB6B,CAAlC","sourcesContent":["/**\n * External dependencies\n */\nimport { identity } from 'lodash';\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tReadableContentView,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockListContext = createContext();\n\nexport const OnCaretVerticalPositionChange = createContext();\n\nconst stylesMemo = {};\nconst getStyles = (\n\tisRootList,\n\tisStackedHorizontally,\n\thorizontalAlignment\n) => {\n\tif ( isRootList ) {\n\t\treturn;\n\t}\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t\tstyles.overflowVisible,\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport class BlockList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.extraData = {\n\t\t\tparentWidth: this.props.parentWidth,\n\t\t\trenderFooterAppender: this.props.renderFooterAppender,\n\t\t\trenderAppender: this.props.renderAppender,\n\t\t\tonDeleteBlock: this.props.onDeleteBlock,\n\t\t\tcontentStyle: this.props.contentStyle,\n\t\t};\n\t\tthis.renderItem = this.renderItem.bind( this );\n\t\tthis.renderBlockListFooter = this.renderBlockListFooter.bind( this );\n\t\tthis.onCaretVerticalPositionChange = this.onCaretVerticalPositionChange.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.scrollViewInnerRef = this.scrollViewInnerRef.bind( this );\n\t\tthis.addBlockToEndOfPost = this.addBlockToEndOfPost.bind( this );\n\t\tthis.shouldFlatListPreventAutomaticScroll = this.shouldFlatListPreventAutomaticScroll.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.shouldShowInnerBlockAppender = this.shouldShowInnerBlockAppender.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.renderEmptyList = this.renderEmptyList.bind( this );\n\t\tthis.getExtraData = this.getExtraData.bind( this );\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth || 0,\n\t\t};\n\t}\n\n\taddBlockToEndOfPost( newBlock ) {\n\t\tthis.props.insertBlock( newBlock, this.props.blockCount );\n\t}\n\n\tonCaretVerticalPositionChange( targetId, caretY, previousCaretY ) {\n\t\tKeyboardAwareFlatList.handleCaretVerticalPositionChange(\n\t\t\tthis.scrollViewRef,\n\t\t\ttargetId,\n\t\t\tcaretY,\n\t\t\tpreviousCaretY\n\t\t);\n\t}\n\n\tscrollViewInnerRef( ref ) {\n\t\tthis.scrollViewRef = ref;\n\t}\n\n\tshouldFlatListPreventAutomaticScroll() {\n\t\treturn this.props.isBlockInsertionPointVisible;\n\t}\n\n\tshouldShowInnerBlockAppender() {\n\t\tconst { blockClientIds, renderAppender } = this.props;\n\t\treturn renderAppender && blockClientIds.length > 0;\n\t}\n\n\trenderEmptyList() {\n\t\treturn (\n\t\t\t<EmptyListComponentCompose\n\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\trenderFooterAppender={ this.props.renderFooterAppender }\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetExtraData() {\n\t\tconst {\n\t\t\tparentWidth,\n\t\t\trenderFooterAppender,\n\t\t\tonDeleteBlock,\n\t\t\tcontentStyle,\n\t\t\trenderAppender,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\tif (\n\t\t\tthis.extraData.parentWidth !== parentWidth ||\n\t\t\tthis.extraData.renderFooterAppender !== renderFooterAppender ||\n\t\t\tthis.extraData.onDeleteBlock !== onDeleteBlock ||\n\t\t\tthis.extraData.contentStyle !== contentStyle ||\n\t\t\tthis.extraData.renderAppender !== renderAppender ||\n\t\t\tthis.extraData.blockWidth !== blockWidth ||\n\t\t\tthis.extraData.gridProperties !== gridProperties\n\t\t) {\n\t\t\tthis.extraData = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t\tgridProperties,\n\t\t\t};\n\t\t}\n\t\treturn this.extraData;\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst { isRootList, maxWidth } = this.props;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tblockWidth: Math.min( layoutWidth, maxWidth ),\n\t\t\t} );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tthis.setState( { blockWidth: Math.min( layoutWidth, maxWidth ) } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isRootList } = this.props;\n\t\t// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks\n\t\tconst blockList = isRootList ? (\n\t\t\t<BlockListContext.Provider value={ this.scrollViewRef }>\n\t\t\t\t{ this.renderList() }\n\t\t\t</BlockListContext.Provider>\n\t\t) : (\n\t\t\t<BlockListContext.Consumer>\n\t\t\t\t{ ( ref ) =>\n\t\t\t\t\tthis.renderList( {\n\t\t\t\t\t\tparentScrollRef: ref,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</BlockListContext.Consumer>\n\t\t);\n\n\t\treturn (\n\t\t\t<OnCaretVerticalPositionChange.Provider\n\t\t\t\tvalue={ this.onCaretVerticalPositionChange }\n\t\t\t>\n\t\t\t\t{ blockList }\n\t\t\t</OnCaretVerticalPositionChange.Provider>\n\t\t);\n\t}\n\n\trenderList( extraProps = {} ) {\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tblockClientIds,\n\t\t\ttitle,\n\t\t\theader,\n\t\t\tisReadOnly,\n\t\t\tisRootList,\n\t\t\thorizontal,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tisFloatingToolbarVisible,\n\t\t\tisStackedHorizontally,\n\t\t\thorizontalAlignment,\n\t\t\tcontentResizeMode,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst { parentScrollRef } = extraProps;\n\n\t\tconst {\n\t\t\tblockToolbar,\n\t\t\tblockBorder,\n\t\t\theaderToolbar,\n\t\t\tfloatingToolbar,\n\t\t} = styles;\n\n\t\tconst containerStyle = {\n\t\t\tflex: isRootList ? 1 : 0,\n\t\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks\n\t\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t\t};\n\n\t\tconst isContentStretch = contentResizeMode === 'stretch';\n\t\tconst isMultiBlocks = blockClientIds.length > 1;\n\t\tconst { isWider } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ containerStyle }\n\t\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\ttestID=\"block-list-wrapper\"\n\t\t\t>\n\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\tautoScroll={ this.props.autoScroll }\n\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\tthis.scrollViewInnerRef( parentScrollRef || ref );\n\t\t\t\t\t} }\n\t\t\t\t\textraScrollHeight={\n\t\t\t\t\t\tblockToolbar.height + blockBorder.width\n\t\t\t\t\t}\n\t\t\t\t\tinputAccessoryViewHeight={\n\t\t\t\t\t\theaderToolbar.height +\n\t\t\t\t\t\t( isFloatingToolbarVisible\n\t\t\t\t\t\t\t? floatingToolbar.height\n\t\t\t\t\t\t\t: 0 )\n\t\t\t\t\t}\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tscrollViewStyle={ [\n\t\t\t\t\t\t{ flex: isRootList ? 1 : 0 },\n\t\t\t\t\t\t! isRootList && styles.overflowVisible,\n\t\t\t\t\t] }\n\t\t\t\t\textraData={ this.getExtraData() }\n\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\thorizontal && styles.horizontalContentContainer,\n\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t] }\n\t\t\t\t\tstyle={ getStyles(\n\t\t\t\t\t\tisRootList,\n\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t) }\n\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\trenderItem={ this.renderItem }\n\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\tthis.shouldFlatListPreventAutomaticScroll\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\tListEmptyComponent={ ! isReadOnly && this.renderEmptyList }\n\t\t\t\t\tListFooterComponent={ this.renderBlockListFooter }\n\t\t\t\t/>\n\t\t\t\t{ this.shouldShowInnerBlockAppender() && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\t\tmarginHorizontal -\n\t\t\t\t\t\t\t\tstyles.innerAppender.marginLeft,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem( { item: clientId } ) {\n\t\tconst {\n\t\t\tcontentResizeMode,\n\t\t\tcontentStyle,\n\t\t\tonAddBlock,\n\t\t\tonDeleteBlock,\n\t\t\trootClientId,\n\t\t\tisStackedHorizontally,\n\t\t\tblockClientIds,\n\t\t\tparentWidth,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={\n\t\t\t\t\tthis.shouldShowInnerBlockAppender\n\t\t\t\t}\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tgridProperties={ gridProperties }\n\t\t\t\titems={ blockClientIds }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockListFooter() {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\tconst {\n\t\t\tisReadOnly,\n\t\t\twithFooter = true,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( ! isReadOnly && withFooter ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\t\tthis.addBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( renderFooterAppender ) {\n\t\t\treturn renderFooterAppender();\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, orientation, filterInnerBlocks } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet blockClientIds = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockClientIds = filterInnerBlocks( blockClientIds );\n\t\t\t}\n\n\t\t\tconst { maxWidth } = getSettings();\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst blockCount = getBlockCount();\n\t\t\tconst hasRootInnerBlocks = !! blockCount;\n\n\t\t\tconst isFloatingToolbarVisible =\n\t\t\t\t!! selectedBlockClientId && hasRootInnerBlocks;\n\t\t\treturn {\n\t\t\t\tblockClientIds,\n\t\t\t\tblockCount,\n\t\t\t\tisBlockInsertionPointVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible,\n\t\t\t\tisStackedHorizontally,\n\t\t\t\tmaxWidth,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { insertBlock, replaceBlock, clearSelectedBlock } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\treturn {\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockList );\n\nclass EmptyListComponent extends Component {\n\trender() {\n\t\tconst {\n\t\t\tshouldShowInsertionPoint,\n\t\t\trootClientId,\n\t\t\trenderAppender,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( renderFooterAppender ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.defaultAppender }>\n\t\t\t\t<ReadableContentView\n\t\t\t\t\talign={\n\t\t\t\t\t\trenderAppender\n\t\t\t\t\t\t\t? WIDE_ALIGNMENTS.alignments.full\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t\t\t/>\n\t\t\t\t</ReadableContentView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst EmptyListComponentCompose = compose( [\n\twithSelect( ( select, { rootClientId, orientation } ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\tconst shouldShowInsertionPoint =\n\t\t\t! isStackedHorizontally &&\n\t\t\tblockInsertionPointIsVisible &&\n\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t// if list is empty, show the insertion point (via the default appender)\n\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t// or if the insertion point is right before the denoted block\n\t\t\t\t! blockClientIds[ insertionPoint.index ] );\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint,\n\t\t};\n\t} ),\n] )( EmptyListComponent );\n"]}
@@ -16,9 +16,10 @@ import { withPreferredColorScheme } from '@wordpress/compose';
16
16
 
17
17
  import styles from './style.scss';
18
18
 
19
- const BlockInsertionPoint = ({
20
- getStylesFromColorScheme
21
- }) => {
19
+ const BlockInsertionPoint = _ref => {
20
+ let {
21
+ getStylesFromColorScheme
22
+ } = _ref;
22
23
  const lineStyle = getStylesFromColorScheme(styles.lineStyleAddHere, styles.lineStyleAddHereDark);
23
24
  const labelStyle = getStylesFromColorScheme(styles.labelStyleAddHere, styles.labelStyleAddHereDark);
24
25
  return createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/insertion-point.native.js"],"names":["Text","View","__","withPreferredColorScheme","styles","BlockInsertionPoint","getStylesFromColorScheme","lineStyle","lineStyleAddHere","lineStyleAddHereDark","labelStyle","labelStyleAddHere","labelStyleAddHereDark","containerStyleAddHere"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,MAAMC,mBAAmB,GAAG,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAAoC;AAC/D,QAAMC,SAAS,GAAGD,wBAAwB,CACzCF,MAAM,CAACI,gBADkC,EAEzCJ,MAAM,CAACK,oBAFkC,CAA1C;AAIA,QAAMC,UAAU,GAAGJ,wBAAwB,CAC1CF,MAAM,CAACO,iBADmC,EAE1CP,MAAM,CAACQ,qBAFmC,CAA3C;AAKA,SACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGR,MAAM,CAACS;AAArB,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGN;AAAd,IADD,EAEC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGG;AAAd,KAA6BR,EAAE,CAAE,gBAAF,CAA/B,CAFD,EAGC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGK;AAAd,IAHD,CADD;AAOA,CAjBD;;AAmBA,eAAeJ,wBAAwB,CAAEE,mBAAF,CAAvC","sourcesContent":["/**\n * External dependencies\n */\nimport { Text, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BlockInsertionPoint = ( { getStylesFromColorScheme } ) => {\n\tconst lineStyle = getStylesFromColorScheme(\n\t\tstyles.lineStyleAddHere,\n\t\tstyles.lineStyleAddHereDark\n\t);\n\tconst labelStyle = getStylesFromColorScheme(\n\t\tstyles.labelStyleAddHere,\n\t\tstyles.labelStyleAddHereDark\n\t);\n\n\treturn (\n\t\t<View style={ styles.containerStyleAddHere }>\n\t\t\t<View style={ lineStyle }></View>\n\t\t\t<Text style={ labelStyle }>{ __( 'ADD BLOCK HERE' ) }</Text>\n\t\t\t<View style={ lineStyle }></View>\n\t\t</View>\n\t);\n};\n\nexport default withPreferredColorScheme( BlockInsertionPoint );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/insertion-point.native.js"],"names":["Text","View","__","withPreferredColorScheme","styles","BlockInsertionPoint","getStylesFromColorScheme","lineStyle","lineStyleAddHere","lineStyleAddHereDark","labelStyle","labelStyleAddHere","labelStyleAddHereDark","containerStyleAddHere"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,MAAMC,mBAAmB,GAAG,QAAoC;AAAA,MAAlC;AAAEC,IAAAA;AAAF,GAAkC;AAC/D,QAAMC,SAAS,GAAGD,wBAAwB,CACzCF,MAAM,CAACI,gBADkC,EAEzCJ,MAAM,CAACK,oBAFkC,CAA1C;AAIA,QAAMC,UAAU,GAAGJ,wBAAwB,CAC1CF,MAAM,CAACO,iBADmC,EAE1CP,MAAM,CAACQ,qBAFmC,CAA3C;AAKA,SACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGR,MAAM,CAACS;AAArB,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGN;AAAd,IADD,EAEC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGG;AAAd,KAA6BR,EAAE,CAAE,gBAAF,CAA/B,CAFD,EAGC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGK;AAAd,IAHD,CADD;AAOA,CAjBD;;AAmBA,eAAeJ,wBAAwB,CAAEE,mBAAF,CAAvC","sourcesContent":["/**\n * External dependencies\n */\nimport { Text, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BlockInsertionPoint = ( { getStylesFromColorScheme } ) => {\n\tconst lineStyle = getStylesFromColorScheme(\n\t\tstyles.lineStyleAddHere,\n\t\tstyles.lineStyleAddHereDark\n\t);\n\tconst labelStyle = getStylesFromColorScheme(\n\t\tstyles.labelStyleAddHere,\n\t\tstyles.labelStyleAddHereDark\n\t);\n\n\treturn (\n\t\t<View style={ styles.containerStyleAddHere }>\n\t\t\t<View style={ lineStyle }></View>\n\t\t\t<Text style={ labelStyle }>{ __( 'ADD BLOCK HERE' ) }</Text>\n\t\t\t<View style={ lineStyle }></View>\n\t\t</View>\n\t);\n};\n\nexport default withPreferredColorScheme( BlockInsertionPoint );\n"]}
@@ -26,10 +26,11 @@ export const LayoutProvider = Layout.Provider;
26
26
  export function useLayout() {
27
27
  return useContext(Layout);
28
28
  }
29
- export function LayoutStyle({
30
- layout = {},
31
- ...props
32
- }) {
29
+ export function LayoutStyle(_ref) {
30
+ let {
31
+ layout = {},
32
+ ...props
33
+ } = _ref;
33
34
  const layoutType = getLayoutType(layout.type);
34
35
 
35
36
  if (layoutType) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/layout.js"],"names":["createContext","useContext","getLayoutType","defaultLayout","type","Layout","LayoutProvider","Provider","useLayout","LayoutStyle","layout","props","layoutType"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,oBAA1C;AAEA;AACA;AACA;;AACA,SAASC,aAAT,QAA8B,eAA9B;AAEA,OAAO,MAAMC,aAAa,GAAG;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAtB;AAEP,MAAMC,MAAM,GAAGL,aAAa,CAAEG,aAAF,CAA5B;AAEA;AACA;AACA;;AACA,OAAO,MAAMG,cAAc,GAAGD,MAAM,CAACE,QAA9B;AAEP;AACA;AACA;;AACA,OAAO,SAASC,SAAT,GAAqB;AAC3B,SAAOP,UAAU,CAAEI,MAAF,CAAjB;AACA;AAED,OAAO,SAASI,WAAT,CAAsB;AAAEC,EAAAA,MAAM,GAAG,EAAX;AAAe,KAAGC;AAAlB,CAAtB,EAAkD;AACxD,QAAMC,UAAU,GAAGV,aAAa,CAAEQ,MAAM,CAACN,IAAT,CAAhC;;AAEA,MAAKQ,UAAL,EAAkB;AACjB,WAAO,cAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,MAAM,EAAGF;AAA1B,OAAwCC,KAAxC,EAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getLayoutType } from '../../layouts';\n\nexport const defaultLayout = { type: 'default' };\n\nconst Layout = createContext( defaultLayout );\n\n/**\n * Allows to define the layout.\n */\nexport const LayoutProvider = Layout.Provider;\n\n/**\n * React hook used to retrieve the layout config.\n */\nexport function useLayout() {\n\treturn useContext( Layout );\n}\n\nexport function LayoutStyle( { layout = {}, ...props } ) {\n\tconst layoutType = getLayoutType( layout.type );\n\n\tif ( layoutType ) {\n\t\treturn <layoutType.save layout={ layout } { ...props } />;\n\t}\n\n\treturn null;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/layout.js"],"names":["createContext","useContext","getLayoutType","defaultLayout","type","Layout","LayoutProvider","Provider","useLayout","LayoutStyle","layout","props","layoutType"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,oBAA1C;AAEA;AACA;AACA;;AACA,SAASC,aAAT,QAA8B,eAA9B;AAEA,OAAO,MAAMC,aAAa,GAAG;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAtB;AAEP,MAAMC,MAAM,GAAGL,aAAa,CAAEG,aAAF,CAA5B;AAEA;AACA;AACA;;AACA,OAAO,MAAMG,cAAc,GAAGD,MAAM,CAACE,QAA9B;AAEP;AACA;AACA;;AACA,OAAO,SAASC,SAAT,GAAqB;AAC3B,SAAOP,UAAU,CAAEI,MAAF,CAAjB;AACA;AAED,OAAO,SAASI,WAAT,OAAkD;AAAA,MAA5B;AAAEC,IAAAA,MAAM,GAAG,EAAX;AAAe,OAAGC;AAAlB,GAA4B;AACxD,QAAMC,UAAU,GAAGV,aAAa,CAAEQ,MAAM,CAACN,IAAT,CAAhC;;AAEA,MAAKQ,UAAL,EAAkB;AACjB,WAAO,cAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,MAAM,EAAGF;AAA1B,OAAwCC,KAAxC,EAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getLayoutType } from '../../layouts';\n\nexport const defaultLayout = { type: 'default' };\n\nconst Layout = createContext( defaultLayout );\n\n/**\n * Allows to define the layout.\n */\nexport const LayoutProvider = Layout.Provider;\n\n/**\n * React hook used to retrieve the layout config.\n */\nexport function useLayout() {\n\treturn useContext( Layout );\n}\n\nexport function LayoutStyle( { layout = {}, ...props } ) {\n\tconst layoutType = getLayoutType( layout.type );\n\n\tif ( layoutType ) {\n\t\treturn <layoutType.save layout={ layout } { ...props } />;\n\t}\n\n\treturn null;\n}\n"]}
@@ -7,16 +7,19 @@ import { createElement } from "@wordpress/element";
7
7
  import { SVG, Path } from '@wordpress/components';
8
8
  import { isRTL } from '@wordpress/i18n';
9
9
 
10
- const Subdirectory = ({ ...extraProps
11
- }) => createElement(SVG, _extends({
12
- xmlns: "http://www.w3.org/2000/svg",
13
- width: 14,
14
- height: 14,
15
- viewBox: "0 0 20 20"
16
- }, extraProps), createElement(Path, {
17
- d: "M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z",
18
- transform: isRTL() ? 'scale(-1,1) translate(-20,0)' : undefined
19
- }));
10
+ const Subdirectory = _ref => {
11
+ let { ...extraProps
12
+ } = _ref;
13
+ return createElement(SVG, _extends({
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ width: 14,
16
+ height: 14,
17
+ viewBox: "0 0 20 20"
18
+ }, extraProps), createElement(Path, {
19
+ d: "M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z",
20
+ transform: isRTL() ? 'scale(-1,1) translate(-20,0)' : undefined
21
+ }));
22
+ };
20
23
 
21
24
  export default Subdirectory;
22
25
  //# sourceMappingURL=subdirectory-icon.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/subdirectory-icon.js"],"names":["SVG","Path","isRTL","Subdirectory","extraProps","undefined"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,IAAd,QAA0B,uBAA1B;AACA,SAASC,KAAT,QAAsB,iBAAtB;;AAEA,MAAMC,YAAY,GAAG,CAAE,EAAE,GAAGC;AAAL,CAAF,KACpB,cAAC,GAAD;AACC,EAAA,KAAK,EAAC,4BADP;AAEC,EAAA,KAAK,EAAG,EAFT;AAGC,EAAA,MAAM,EAAG,EAHV;AAIC,EAAA,OAAO,EAAC;AAJT,GAKMA,UALN,GAOC,cAAC,IAAD;AACC,EAAA,CAAC,EAAC,mEADH;AAEC,EAAA,SAAS,EAAGF,KAAK,KAAK,8BAAL,GAAsCG;AAFxD,EAPD,CADD;;AAcA,eAAeF,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\nconst Subdirectory = ( { ...extraProps } ) => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth={ 14 }\n\t\theight={ 14 }\n\t\tviewBox=\"0 0 20 20\"\n\t\t{ ...extraProps }\n\t>\n\t\t<Path\n\t\t\td=\"M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z\"\n\t\t\ttransform={ isRTL() ? 'scale(-1,1) translate(-20,0)' : undefined }\n\t\t/>\n\t</SVG>\n);\nexport default Subdirectory;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/subdirectory-icon.js"],"names":["SVG","Path","isRTL","Subdirectory","extraProps","undefined"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,IAAd,QAA0B,uBAA1B;AACA,SAASC,KAAT,QAAsB,iBAAtB;;AAEA,MAAMC,YAAY,GAAG;AAAA,MAAE,EAAE,GAAGC;AAAL,GAAF;AAAA,SACpB,cAAC,GAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,KAAK,EAAG,EAFT;AAGC,IAAA,MAAM,EAAG,EAHV;AAIC,IAAA,OAAO,EAAC;AAJT,KAKMA,UALN,GAOC,cAAC,IAAD;AACC,IAAA,CAAC,EAAC,mEADH;AAEC,IAAA,SAAS,EAAGF,KAAK,KAAK,8BAAL,GAAsCG;AAFxD,IAPD,CADoB;AAAA,CAArB;;AAcA,eAAeF,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\nconst Subdirectory = ( { ...extraProps } ) => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth={ 14 }\n\t\theight={ 14 }\n\t\tviewBox=\"0 0 20 20\"\n\t\t{ ...extraProps }\n\t>\n\t\t<Path\n\t\t\td=\"M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z\"\n\t\t\ttransform={ isRTL() ? 'scale(-1,1) translate(-20,0)' : undefined }\n\t\t/>\n\t</SVG>\n);\nexport default Subdirectory;\n"]}
@@ -56,9 +56,11 @@ const BLOCK_ANIMATION_THRESHOLD = 200;
56
56
  * @return {Object} Props to pass to the element to mark as a block.
57
57
  */
58
58
 
59
- export function useBlockProps(props = {}, {
60
- __unstableIsHtml
61
- } = {}) {
59
+ export function useBlockProps() {
60
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
61
+ let {
62
+ __unstableIsHtml
63
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
62
64
  const {
63
65
  clientId,
64
66
  className,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["classnames","useContext","__","sprintf","__unstableGetBlockProps","getBlockProps","getBlockType","useMergeRefs","useSelect","warning","useMovingAnimation","BlockListBlockContext","useFocusFirstElement","useIsHovered","useBlockEditContext","useBlockClassNames","useBlockDefaultClassName","useBlockCustomClassName","useBlockMovingModeClassNames","useFocusHandler","useEventHandlers","useNavModeExit","useScrollIntoView","useBlockRefProvider","useMultiSelection","useIntersectionObserver","store","blockEditorStore","BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockRootClientId","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","isSelected","isPartOfMultiSelection","blockName","rootClientId","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SACCC,uBAAuB,IAAIC,aAD5B,EAECC,YAFD,QAGO,mBAHP;AAIA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,OAAOC,OAAP,MAAoB,oBAApB;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,4BAA/B;AACA,SAASC,qBAAT,QAAsC,UAAtC;AACA,SAASC,oBAAT,QAAqC,2BAArC;AACA,SAASC,YAAT,QAA6B,kBAA7B;AACA,SAASC,mBAAT,QAAoC,0BAApC;AACA,SAASC,kBAAT,QAAmC,yBAAnC;AACA,SAASC,wBAAT,QAAyC,gCAAzC;AACA,SAASC,uBAAT,QAAwC,+BAAxC;AACA,SAASC,4BAAT,QAA6C,qCAA7C;AACA,SAASC,eAAT,QAAgC,qBAAhC;AACA,SAASC,gBAAT,QAAiC,qCAAjC;AACA,SAASC,cAAT,QAA+B,qBAA/B;AACA,SAASC,iBAAT,QAAkC,wBAAlC;AACA,SAASC,mBAAT,QAAoC,kBAApC;AACA,SAASC,iBAAT,QAAkC,uBAAlC;AACA,SAASC,uBAAT,QAAwC,6BAAxC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,gBAA1C;AAEA;AACA;AACA;AACA;;AACA,MAAMC,yBAAyB,GAAG,GAAlC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,aAAT,CAAwBC,KAAK,GAAG,EAAhC,EAAoC;AAAEC,EAAAA;AAAF,IAAuB,EAA3D,EAAgE;AACtE,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,SAAZ;AAAuBC,IAAAA,YAAY,GAAG,EAAtC;AAA0CC,IAAAA;AAA1C,MAAwDlC,UAAU,CACvEU,qBADuE,CAAxE;AAGA,QAAM;AACLyB,IAAAA,KADK;AAELC,IAAAA,IAFK;AAGLC,IAAAA,IAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA,UALK;AAMLC,IAAAA,iBANK;AAOLC,IAAAA,eAPK;AAQLC,IAAAA;AARK,MASFnC,SAAS,CACVoC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,oBADK;AAELC,MAAAA,aAFK;AAGLC,MAAAA,YAHK;AAILC,MAAAA,YAJK;AAKLC,MAAAA,QALK;AAMLC,MAAAA,mBANK;AAOLC,MAAAA,eAPK;AAQLC,MAAAA,oBARK;AASLC,MAAAA,uBATK;AAULC,MAAAA;AAVK,QAWFV,MAAM,CAAEjB,gBAAF,CAXV;AAYA,UAAM4B,UAAU,GAAGJ,eAAe,CAAEnB,QAAF,CAAlC;AACA,UAAMwB,sBAAsB,GAC3BJ,oBAAoB,CAAEpB,QAAF,CAApB,IACAqB,uBAAuB,CAAErB,QAAF,CAFxB;AAGA,UAAMyB,SAAS,GAAGT,YAAY,CAAEhB,QAAF,CAA9B;AACA,UAAM0B,YAAY,GAAGb,oBAAoB,CAAEb,QAAF,CAAzC;AACA,UAAM2B,SAAS,GAAGrD,YAAY,CAAEmD,SAAF,CAA9B;AAEA,WAAO;AACNrB,MAAAA,KAAK,EAAEU,aAAa,CAAEd,QAAF,EAAY0B,YAAZ,CADd;AAENrB,MAAAA,IAAI,EAAEU,YAAY,CAAEf,QAAF,CAFZ;AAGNM,MAAAA,IAAI,EAAEmB,SAHA;AAINlB,MAAAA,eAAe,EAAE,CAAAoB,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEC,UAAX,KAAyB,CAJpC;AAKNpB,MAAAA,UAAU,EAAEmB,SAAF,aAAEA,SAAF,uBAAEA,SAAS,CAAEE,KALjB;AAMNpB,MAAAA,iBAAiB,EAAEc,UAAU,IAAIC,sBAN3B;AAONd,MAAAA,eAAe,EACda,UAAU,IAAID,yBAAyB,CAAEtB,QAAF,CARlC;AASNW,MAAAA,eAAe,EACd,CAAEM,QAAQ,EAAV,IACAC,mBAAmB,MAAMtB;AAXpB,KAAP;AAaA,GAnCW,EAoCZ,CAAEI,QAAF,CApCY,CATb,CAJsE,CAoDtE;;AACA,QAAM8B,UAAU,GAAG3D,OAAO,CAAED,EAAE,CAAE,WAAF,CAAJ,EAAqBsC,UAArB,CAA1B;AACA,QAAMuB,UAAU,GAAG1B,IAAI,KAAK,MAAT,IAAmB,CAAEN,gBAArB,GAAwC,SAAxC,GAAoD,EAAvE;AACA,QAAMiC,UAAU,GAAGzD,YAAY,CAAE,CAChCuB,KAAK,CAACmC,GAD0B,EAEhCrD,oBAAoB,CAAEoB,QAAF,CAFY,EAGhC;AACAV,EAAAA,iBAAiB,CAAEU,QAAF,CAJe,EAKhCT,mBAAmB,CAAES,QAAF,CALa,EAMhCb,eAAe,CAAEa,QAAF,CANiB,EAOhCR,iBAAiB,CAAEQ,QAAF,CAPe,EAQhCZ,gBAAgB,CAAEY,QAAF,CARgB,EAShCX,cAAc,CAAEW,QAAF,CATkB,EAUhCnB,YAAY,EAVoB,EAWhCY,uBAAuB,EAXS,EAYhCf,kBAAkB,CAAE;AACnB6C,IAAAA,UAAU,EAAEd,iBADO;AAEnBC,IAAAA,eAFmB;AAGnBC,IAAAA,eAHmB;AAInBuB,IAAAA,wBAAwB,EAAE9B;AAJP,GAAF,CAZc,CAAF,CAA/B;AAoBA,QAAM+B,gBAAgB,GAAGrD,mBAAmB,EAA5C,CA3EsE,CA4EtE;;AACA,MAAKyB,eAAe,GAAG,CAAlB,IAAuBP,QAAQ,KAAKmC,gBAAgB,CAACnC,QAA1D,EAAqE;AACpE,6FAAAvB,OAAO,CACL,eAAe6B,IAAM,uFADhB,CAAP;AAGA;;AAED,SAAO,EACN,GAAGJ,YADG;AAEN,OAAGJ,KAFG;AAGNmC,IAAAA,GAAG,EAAED,UAHC;AAINI,IAAAA,EAAE,EAAG,SAASpC,QAAU,GAAG+B,UAAY,EAJjC;AAKNM,IAAAA,QAAQ,EAAE,CALJ;AAMNC,IAAAA,IAAI,EAAE,UANA;AAON,kBAAcR,UAPR;AAQN,kBAAc9B,QARR;AASN,iBAAaM,IATP;AAUN,kBAAcE,UAVR;AAWNP,IAAAA,SAAS,EAAEjC,UAAU,EACpB;AACAA,IAAAA,UAAU,CAAE,gCAAF,EAAoC;AAC7C,kBAAY,CAAEmC;AAD+B,KAApC,CAFU,EAKpBF,SALoB,EAMpBH,KAAK,CAACG,SANc,EAOpBC,YAAY,CAACD,SAPO,EAQpBlB,kBAAkB,CAAEiB,QAAF,CARE,EASpBhB,wBAAwB,CAAEgB,QAAF,CATJ,EAUpBf,uBAAuB,CAAEe,QAAF,CAVH,EAWpBd,4BAA4B,CAAEc,QAAF,CAXR,CAXf;AAwBNuC,IAAAA,KAAK,EAAE,EAAE,GAAGrC,YAAY,CAACqC,KAAlB;AAAyB,SAAGzC,KAAK,CAACyC;AAAlC;AAxBD,GAAP;AA0BA;AAED;AACA;AACA;AACA;AACA;;AACA1C,aAAa,CAAC2C,IAAd,GAAqBnE,aAArB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId, rootClientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["classnames","useContext","__","sprintf","__unstableGetBlockProps","getBlockProps","getBlockType","useMergeRefs","useSelect","warning","useMovingAnimation","BlockListBlockContext","useFocusFirstElement","useIsHovered","useBlockEditContext","useBlockClassNames","useBlockDefaultClassName","useBlockCustomClassName","useBlockMovingModeClassNames","useFocusHandler","useEventHandlers","useNavModeExit","useScrollIntoView","useBlockRefProvider","useMultiSelection","useIntersectionObserver","store","blockEditorStore","BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockRootClientId","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","isSelected","isPartOfMultiSelection","blockName","rootClientId","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId, rootClientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
@@ -2,7 +2,8 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __unstableGetBlockProps as getBlockProps } from '@wordpress/blocks';
5
- export function useBlockProps(props = {}) {
5
+ export function useBlockProps() {
6
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
7
  return { ...props,
7
8
  style: { ...{
8
9
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.native.js"],"names":["__unstableGetBlockProps","getBlockProps","useBlockProps","props","style","flex","save"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,uBAAuB,IAAIC,aAApC,QAAyD,mBAAzD;AAEA,OAAO,SAASC,aAAT,CAAwBC,KAAK,GAAG,EAAhC,EAAqC;AAC3C,SAAO,EAAE,GAAGA,KAAL;AAAYC,IAAAA,KAAK,EAAE,EAAE,GAAG;AAAEC,QAAAA,IAAI,EAAE;AAAR,OAAL;AAAkB,SAAGF,KAAK,CAACC;AAA3B;AAAnB,GAAP;AACA;AAEDF,aAAa,CAACI,IAAd,GAAqBL,aAArB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableGetBlockProps as getBlockProps } from '@wordpress/blocks';\n\nexport function useBlockProps( props = {} ) {\n\treturn { ...props, style: { ...{ flex: 1 }, ...props.style } };\n}\n\nuseBlockProps.save = getBlockProps;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.native.js"],"names":["__unstableGetBlockProps","getBlockProps","useBlockProps","props","style","flex","save"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,uBAAuB,IAAIC,aAApC,QAAyD,mBAAzD;AAEA,OAAO,SAASC,aAAT,GAAqC;AAAA,MAAbC,KAAa,uEAAL,EAAK;AAC3C,SAAO,EAAE,GAAGA,KAAL;AAAYC,IAAAA,KAAK,EAAE,EAAE,GAAG;AAAEC,QAAAA,IAAI,EAAE;AAAR,OAAL;AAAkB,SAAGF,KAAK,CAACC;AAA3B;AAAnB,GAAP;AACA;AAEDF,aAAa,CAACI,IAAd,GAAqBL,aAArB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableGetBlockProps as getBlockProps } from '@wordpress/blocks';\n\nexport function useBlockProps( props = {} ) {\n\treturn { ...props, style: { ...{ flex: 1 }, ...props.style } };\n}\n\nuseBlockProps.save = getBlockProps;\n"]}
@@ -50,9 +50,10 @@ export function useMultiSelection(clientId) {
50
50
  let anchorElement;
51
51
  let rafId;
52
52
 
53
- function onSelectionChange({
54
- isSelectionEnd
55
- }) {
53
+ function onSelectionChange(_ref) {
54
+ let {
55
+ isSelectionEnd
56
+ } = _ref;
56
57
  const selection = defaultView.getSelection(); // If no selection is found, end multi selection and enable all rich
57
58
  // text areas.
58
59
 
@@ -107,9 +108,11 @@ export function useMultiSelection(clientId) {
107
108
  });
108
109
  }
109
110
 
110
- function onMouseLeave({
111
- buttons
112
- }) {
111
+ function onMouseLeave(_ref2) {
112
+ let {
113
+ buttons
114
+ } = _ref2;
115
+
113
116
  // The primary button must be pressed to initiate selection.
114
117
  // See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
115
118
  if (buttons !== 1) {
@@ -147,14 +150,27 @@ export function useMultiSelection(clientId) {
147
150
  }
148
151
 
149
152
  if (event.shiftKey) {
150
- const blockSelectionStart = getBlockSelectionStart(); // Handle the case where we select a single block by
151
- // holding the `shiftKey` and don't mark this action
152
- // as multiselection.
153
-
154
- if (blockSelectionStart && blockSelectionStart !== clientId) {
155
- toggleRichText(node, false);
156
- multiSelect(blockSelectionStart, clientId);
157
- event.preventDefault();
153
+ const blockSelectionStart = getBlockSelectionStart(); // By checking `blockSelectionStart` to be set, we handle the
154
+ // case where we select a single block. We also have to check
155
+ // the selectionEnd (clientId) not to be included in the
156
+ // `blockSelectionStart`'s parents because the click event is
157
+ // propagated.
158
+
159
+ const startParents = getBlockParents(blockSelectionStart);
160
+
161
+ if (blockSelectionStart && blockSelectionStart !== clientId && !(startParents !== null && startParents !== void 0 && startParents.includes(clientId))) {
162
+ const startPath = [...startParents, blockSelectionStart];
163
+ const endPath = [...getBlockParents(clientId), clientId];
164
+ const depth = Math.min(startPath.length, endPath.length) - 1;
165
+ const start = startPath[depth];
166
+ const end = endPath[depth]; // Handle the case of having selected a parent block and
167
+ // then sfift+click on a child.
168
+
169
+ if (start !== end) {
170
+ toggleRichText(node, false);
171
+ multiSelect(start, end);
172
+ event.preventDefault();
173
+ }
158
174
  }
159
175
  } else if (hasMultiSelection()) {
160
176
  // Allow user to escape out of a multi-selection to a
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-multi-selection.js"],"names":["useSelect","useDispatch","useRefEffect","store","blockEditorStore","getBlockClientId","toggleRichText","container","toggle","Array","from","closest","querySelectorAll","forEach","node","setAttribute","removeAttribute","useMultiSelection","clientId","startMultiSelect","stopMultiSelect","multiSelect","selectBlock","isSelectionEnabled","isBlockSelected","getBlockParents","getBlockSelectionStart","hasMultiSelection","ownerDocument","defaultView","anchorElement","rafId","onSelectionChange","isSelectionEnd","selection","getSelection","rangeCount","isCollapsed","endClientId","focusNode","isSingularSelection","commonAncestorContainer","getRangeAt","contains","focus","startPath","endPath","depth","Math","min","length","onSelectionEnd","removeEventListener","requestAnimationFrame","onMouseLeave","buttons","activeElement","addEventListener","onMouseDown","event","button","shiftKey","blockSelectionStart","preventDefault","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';\nimport { getBlockClientId } from '../../../utils/dom';\n\nfunction toggleRichText( container, toggle ) {\n\tArray.from(\n\t\tcontainer\n\t\t\t.closest( '.is-root-container' )\n\t\t\t.querySelectorAll( '.rich-text' )\n\t).forEach( ( node ) => {\n\t\tif ( toggle ) {\n\t\t\tnode.setAttribute( 'contenteditable', true );\n\t\t} else {\n\t\t\tnode.removeAttribute( 'contenteditable' );\n\t\t}\n\t} );\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n *\n * @param {string} clientId Block client ID.\n */\nexport function useMultiSelection( clientId ) {\n\tconst {\n\t\tstartMultiSelect,\n\t\tstopMultiSelect,\n\t\tmultiSelect,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tisSelectionEnabled,\n\t\tisBlockSelected,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\thasMultiSelection,\n\t} = useSelect( 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 onSelectionChange( { isSelectionEnd } ) {\n\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\t// If no selection is found, end multi selection and enable all rich\n\t\t\t\t// text areas.\n\t\t\t\tif ( ! selection.rangeCount || selection.isCollapsed ) {\n\t\t\t\t\ttoggleRichText( node, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst endClientId = getBlockClientId( selection.focusNode );\n\t\t\t\tconst isSingularSelection = clientId === endClientId;\n\n\t\t\t\tif ( isSingularSelection ) {\n\t\t\t\t\tselectBlock( clientId );\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, rich text elements that were\n\t\t\t\t\t// previously disabled can now be enabled again.\n\t\t\t\t\tif ( isSelectionEnd ) {\n\t\t\t\t\t\ttoggleRichText( node, true );\n\n\t\t\t\t\t\tif ( selection.rangeCount ) {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tcommonAncestorContainer,\n\t\t\t\t\t\t\t} = selection.getRangeAt( 0 );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tanchorElement.contains(\n\t\t\t\t\t\t\t\t\tcommonAncestorContainer\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tanchorElement.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst startPath = [\n\t\t\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst endPath = [\n\t\t\t\t\t\t...getBlockParents( endClientId ),\n\t\t\t\t\t\tendClientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst depth =\n\t\t\t\t\t\tMath.min( startPath.length, endPath.length ) - 1;\n\n\t\t\t\t\tmultiSelect( startPath[ depth ], endPath[ depth ] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction onSelectionEnd() {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\t// Equivalent to attaching the listener once.\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onSelectionEnd );\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\tonSelectionChange( { isSelectionEnd: true } );\n\t\t\t\t\tstopMultiSelect();\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onMouseLeave( { buttons } ) {\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\tif ( ! isSelectionEnabled() || ! isBlockSelected( clientId ) ) {\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\townerDocument.addEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\tdefaultView.addEventListener( 'mouseup', onSelectionEnd );\n\n\t\t\t\t// Removing the contenteditable attributes within the block\n\t\t\t\t// editor is essential for selection to work across editable\n\t\t\t\t// areas. The edible hosts are removed, allowing selection to be\n\t\t\t\t// extended outside the DOM element. `startMultiSelect` sets a\n\t\t\t\t// flag in the store so the rich text components are updated,\n\t\t\t\t// but the rerender may happen very slowly, especially in Safari\n\t\t\t\t// for the blocks that are asynchonously rendered. To ensure the\n\t\t\t\t// browser instantly removes the selection boundaries, we remove\n\t\t\t\t// the contenteditable attributes manually.\n\t\t\t\ttoggleRichText( node, false );\n\t\t\t}\n\n\t\t\tfunction onMouseDown( event ) {\n\t\t\t\t// The main button.\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n\t\t\t\tif ( ! isSelectionEnabled() || event.button !== 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tconst blockSelectionStart = getBlockSelectionStart();\n\t\t\t\t\t// Handle the case where we select a single block by\n\t\t\t\t\t// holding the `shiftKey` and don't mark this action\n\t\t\t\t\t// as multiselection.\n\t\t\t\t\tif (\n\t\t\t\t\t\tblockSelectionStart &&\n\t\t\t\t\t\tblockSelectionStart !== clientId\n\t\t\t\t\t) {\n\t\t\t\t\t\ttoggleRichText( node, false );\n\t\t\t\t\t\tmultiSelect( blockSelectionStart, clientId );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t} else if ( hasMultiSelection() ) {\n\t\t\t\t\t// Allow user to escape out of a multi-selection to a\n\t\t\t\t\t// singular selection of a block via click. This is handled\n\t\t\t\t\t// here since focus handling excludes blocks when there is\n\t\t\t\t\t// multiselection, as focus can be incurred by starting a\n\t\t\t\t\t// multiselection (focus moved to first block's multi-\n\t\t\t\t\t// controls).\n\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousedown', onMouseDown );\n\t\t\tnode.addEventListener( 'mouseleave', onMouseLeave );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousedown', onMouseDown );\n\t\t\t\tnode.removeEventListener( 'mouseleave', onMouseLeave );\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onSelectionEnd );\n\t\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tclientId,\n\t\t\tstartMultiSelect,\n\t\t\tstopMultiSelect,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t\tisSelectionEnabled,\n\t\t\tisBlockSelected,\n\t\t\tgetBlockParents,\n\t\t]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-multi-selection.js"],"names":["useSelect","useDispatch","useRefEffect","store","blockEditorStore","getBlockClientId","toggleRichText","container","toggle","Array","from","closest","querySelectorAll","forEach","node","setAttribute","removeAttribute","useMultiSelection","clientId","startMultiSelect","stopMultiSelect","multiSelect","selectBlock","isSelectionEnabled","isBlockSelected","getBlockParents","getBlockSelectionStart","hasMultiSelection","ownerDocument","defaultView","anchorElement","rafId","onSelectionChange","isSelectionEnd","selection","getSelection","rangeCount","isCollapsed","endClientId","focusNode","isSingularSelection","commonAncestorContainer","getRangeAt","contains","focus","startPath","endPath","depth","Math","min","length","onSelectionEnd","removeEventListener","requestAnimationFrame","onMouseLeave","buttons","activeElement","addEventListener","onMouseDown","event","button","shiftKey","blockSelectionStart","startParents","includes","start","end","preventDefault","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';\nimport { getBlockClientId } from '../../../utils/dom';\n\nfunction toggleRichText( container, toggle ) {\n\tArray.from(\n\t\tcontainer\n\t\t\t.closest( '.is-root-container' )\n\t\t\t.querySelectorAll( '.rich-text' )\n\t).forEach( ( node ) => {\n\t\tif ( toggle ) {\n\t\t\tnode.setAttribute( 'contenteditable', true );\n\t\t} else {\n\t\t\tnode.removeAttribute( 'contenteditable' );\n\t\t}\n\t} );\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n *\n * @param {string} clientId Block client ID.\n */\nexport function useMultiSelection( clientId ) {\n\tconst {\n\t\tstartMultiSelect,\n\t\tstopMultiSelect,\n\t\tmultiSelect,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tisSelectionEnabled,\n\t\tisBlockSelected,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\thasMultiSelection,\n\t} = useSelect( 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 onSelectionChange( { isSelectionEnd } ) {\n\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\t// If no selection is found, end multi selection and enable all rich\n\t\t\t\t// text areas.\n\t\t\t\tif ( ! selection.rangeCount || selection.isCollapsed ) {\n\t\t\t\t\ttoggleRichText( node, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst endClientId = getBlockClientId( selection.focusNode );\n\t\t\t\tconst isSingularSelection = clientId === endClientId;\n\n\t\t\t\tif ( isSingularSelection ) {\n\t\t\t\t\tselectBlock( clientId );\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, rich text elements that were\n\t\t\t\t\t// previously disabled can now be enabled again.\n\t\t\t\t\tif ( isSelectionEnd ) {\n\t\t\t\t\t\ttoggleRichText( node, true );\n\n\t\t\t\t\t\tif ( selection.rangeCount ) {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tcommonAncestorContainer,\n\t\t\t\t\t\t\t} = selection.getRangeAt( 0 );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tanchorElement.contains(\n\t\t\t\t\t\t\t\t\tcommonAncestorContainer\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tanchorElement.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst startPath = [\n\t\t\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst endPath = [\n\t\t\t\t\t\t...getBlockParents( endClientId ),\n\t\t\t\t\t\tendClientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst depth =\n\t\t\t\t\t\tMath.min( startPath.length, endPath.length ) - 1;\n\n\t\t\t\t\tmultiSelect( startPath[ depth ], endPath[ depth ] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction onSelectionEnd() {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\t// Equivalent to attaching the listener once.\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onSelectionEnd );\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\tonSelectionChange( { isSelectionEnd: true } );\n\t\t\t\t\tstopMultiSelect();\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onMouseLeave( { buttons } ) {\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\tif ( ! isSelectionEnabled() || ! isBlockSelected( clientId ) ) {\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\townerDocument.addEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\tdefaultView.addEventListener( 'mouseup', onSelectionEnd );\n\n\t\t\t\t// Removing the contenteditable attributes within the block\n\t\t\t\t// editor is essential for selection to work across editable\n\t\t\t\t// areas. The edible hosts are removed, allowing selection to be\n\t\t\t\t// extended outside the DOM element. `startMultiSelect` sets a\n\t\t\t\t// flag in the store so the rich text components are updated,\n\t\t\t\t// but the rerender may happen very slowly, especially in Safari\n\t\t\t\t// for the blocks that are asynchonously rendered. To ensure the\n\t\t\t\t// browser instantly removes the selection boundaries, we remove\n\t\t\t\t// the contenteditable attributes manually.\n\t\t\t\ttoggleRichText( node, false );\n\t\t\t}\n\n\t\t\tfunction onMouseDown( event ) {\n\t\t\t\t// The main button.\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n\t\t\t\tif ( ! isSelectionEnabled() || event.button !== 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tconst blockSelectionStart = getBlockSelectionStart();\n\t\t\t\t\t// By checking `blockSelectionStart` to be set, we handle the\n\t\t\t\t\t// case where we select a single block. We also have to check\n\t\t\t\t\t// the selectionEnd (clientId) not to be included in the\n\t\t\t\t\t// `blockSelectionStart`'s parents because the click event is\n\t\t\t\t\t// propagated.\n\t\t\t\t\tconst startParents = getBlockParents( blockSelectionStart );\n\t\t\t\t\tif (\n\t\t\t\t\t\tblockSelectionStart &&\n\t\t\t\t\t\tblockSelectionStart !== clientId &&\n\t\t\t\t\t\t! startParents?.includes( clientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst startPath = [\n\t\t\t\t\t\t\t...startParents,\n\t\t\t\t\t\t\tblockSelectionStart,\n\t\t\t\t\t\t];\n\t\t\t\t\t\tconst endPath = [\n\t\t\t\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t];\n\t\t\t\t\t\tconst depth =\n\t\t\t\t\t\t\tMath.min( startPath.length, endPath.length ) - 1;\n\t\t\t\t\t\tconst start = startPath[ depth ];\n\t\t\t\t\t\tconst end = endPath[ depth ];\n\t\t\t\t\t\t// Handle the case of having selected a parent block and\n\t\t\t\t\t\t// then sfift+click on a child.\n\t\t\t\t\t\tif ( start !== end ) {\n\t\t\t\t\t\t\ttoggleRichText( node, false );\n\t\t\t\t\t\t\tmultiSelect( start, end );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( hasMultiSelection() ) {\n\t\t\t\t\t// Allow user to escape out of a multi-selection to a\n\t\t\t\t\t// singular selection of a block via click. This is handled\n\t\t\t\t\t// here since focus handling excludes blocks when there is\n\t\t\t\t\t// multiselection, as focus can be incurred by starting a\n\t\t\t\t\t// multiselection (focus moved to first block's multi-\n\t\t\t\t\t// controls).\n\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousedown', onMouseDown );\n\t\t\tnode.addEventListener( 'mouseleave', onMouseLeave );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousedown', onMouseDown );\n\t\t\t\tnode.removeEventListener( 'mouseleave', onMouseLeave );\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onSelectionEnd );\n\t\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tclientId,\n\t\t\tstartMultiSelect,\n\t\t\tstopMultiSelect,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t\tisSelectionEnabled,\n\t\t\tisBlockSelected,\n\t\t\tgetBlockParents,\n\t\t]\n\t);\n}\n"]}
@@ -19,16 +19,18 @@ import DefaultBlockAppender from '../default-block-appender';
19
19
  import ButtonBlockAppender from '../button-block-appender';
20
20
  import { store as blockEditorStore } from '../../store';
21
21
 
22
- function BlockListAppender({
23
- blockClientIds,
24
- rootClientId,
25
- canInsertDefaultBlock,
26
- isLocked,
27
- renderAppender: CustomAppender,
28
- className,
29
- selectedBlockClientId,
30
- tagName: TagName = 'div'
31
- }) {
22
+ function BlockListAppender(_ref) {
23
+ let {
24
+ blockClientIds,
25
+ rootClientId,
26
+ canInsertDefaultBlock,
27
+ isLocked,
28
+ renderAppender: CustomAppender,
29
+ className,
30
+ selectedBlockClientId,
31
+ tagName: TagName = 'div'
32
+ } = _ref;
33
+
32
34
  if (isLocked || CustomAppender === false) {
33
35
  return null;
34
36
  }
@@ -86,9 +88,10 @@ function BlockListAppender({
86
88
  }, appender);
87
89
  }
88
90
 
89
- export default withSelect((select, {
90
- rootClientId
91
- }) => {
91
+ export default withSelect((select, _ref2) => {
92
+ let {
93
+ rootClientId
94
+ } = _ref2;
92
95
  const {
93
96
  getBlockOrder,
94
97
  canInsertBlockType,