@wordpress/block-editor 9.0.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (685) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -0
  3. package/build/autocompleters/block.js +3 -1
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-actions/index.js.map +1 -1
  6. package/build/components/block-alignment-control/ui.js.map +1 -1
  7. package/build/components/block-alignment-matrix-control/index.js +4 -13
  8. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  9. package/build/components/block-breadcrumb/index.js.map +1 -1
  10. package/build/components/block-content-overlay/index.js +4 -82
  11. package/build/components/block-content-overlay/index.js.map +1 -1
  12. package/build/components/block-context/index.js.map +1 -1
  13. package/build/components/block-controls/hook.js.map +1 -1
  14. package/build/components/block-draggable/draggable-chip.native.js +65 -0
  15. package/build/components/block-draggable/draggable-chip.native.js.map +1 -0
  16. package/build/components/block-draggable/dropping-insertion-point.native.js +157 -0
  17. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
  18. package/build/components/block-draggable/index.js.map +1 -1
  19. package/build/components/block-draggable/index.native.js +488 -0
  20. package/build/components/block-draggable/index.native.js.map +1 -0
  21. package/build/components/block-draggable/use-scroll-when-dragging.native.js +130 -0
  22. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
  23. package/build/components/block-list/block-list-context.native.js +195 -0
  24. package/build/components/block-list/block-list-context.native.js.map +1 -0
  25. package/build/components/block-list/block-list-item-cell.native.js +67 -0
  26. package/build/components/block-list/block-list-item-cell.native.js.map +1 -0
  27. package/build/components/block-list/block-list-item.native.js +12 -9
  28. package/build/components/block-list/block-list-item.native.js.map +1 -1
  29. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  30. package/build/components/block-list/block.js.map +1 -1
  31. package/build/components/block-list/block.native.js +27 -5
  32. package/build/components/block-list/block.native.js.map +1 -1
  33. package/build/components/block-list/index.js +34 -32
  34. package/build/components/block-list/index.js.map +1 -1
  35. package/build/components/block-list/index.native.js +75 -23
  36. package/build/components/block-list/index.native.js.map +1 -1
  37. package/build/components/block-list/use-block-props/index.js +8 -4
  38. package/build/components/block-list/use-block-props/index.js.map +1 -1
  39. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  40. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  41. package/build/components/block-list/use-in-between-inserter.js +1 -1
  42. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  43. package/build/components/block-list-appender/index.js.map +1 -1
  44. package/build/components/block-list-appender/index.native.js.map +1 -1
  45. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  46. package/build/components/block-mobile-toolbar/index.native.js +10 -3
  47. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  48. package/build/components/block-mover/button.js.map +1 -1
  49. package/build/components/block-mover/index.native.js +17 -4
  50. package/build/components/block-mover/index.native.js.map +1 -1
  51. package/build/components/block-parent-selector/index.js.map +1 -1
  52. package/build/components/block-pattern-setup/index.js +1 -1
  53. package/build/components/block-pattern-setup/index.js.map +1 -1
  54. package/build/components/block-popover/inbetween.js +19 -8
  55. package/build/components/block-popover/inbetween.js.map +1 -1
  56. package/build/components/block-popover/index.js +5 -16
  57. package/build/components/block-popover/index.js.map +1 -1
  58. package/build/components/block-preview/auto.js.map +1 -1
  59. package/build/components/block-preview/index.js +1 -1
  60. package/build/components/block-preview/index.js.map +1 -1
  61. package/build/components/block-selection-clearer/index.js.map +1 -1
  62. package/build/components/block-settings-menu/block-mode-toggle.js +3 -7
  63. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  64. package/build/components/block-settings-menu/block-settings-dropdown.js +6 -3
  65. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  66. package/build/components/block-styles/index.js +6 -3
  67. package/build/components/block-styles/index.js.map +1 -1
  68. package/build/components/block-styles/menu-items.js +3 -7
  69. package/build/components/block-styles/menu-items.js.map +1 -1
  70. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  71. package/build/components/block-toolbar/index.native.js.map +1 -1
  72. package/build/components/block-toolbar/utils.js +5 -8
  73. package/build/components/block-toolbar/utils.js.map +1 -1
  74. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  75. package/build/components/block-tools/block-selection-button.js +1 -0
  76. package/build/components/block-tools/block-selection-button.js.map +1 -1
  77. package/build/components/block-tools/index.js.map +1 -1
  78. package/build/components/block-tools/selected-block-popover.js +1 -29
  79. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  80. package/build/components/block-types-list/index.native.js.map +1 -1
  81. package/build/components/block-variation-transforms/index.js +16 -2
  82. package/build/components/block-variation-transforms/index.js.map +1 -1
  83. package/build/components/border-radius-control/input-controls.js +10 -3
  84. package/build/components/border-radius-control/input-controls.js.map +1 -1
  85. package/build/components/color-style-selector/index.js.map +1 -1
  86. package/build/components/colors/with-colors.js.map +1 -1
  87. package/build/components/colors-gradients/dropdown.js +122 -41
  88. package/build/components/colors-gradients/dropdown.js.map +1 -1
  89. package/build/components/colors-gradients/panel-color-gradient-settings.js +35 -60
  90. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  91. package/build/components/convert-to-group-buttons/toolbar.js +22 -5
  92. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  93. package/build/components/copy-handler/index.js +17 -1
  94. package/build/components/copy-handler/index.js.map +1 -1
  95. package/build/components/default-block-appender/index.js.map +1 -1
  96. package/build/components/default-block-appender/index.native.js.map +1 -1
  97. package/build/components/default-style-picker/index.js.map +1 -1
  98. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  99. package/build/components/iframe/index.js +51 -50
  100. package/build/components/iframe/index.js.map +1 -1
  101. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  102. package/build/components/image-editor/use-save-image.js +3 -1
  103. package/build/components/image-editor/use-save-image.js.map +1 -1
  104. package/build/components/image-size-control/index.js +3 -1
  105. package/build/components/image-size-control/index.js.map +1 -1
  106. package/build/components/index.js +31 -13
  107. package/build/components/index.js.map +1 -1
  108. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  109. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  110. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  111. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  112. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  113. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  114. package/build/components/inserter/index.js.map +1 -1
  115. package/build/components/inserter/index.native.js +1 -1
  116. package/build/components/inserter/index.native.js.map +1 -1
  117. package/build/components/inserter/library.js +3 -7
  118. package/build/components/inserter/library.js.map +1 -1
  119. package/build/components/inserter/menu.js.map +1 -1
  120. package/build/components/inserter/menu.native.js.map +1 -1
  121. package/build/components/inserter/no-results.native.js.map +1 -1
  122. package/build/components/inserter/quick-inserter.js.map +1 -1
  123. package/build/components/inserter/search-items.js +1 -1
  124. package/build/components/inserter/search-items.js.map +1 -1
  125. package/build/components/inserter/search-results.native.js.map +1 -1
  126. package/build/components/inspector-popover-header/index.js +56 -0
  127. package/build/components/inspector-popover-header/index.js.map +1 -0
  128. package/build/components/line-height-control/index.js.map +1 -1
  129. package/build/components/link-control/constants.js +11 -1
  130. package/build/components/link-control/constants.js.map +1 -1
  131. package/build/components/link-control/index.js +4 -4
  132. package/build/components/link-control/index.js.map +1 -1
  133. package/build/components/link-control/search-create-button.js +1 -3
  134. package/build/components/link-control/search-create-button.js.map +1 -1
  135. package/build/components/link-control/search-input.js +5 -3
  136. package/build/components/link-control/search-input.js.map +1 -1
  137. package/build/components/link-control/search-results.js +4 -3
  138. package/build/components/link-control/search-results.js.map +1 -1
  139. package/build/components/link-control/settings-drawer.js +3 -7
  140. package/build/components/link-control/settings-drawer.js.map +1 -1
  141. package/build/components/link-control/use-search-handler.js +4 -4
  142. package/build/components/link-control/use-search-handler.js.map +1 -1
  143. package/build/components/list-view/block-contents.js.map +1 -1
  144. package/build/components/list-view/branch.js.map +1 -1
  145. package/build/components/list-view/drop-indicator.js +0 -1
  146. package/build/components/list-view/drop-indicator.js.map +1 -1
  147. package/build/components/list-view/index.js.map +1 -1
  148. package/build/components/list-view/use-block-selection.js.map +1 -1
  149. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  150. package/build/components/list-view/utils.js +1 -7
  151. package/build/components/list-view/utils.js.map +1 -1
  152. package/build/components/media-placeholder/index.js +4 -6
  153. package/build/components/media-placeholder/index.js.map +1 -1
  154. package/build/components/media-replace-flow/index.js +20 -7
  155. package/build/components/media-replace-flow/index.js.map +1 -1
  156. package/build/components/media-upload/index.native.js +10 -4
  157. package/build/components/media-upload/index.native.js.map +1 -1
  158. package/build/components/navigable-toolbar/index.js +12 -2
  159. package/build/components/navigable-toolbar/index.js.map +1 -1
  160. package/build/components/plain-text/index.native.js +62 -7
  161. package/build/components/plain-text/index.native.js.map +1 -1
  162. package/build/components/preview-options/index.js +4 -0
  163. package/build/components/preview-options/index.js.map +1 -1
  164. package/build/components/provider/use-block-sync.js +5 -3
  165. package/build/components/provider/use-block-sync.js.map +1 -1
  166. package/build/components/publish-date-time-picker/index.js +53 -0
  167. package/build/components/publish-date-time-picker/index.js.map +1 -0
  168. package/build/components/rich-text/embed-handler-picker.native.js +4 -8
  169. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  170. package/build/components/rich-text/format-toolbar-container.js +0 -1
  171. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  172. package/build/components/rich-text/index.js +2 -2
  173. package/build/components/rich-text/index.js.map +1 -1
  174. package/build/components/rich-text/index.native.js +5 -1
  175. package/build/components/rich-text/index.native.js.map +1 -1
  176. package/build/components/rich-text/use-format-types.js.map +1 -1
  177. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  178. package/build/components/skip-to-selected-block/index.js.map +1 -1
  179. package/build/components/ungroup-button/index.native.js +3 -7
  180. package/build/components/ungroup-button/index.native.js.map +1 -1
  181. package/build/components/url-input/index.js +18 -4
  182. package/build/components/url-input/index.js.map +1 -1
  183. package/build/components/use-block-display-information/index.js.map +1 -1
  184. package/build/components/use-block-drop-zone/index.js.map +1 -1
  185. package/build/components/use-block-drop-zone/index.native.js +167 -0
  186. package/build/components/use-block-drop-zone/index.native.js.map +1 -0
  187. package/build/components/use-display-block-controls/index.native.js.map +1 -1
  188. package/build/components/use-on-block-drop/index.js.map +1 -1
  189. package/build/components/use-on-block-drop/index.native.js +95 -0
  190. package/build/components/use-on-block-drop/index.native.js.map +1 -0
  191. package/build/components/use-setting/index.js.map +1 -1
  192. package/build/components/warning/index.js +6 -1
  193. package/build/components/warning/index.js.map +1 -1
  194. package/build/components/writing-flow/use-arrow-nav.js +12 -12
  195. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  196. package/build/components/writing-flow/use-click-selection.js.map +1 -1
  197. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  198. package/build/components/writing-flow/use-input.js +15 -0
  199. package/build/components/writing-flow/use-input.js.map +1 -1
  200. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  201. package/build/components/writing-flow/use-select-all.js.map +1 -1
  202. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  203. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  204. package/build/elements/index.js +9 -0
  205. package/build/elements/index.js.map +1 -0
  206. package/build/hooks/anchor.js.map +1 -1
  207. package/build/hooks/border.js +2 -7
  208. package/build/hooks/border.js.map +1 -1
  209. package/build/hooks/color-panel.js +14 -7
  210. package/build/hooks/color-panel.js.map +1 -1
  211. package/build/hooks/color-panel.native.js.map +1 -1
  212. package/build/hooks/color.js +8 -88
  213. package/build/hooks/color.js.map +1 -1
  214. package/build/hooks/dimensions.js +14 -4
  215. package/build/hooks/dimensions.js.map +1 -1
  216. package/build/hooks/font-family.js.map +1 -1
  217. package/build/hooks/gap.js.map +1 -1
  218. package/build/hooks/layout.js +38 -1
  219. package/build/hooks/layout.js.map +1 -1
  220. package/build/hooks/style.js +14 -13
  221. package/build/hooks/style.js.map +1 -1
  222. package/build/hooks/typography.js +6 -2
  223. package/build/hooks/typography.js.map +1 -1
  224. package/build/index.js +14 -0
  225. package/build/index.js.map +1 -1
  226. package/build/layouts/flex.js +5 -2
  227. package/build/layouts/flex.js.map +1 -1
  228. package/build/store/actions.js +14 -0
  229. package/build/store/actions.js.map +1 -1
  230. package/build/store/reducer.js +17 -2
  231. package/build/store/reducer.js.map +1 -1
  232. package/build/store/selectors.js +30 -2
  233. package/build/store/selectors.js.map +1 -1
  234. package/build/utils/pasting.js.map +1 -1
  235. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  236. package/build-module/autocompleters/block.js +4 -1
  237. package/build-module/autocompleters/block.js.map +1 -1
  238. package/build-module/components/block-actions/index.js.map +1 -1
  239. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  240. package/build-module/components/block-alignment-matrix-control/index.js +3 -11
  241. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  242. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  243. package/build-module/components/block-content-overlay/index.js +3 -78
  244. package/build-module/components/block-content-overlay/index.js.map +1 -1
  245. package/build-module/components/block-context/index.js.map +1 -1
  246. package/build-module/components/block-controls/hook.js.map +1 -1
  247. package/build-module/components/block-draggable/draggable-chip.native.js +51 -0
  248. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -0
  249. package/build-module/components/block-draggable/dropping-insertion-point.native.js +137 -0
  250. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
  251. package/build-module/components/block-draggable/index.js.map +1 -1
  252. package/build-module/components/block-draggable/index.native.js +453 -0
  253. package/build-module/components/block-draggable/index.native.js.map +1 -0
  254. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +120 -0
  255. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
  256. package/build-module/components/block-list/block-list-context.native.js +179 -0
  257. package/build-module/components/block-list/block-list-context.native.js.map +1 -0
  258. package/build-module/components/block-list/block-list-item-cell.native.js +59 -0
  259. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -0
  260. package/build-module/components/block-list/block-list-item.native.js +12 -9
  261. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  262. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  263. package/build-module/components/block-list/block.js.map +1 -1
  264. package/build-module/components/block-list/block.native.js +26 -5
  265. package/build-module/components/block-list/block.native.js.map +1 -1
  266. package/build-module/components/block-list/index.js +35 -33
  267. package/build-module/components/block-list/index.js.map +1 -1
  268. package/build-module/components/block-list/index.native.js +72 -23
  269. package/build-module/components/block-list/index.native.js.map +1 -1
  270. package/build-module/components/block-list/use-block-props/index.js +9 -5
  271. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  272. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  273. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  274. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  275. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  276. package/build-module/components/block-list-appender/index.js.map +1 -1
  277. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  278. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  279. package/build-module/components/block-mobile-toolbar/index.native.js +9 -3
  280. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  281. package/build-module/components/block-mover/button.js.map +1 -1
  282. package/build-module/components/block-mover/index.native.js +18 -5
  283. package/build-module/components/block-mover/index.native.js.map +1 -1
  284. package/build-module/components/block-parent-selector/index.js.map +1 -1
  285. package/build-module/components/block-pattern-setup/index.js +1 -1
  286. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  287. package/build-module/components/block-popover/inbetween.js +19 -8
  288. package/build-module/components/block-popover/inbetween.js.map +1 -1
  289. package/build-module/components/block-popover/index.js +5 -15
  290. package/build-module/components/block-popover/index.js.map +1 -1
  291. package/build-module/components/block-preview/auto.js.map +1 -1
  292. package/build-module/components/block-preview/index.js +1 -1
  293. package/build-module/components/block-preview/index.js.map +1 -1
  294. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  295. package/build-module/components/block-settings-menu/block-mode-toggle.js +3 -5
  296. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  297. package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -3
  298. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  299. package/build-module/components/block-styles/index.js +5 -2
  300. package/build-module/components/block-styles/index.js.map +1 -1
  301. package/build-module/components/block-styles/menu-items.js +3 -5
  302. package/build-module/components/block-styles/menu-items.js.map +1 -1
  303. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  304. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  305. package/build-module/components/block-toolbar/utils.js +3 -5
  306. package/build-module/components/block-toolbar/utils.js.map +1 -1
  307. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  308. package/build-module/components/block-tools/block-selection-button.js +1 -0
  309. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  310. package/build-module/components/block-tools/index.js.map +1 -1
  311. package/build-module/components/block-tools/selected-block-popover.js +2 -29
  312. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  313. package/build-module/components/block-types-list/index.native.js.map +1 -1
  314. package/build-module/components/block-variation-transforms/index.js +13 -2
  315. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  316. package/build-module/components/border-radius-control/input-controls.js +11 -4
  317. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  318. package/build-module/components/color-style-selector/index.js.map +1 -1
  319. package/build-module/components/colors/with-colors.js.map +1 -1
  320. package/build-module/components/colors-gradients/dropdown.js +124 -43
  321. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  322. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +36 -64
  323. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  324. package/build-module/components/convert-to-group-buttons/toolbar.js +23 -6
  325. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  326. package/build-module/components/copy-handler/index.js +18 -2
  327. package/build-module/components/copy-handler/index.js.map +1 -1
  328. package/build-module/components/default-block-appender/index.js.map +1 -1
  329. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  330. package/build-module/components/default-style-picker/index.js.map +1 -1
  331. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  332. package/build-module/components/iframe/index.js +52 -51
  333. package/build-module/components/iframe/index.js.map +1 -1
  334. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  335. package/build-module/components/image-editor/use-save-image.js +2 -1
  336. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  337. package/build-module/components/image-size-control/index.js +4 -1
  338. package/build-module/components/image-size-control/index.js.map +1 -1
  339. package/build-module/components/index.js +4 -2
  340. package/build-module/components/index.js.map +1 -1
  341. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  342. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  343. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  344. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  345. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  346. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  347. package/build-module/components/inserter/index.js.map +1 -1
  348. package/build-module/components/inserter/index.native.js +1 -1
  349. package/build-module/components/inserter/index.native.js.map +1 -1
  350. package/build-module/components/inserter/library.js +2 -5
  351. package/build-module/components/inserter/library.js.map +1 -1
  352. package/build-module/components/inserter/menu.js.map +1 -1
  353. package/build-module/components/inserter/menu.native.js.map +1 -1
  354. package/build-module/components/inserter/no-results.native.js.map +1 -1
  355. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  356. package/build-module/components/inserter/search-items.js +2 -2
  357. package/build-module/components/inserter/search-items.js.map +1 -1
  358. package/build-module/components/inserter/search-results.native.js.map +1 -1
  359. package/build-module/components/inspector-popover-header/index.js +46 -0
  360. package/build-module/components/inspector-popover-header/index.js.map +1 -0
  361. package/build-module/components/line-height-control/index.js.map +1 -1
  362. package/build-module/components/link-control/constants.js +5 -0
  363. package/build-module/components/link-control/constants.js.map +1 -1
  364. package/build-module/components/link-control/index.js +2 -1
  365. package/build-module/components/link-control/index.js.map +1 -1
  366. package/build-module/components/link-control/search-create-button.js +1 -2
  367. package/build-module/components/link-control/search-create-button.js.map +1 -1
  368. package/build-module/components/link-control/search-input.js +3 -1
  369. package/build-module/components/link-control/search-input.js.map +1 -1
  370. package/build-module/components/link-control/search-results.js +3 -4
  371. package/build-module/components/link-control/search-results.js.map +1 -1
  372. package/build-module/components/link-control/settings-drawer.js +2 -5
  373. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  374. package/build-module/components/link-control/use-search-handler.js +5 -5
  375. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  376. package/build-module/components/list-view/block-contents.js.map +1 -1
  377. package/build-module/components/list-view/branch.js.map +1 -1
  378. package/build-module/components/list-view/drop-indicator.js +0 -1
  379. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  380. package/build-module/components/list-view/index.js.map +1 -1
  381. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  382. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  383. package/build-module/components/list-view/utils.js +1 -6
  384. package/build-module/components/list-view/utils.js.map +1 -1
  385. package/build-module/components/media-placeholder/index.js +2 -3
  386. package/build-module/components/media-placeholder/index.js.map +1 -1
  387. package/build-module/components/media-replace-flow/index.js +22 -9
  388. package/build-module/components/media-replace-flow/index.js.map +1 -1
  389. package/build-module/components/media-upload/index.native.js +8 -3
  390. package/build-module/components/media-upload/index.native.js.map +1 -1
  391. package/build-module/components/navigable-toolbar/index.js +12 -2
  392. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  393. package/build-module/components/plain-text/index.native.js +63 -8
  394. package/build-module/components/plain-text/index.native.js.map +1 -1
  395. package/build-module/components/preview-options/index.js +4 -0
  396. package/build-module/components/preview-options/index.js.map +1 -1
  397. package/build-module/components/provider/use-block-sync.js +4 -1
  398. package/build-module/components/provider/use-block-sync.js.map +1 -1
  399. package/build-module/components/publish-date-time-picker/index.js +40 -0
  400. package/build-module/components/publish-date-time-picker/index.js.map +1 -0
  401. package/build-module/components/rich-text/embed-handler-picker.native.js +3 -5
  402. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  403. package/build-module/components/rich-text/format-toolbar-container.js +0 -1
  404. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  405. package/build-module/components/rich-text/index.js +2 -2
  406. package/build-module/components/rich-text/index.js.map +1 -1
  407. package/build-module/components/rich-text/index.native.js +5 -1
  408. package/build-module/components/rich-text/index.native.js.map +1 -1
  409. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  410. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  411. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  412. package/build-module/components/ungroup-button/index.native.js +3 -5
  413. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  414. package/build-module/components/url-input/index.js +15 -2
  415. package/build-module/components/url-input/index.js.map +1 -1
  416. package/build-module/components/use-block-display-information/index.js.map +1 -1
  417. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  418. package/build-module/components/use-block-drop-zone/index.native.js +148 -0
  419. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -0
  420. package/build-module/components/use-display-block-controls/index.native.js.map +1 -1
  421. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  422. package/build-module/components/use-on-block-drop/index.native.js +83 -0
  423. package/build-module/components/use-on-block-drop/index.native.js.map +1 -0
  424. package/build-module/components/use-setting/index.js.map +1 -1
  425. package/build-module/components/warning/index.js +6 -1
  426. package/build-module/components/warning/index.js.map +1 -1
  427. package/build-module/components/writing-flow/use-arrow-nav.js +12 -11
  428. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  429. package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
  430. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  431. package/build-module/components/writing-flow/use-input.js +15 -0
  432. package/build-module/components/writing-flow/use-input.js.map +1 -1
  433. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  434. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  435. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  436. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  437. package/build-module/elements/index.js +2 -0
  438. package/build-module/elements/index.js.map +1 -0
  439. package/build-module/hooks/anchor.js.map +1 -1
  440. package/build-module/hooks/border.js +2 -7
  441. package/build-module/hooks/border.js.map +1 -1
  442. package/build-module/hooks/color-panel.js +11 -6
  443. package/build-module/hooks/color-panel.js.map +1 -1
  444. package/build-module/hooks/color-panel.native.js.map +1 -1
  445. package/build-module/hooks/color.js +8 -88
  446. package/build-module/hooks/color.js.map +1 -1
  447. package/build-module/hooks/dimensions.js +14 -4
  448. package/build-module/hooks/dimensions.js.map +1 -1
  449. package/build-module/hooks/font-family.js.map +1 -1
  450. package/build-module/hooks/gap.js.map +1 -1
  451. package/build-module/hooks/layout.js +39 -2
  452. package/build-module/hooks/layout.js.map +1 -1
  453. package/build-module/hooks/style.js +15 -14
  454. package/build-module/hooks/style.js.map +1 -1
  455. package/build-module/hooks/typography.js +6 -2
  456. package/build-module/hooks/typography.js.map +1 -1
  457. package/build-module/index.js +1 -0
  458. package/build-module/index.js.map +1 -1
  459. package/build-module/layouts/flex.js +4 -2
  460. package/build-module/layouts/flex.js.map +1 -1
  461. package/build-module/store/actions.js +12 -0
  462. package/build-module/store/actions.js.map +1 -1
  463. package/build-module/store/reducer.js +17 -2
  464. package/build-module/store/reducer.js.map +1 -1
  465. package/build-module/store/selectors.js +25 -2
  466. package/build-module/store/selectors.js.map +1 -1
  467. package/build-module/utils/pasting.js.map +1 -1
  468. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  469. package/build-style/style-rtl.css +79 -197
  470. package/build-style/style.css +79 -197
  471. package/package.json +30 -30
  472. package/src/autocompleters/block.js +2 -1
  473. package/src/components/block-actions/index.js +2 -3
  474. package/src/components/block-alignment-control/ui.js +4 -6
  475. package/src/components/block-alignment-matrix-control/index.js +3 -9
  476. package/src/components/block-breadcrumb/index.js +2 -5
  477. package/src/components/block-compare/test/block-view.js +2 -1
  478. package/src/components/block-content-overlay/index.js +10 -100
  479. package/src/components/block-content-overlay/style.scss +2 -11
  480. package/src/components/block-context/index.js +4 -4
  481. package/src/components/block-controls/hook.js +2 -3
  482. package/src/components/block-draggable/draggable-chip.native.js +49 -0
  483. package/src/components/block-draggable/dropping-insertion-point.native.js +181 -0
  484. package/src/components/block-draggable/dropping-insertion-point.native.scss +8 -0
  485. package/src/components/block-draggable/index.js +6 -13
  486. package/src/components/block-draggable/index.native.js +454 -0
  487. package/src/components/block-draggable/style.native.scss +19 -0
  488. package/src/components/block-draggable/test/__snapshots__/index.native.js.snap +73 -0
  489. package/src/components/block-draggable/test/helpers.native.js +183 -0
  490. package/src/components/block-draggable/test/index.native.js +493 -0
  491. package/src/components/block-draggable/use-scroll-when-dragging.native.js +135 -0
  492. package/src/components/block-edit/test/edit.js +2 -1
  493. package/src/components/block-list/block-list-context.native.js +175 -0
  494. package/src/components/block-list/block-list-item-cell.native.js +49 -0
  495. package/src/components/block-list/block-list-item.native.js +11 -23
  496. package/src/components/block-list/block-selection-button.native.js +2 -3
  497. package/src/components/block-list/block.js +8 -10
  498. package/src/components/block-list/block.native.js +47 -23
  499. package/src/components/block-list/index.js +46 -47
  500. package/src/components/block-list/index.native.js +63 -31
  501. package/src/components/block-list/test/block-list-context.native.js +245 -0
  502. package/src/components/block-list/test/fixtures/block-list-context.native.js +79 -0
  503. package/src/components/block-list/use-block-props/index.js +16 -8
  504. package/src/components/block-list/use-block-props/use-block-custom-class-name.js +2 -3
  505. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +2 -3
  506. package/src/components/block-list/use-in-between-inserter.js +3 -4
  507. package/src/components/block-list-appender/index.js +2 -5
  508. package/src/components/block-list-appender/index.native.js +2 -3
  509. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +4 -6
  510. package/src/components/block-mobile-toolbar/index.native.js +9 -1
  511. package/src/components/block-mover/button.js +2 -3
  512. package/src/components/block-mover/index.native.js +26 -12
  513. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +10 -0
  514. package/src/components/block-parent-selector/index.js +2 -3
  515. package/src/components/block-pattern-setup/index.js +3 -5
  516. package/src/components/block-popover/inbetween.js +21 -8
  517. package/src/components/block-popover/index.js +2 -16
  518. package/src/components/block-popover/style.scss +1 -0
  519. package/src/components/block-preview/auto.js +4 -8
  520. package/src/components/block-preview/index.js +1 -4
  521. package/src/components/block-selection-clearer/index.js +2 -3
  522. package/src/components/block-settings-menu/block-mode-toggle.js +4 -8
  523. package/src/components/block-settings-menu/block-settings-dropdown.js +9 -9
  524. package/src/components/block-styles/index.js +3 -1
  525. package/src/components/block-styles/menu-items.js +2 -5
  526. package/src/components/block-switcher/block-transformations-menu.js +2 -4
  527. package/src/components/block-switcher/style.scss +2 -39
  528. package/src/components/block-toolbar/index.native.js +2 -5
  529. package/src/components/block-toolbar/utils.js +3 -11
  530. package/src/components/block-tools/block-contextual-toolbar.js +2 -5
  531. package/src/components/block-tools/block-selection-button.js +1 -0
  532. package/src/components/block-tools/index.js +2 -3
  533. package/src/components/block-tools/selected-block-popover.js +1 -36
  534. package/src/components/block-tools/style.scss +1 -12
  535. package/src/components/block-types-list/index.native.js +2 -4
  536. package/src/components/block-variation-transforms/index.js +10 -8
  537. package/src/components/border-radius-control/input-controls.js +16 -8
  538. package/src/components/border-radius-control/style.scss +3 -2
  539. package/src/components/color-palette/test/control.js +2 -1
  540. package/src/components/color-style-selector/index.js +27 -28
  541. package/src/components/colors/test/with-colors.js +14 -14
  542. package/src/components/colors/with-colors.js +8 -12
  543. package/src/components/colors-gradients/dropdown.js +135 -62
  544. package/src/components/colors-gradients/panel-color-gradient-settings.js +30 -76
  545. package/src/components/colors-gradients/style.scss +52 -50
  546. package/src/components/colors-gradients/test/control.js +10 -10
  547. package/src/components/convert-to-group-buttons/toolbar.js +32 -19
  548. package/src/components/copy-handler/README.md +7 -2
  549. package/src/components/copy-handler/index.js +26 -6
  550. package/src/components/default-block-appender/index.js +4 -6
  551. package/src/components/default-block-appender/index.native.js +4 -9
  552. package/src/components/default-style-picker/index.js +20 -21
  553. package/src/components/duotone-control/style.scss +1 -7
  554. package/src/components/font-sizes/with-font-sizes.js +2 -3
  555. package/src/components/iframe/index.js +62 -54
  556. package/src/components/image-editor/aspect-ratio-dropdown.js +2 -6
  557. package/src/components/image-editor/use-save-image.js +2 -1
  558. package/src/components/image-size-control/index.js +4 -7
  559. package/src/components/index.js +4 -2
  560. package/src/components/inner-blocks/use-inner-block-template-sync.js +2 -3
  561. package/src/components/inner-blocks/use-nested-settings-update.js +6 -9
  562. package/src/components/inserter/block-types-tab.native.js +2 -3
  563. package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -3
  564. package/src/components/inserter/hooks/use-insertion-point.js +3 -2
  565. package/src/components/inserter/hooks/use-patterns-state.js +4 -5
  566. package/src/components/inserter/index.js +4 -6
  567. package/src/components/inserter/index.native.js +7 -12
  568. package/src/components/inserter/library.js +2 -5
  569. package/src/components/inserter/menu.js +14 -19
  570. package/src/components/inserter/menu.native.js +8 -6
  571. package/src/components/inserter/no-results.native.js +2 -1
  572. package/src/components/inserter/quick-inserter.js +2 -3
  573. package/src/components/inserter/search-items.js +6 -6
  574. package/src/components/inserter/search-results.native.js +4 -6
  575. package/src/components/inserter/style.scss +2 -1
  576. package/src/components/inspector-popover-header/README.md +76 -0
  577. package/src/components/inspector-popover-header/index.js +56 -0
  578. package/src/components/inspector-popover-header/style.scss +16 -0
  579. package/src/components/line-height-control/index.js +1 -2
  580. package/src/components/link-control/constants.js +11 -0
  581. package/src/components/link-control/index.js +4 -4
  582. package/src/components/link-control/search-create-button.js +4 -2
  583. package/src/components/link-control/search-input.js +3 -1
  584. package/src/components/link-control/search-results.js +4 -5
  585. package/src/components/link-control/settings-drawer.js +2 -5
  586. package/src/components/link-control/test/fixtures/index.js +3 -4
  587. package/src/components/link-control/test/index.js +24 -36
  588. package/src/components/link-control/use-search-handler.js +13 -7
  589. package/src/components/list-view/block-contents.js +2 -4
  590. package/src/components/list-view/branch.js +22 -23
  591. package/src/components/list-view/drop-indicator.js +0 -1
  592. package/src/components/list-view/index.js +4 -8
  593. package/src/components/list-view/style.scss +2 -1
  594. package/src/components/list-view/use-block-selection.js +5 -5
  595. package/src/components/list-view/use-list-view-drop-zone.js +2 -1
  596. package/src/components/list-view/utils.js +1 -6
  597. package/src/components/media-placeholder/index.js +2 -3
  598. package/src/components/media-replace-flow/index.js +77 -48
  599. package/src/components/media-upload/index.native.js +6 -2
  600. package/src/components/media-upload/test/index.native.js +31 -6
  601. package/src/components/navigable-toolbar/index.js +13 -4
  602. package/src/components/panel-color-settings/test/index.js +2 -1
  603. package/src/components/plain-text/index.native.js +60 -8
  604. package/src/components/preview-options/index.js +4 -0
  605. package/src/components/preview-options/style.scss +0 -4
  606. package/src/components/provider/use-block-sync.js +5 -2
  607. package/src/components/publish-date-time-picker/README.md +52 -0
  608. package/src/components/publish-date-time-picker/index.js +39 -0
  609. package/src/components/responsive-block-control/test/index.js +3 -2
  610. package/src/components/rich-text/embed-handler-picker.native.js +2 -5
  611. package/src/components/rich-text/format-toolbar-container.js +0 -1
  612. package/src/components/rich-text/index.js +10 -5
  613. package/src/components/rich-text/index.native.js +4 -0
  614. package/src/components/rich-text/style.scss +2 -8
  615. package/src/components/rich-text/use-format-types.js +16 -16
  616. package/src/components/rich-text/use-mark-persistent.js +2 -3
  617. package/src/components/skip-to-selected-block/index.js +2 -3
  618. package/src/components/ungroup-button/index.native.js +4 -8
  619. package/src/components/url-input/index.js +24 -21
  620. package/src/components/use-block-display-information/index.js +4 -6
  621. package/src/components/use-block-drop-zone/index.js +2 -3
  622. package/src/components/use-block-drop-zone/index.native.js +171 -0
  623. package/src/components/use-block-drop-zone/test/index.js +22 -23
  624. package/src/components/use-display-block-controls/index.native.js +2 -3
  625. package/src/components/use-no-recursive-renders/test/use-no-recursive-renders.js +2 -3
  626. package/src/components/use-on-block-drop/index.js +2 -5
  627. package/src/components/use-on-block-drop/index.native.js +115 -0
  628. package/src/components/use-setting/index.js +8 -6
  629. package/src/components/warning/index.js +47 -42
  630. package/src/components/warning/test/__snapshots__/index.js.snap +15 -6
  631. package/src/components/warning/test/index.js +1 -1
  632. package/src/components/writing-flow/test/index.js +22 -4
  633. package/src/components/writing-flow/use-arrow-nav.js +22 -10
  634. package/src/components/writing-flow/use-click-selection.js +2 -5
  635. package/src/components/writing-flow/use-drag-selection.js +6 -9
  636. package/src/components/writing-flow/use-input.js +12 -0
  637. package/src/components/writing-flow/use-multi-selection.js +2 -4
  638. package/src/components/writing-flow/use-select-all.js +2 -5
  639. package/src/components/writing-flow/use-selection-observer.js +4 -6
  640. package/src/components/writing-flow/use-tab-nav.js +2 -5
  641. package/src/elements/index.js +1 -0
  642. package/src/hooks/anchor.js +1 -1
  643. package/src/hooks/border.js +2 -11
  644. package/src/hooks/border.scss +0 -48
  645. package/src/hooks/color-panel.js +17 -13
  646. package/src/hooks/color-panel.native.js +2 -2
  647. package/src/hooks/color.js +7 -76
  648. package/src/hooks/color.scss +5 -58
  649. package/src/hooks/dimensions.js +11 -3
  650. package/src/hooks/font-family.js +4 -2
  651. package/src/hooks/gap.js +2 -3
  652. package/src/hooks/layout.js +54 -4
  653. package/src/hooks/style.js +25 -39
  654. package/src/hooks/test/align.js +2 -1
  655. package/src/hooks/test/generated-class-name.js +2 -5
  656. package/src/hooks/test/utils.js +2 -5
  657. package/src/hooks/typography.js +2 -0
  658. package/src/index.js +1 -0
  659. package/src/layouts/flex.js +11 -3
  660. package/src/store/actions.js +784 -728
  661. package/src/store/reducer.js +202 -178
  662. package/src/store/selectors.js +82 -54
  663. package/src/store/test/actions.js +2 -1
  664. package/src/store/test/reducer.js +8 -1
  665. package/src/store/test/selectors.js +17 -21
  666. package/src/style.scss +1 -1
  667. package/src/utils/pasting.js +3 -3
  668. package/src/utils/transform-styles/transforms/wrap.js +30 -28
  669. package/tsconfig.tsbuildinfo +1 -1
  670. package/build/components/colors/color-panel.js +0 -82
  671. package/build/components/colors/color-panel.js.map +0 -1
  672. package/build/components/colors/color-panel.native.js +0 -11
  673. package/build/components/colors/color-panel.native.js.map +0 -1
  674. package/build/components/colors-gradients/tools-panel-color-dropdown.js +0 -89
  675. package/build/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
  676. package/build-module/components/colors/color-panel.js +0 -70
  677. package/build-module/components/colors/color-panel.js.map +0 -1
  678. package/build-module/components/colors/color-panel.native.js +0 -4
  679. package/build-module/components/colors/color-panel.native.js.map +0 -1
  680. package/build-module/components/colors-gradients/tools-panel-color-dropdown.js +0 -75
  681. package/build-module/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
  682. package/src/components/block-alignment-matrix-control/style.scss +0 -10
  683. package/src/components/colors/color-panel.js +0 -91
  684. package/src/components/colors/color-panel.native.js +0 -3
  685. package/src/components/colors-gradients/tools-panel-color-dropdown.js +0 -85
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.native.js"],"names":["SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","VELOCITY_MULTIPLIER","useScrollWhenDragging","scrollRef","animatedScrollRef","height","windowHeight","velocityY","offsetY","dragStartY","animationTimer","isAnimationTimerActive","isScrollActive","scroll","maxOffsetY","scrollHandler","event","contentSize","contentOffset","layoutMeasurement","value","y","stopScrolling","startScrolling","duration","easing","Easing","linear","scrollOnDragOver","dragDistance","Math","max","abs","distancePercentage","previous","delta","newOffset","min"],"mappings":";;;;;;;AAGA;;AACA;;AAcA;;AAlBA;AACA;AACA;;AAaA;AACA;AACA;AAGA,MAAMA,2BAA2B,GAAG,EAApC;AACA,MAAMC,kBAAkB,GAAG,IAA3B;AACA,MAAMC,mBAAmB,GAAG,IAA5B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASC,qBAAT,GAAiC;AAC/C,QAAM;AAAEC,IAAAA;AAAF,MAAgB,4CAAtB;AACA,QAAMC,iBAAiB,GAAG,4CAA1B;AACAA,EAAAA,iBAAiB,CAAED,SAAF,CAAjB;AAEA,QAAM;AAAEE,IAAAA,MAAM,EAAEC;AAAV,MAA2B,uCAAjC;AAEA,QAAMC,SAAS,GAAG,2CAAgB,CAAhB,CAAlB;AACA,QAAMC,OAAO,GAAG,2CAAgB,CAAhB,CAAhB;AACA,QAAMC,UAAU,GAAG,2CAAgB,CAAhB,CAAnB;AACA,QAAMC,cAAc,GAAG,2CAAgB,CAAhB,CAAvB;AACA,QAAMC,sBAAsB,GAAG,2CAAgB,KAAhB,CAA/B;AACA,QAAMC,cAAc,GAAG,2CAAgB,KAAhB,CAAvB;AAEA,QAAMC,MAAM,GAAG;AACdL,IAAAA,OAAO,EAAE,2CAAgB,CAAhB,CADK;AAEdM,IAAAA,UAAU,EAAE,2CAAgB,CAAhB;AAFE,GAAf;;AAIA,QAAMC,aAAa,GAAKC,KAAF,IAAa;AAClC;;AACA,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA,aAAf;AAA8BC,MAAAA;AAA9B,QAAoDH,KAA1D;AACAH,IAAAA,MAAM,CAACL,OAAP,CAAeY,KAAf,GAAuBF,aAAa,CAACG,CAArC;AACAR,IAAAA,MAAM,CAACC,UAAP,CAAkBM,KAAlB,GAA0BH,WAAW,CAACZ,MAAZ,GAAqBc,iBAAiB,CAACd,MAAjE;AACA,GALD;;AAOA,QAAMiB,aAAa,GAAG,MAAM;AAC3B;;AACA,gDAAiBZ,cAAjB;AAEAC,IAAAA,sBAAsB,CAACS,KAAvB,GAA+B,KAA/B;AACAR,IAAAA,cAAc,CAACQ,KAAf,GAAuB,KAAvB;AACAb,IAAAA,SAAS,CAACa,KAAV,GAAkB,CAAlB;AACA,GAPD;;AASA,QAAMG,cAAc,GAAKF,CAAF,IAAS;AAC/B;;AACAC,IAAAA,aAAa;AACbd,IAAAA,OAAO,CAACY,KAAR,GAAgBP,MAAM,CAACL,OAAP,CAAeY,KAA/B;AACAX,IAAAA,UAAU,CAACW,KAAX,GAAmBC,CAAnB;AAEAX,IAAAA,cAAc,CAACU,KAAf,GAAuB,CAAvB;AACAV,IAAAA,cAAc,CAACU,KAAf,GAAuB,uCACtB,uCAAY,CAAZ,EAAe;AACdI,MAAAA,QAAQ,EAAExB,kBADI;AAEdyB,MAAAA,MAAM,EAAEC,8BAAOC;AAFD,KAAf,CADsB,EAKtB,CAAC,CALqB,EAMtB,IANsB,CAAvB;AAQAhB,IAAAA,sBAAsB,CAACS,KAAvB,GAA+B,IAA/B;AACA,GAhBD;;AAkBA,QAAMQ,gBAAgB,GAAKP,CAAF,IAAS;AACjC;;AACA,UAAMQ,YAAY,GAAGC,IAAI,CAACC,GAAL,CACpBD,IAAI,CAACE,GAAL,CAAUX,CAAC,GAAGZ,UAAU,CAACW,KAAzB,IAAmCrB,2BADf,EAEpB,CAFoB,CAArB;AAIA,UAAMkC,kBAAkB,GAAGJ,YAAY,GAAGvB,YAA1C;;AAEA,QAAK,CAAEM,cAAc,CAACQ,KAAtB,EAA8B;AAC7BR,MAAAA,cAAc,CAACQ,KAAf,GAAuBS,YAAY,GAAG,CAAtC;AACA,KAFD,MAEO,IAAKR,CAAC,GAAGZ,UAAU,CAACW,KAApB,EAA4B;AAClC;AACAb,MAAAA,SAAS,CAACa,KAAV,GAAkBnB,mBAAmB,GAAGgC,kBAAxC;AACA,KAHM,MAGA,IAAKZ,CAAC,GAAGZ,UAAU,CAACW,KAApB,EAA4B;AAClC;AACAb,MAAAA,SAAS,CAACa,KAAV,GAAkB,CAACnB,mBAAD,GAAuBgC,kBAAzC;AACA,KAHM,MAGA;AACN1B,MAAAA,SAAS,CAACa,KAAV,GAAkB,CAAlB;AACA;AACD,GAnBD;;AAqBA,kDACC,MAAMV,cAAc,CAACU,KADtB,EAEC,CAAEA,KAAF,EAASc,QAAT,KAAuB;AACtB,QAAK3B,SAAS,CAACa,KAAV,KAAoB,CAAzB,EAA6B;AAC5B;AACA;;AAED,UAAMe,KAAK,GAAGL,IAAI,CAACE,GAAL,CAAUZ,KAAK,GAAGc,QAAlB,CAAd;AACA,QAAIE,SAAS,GAAG5B,OAAO,CAACY,KAAR,GAAgBe,KAAK,GAAG5B,SAAS,CAACa,KAAlD;;AAEA,QAAKP,MAAM,CAACC,UAAP,CAAkBM,KAAlB,KAA4B,CAAjC,EAAqC;AACpCgB,MAAAA,SAAS,GAAGN,IAAI,CAACC,GAAL,CACX,CADW,EAEXD,IAAI,CAACO,GAAL,CAAUxB,MAAM,CAACC,UAAP,CAAkBM,KAA5B,EAAmCgB,SAAnC,CAFW,CAAZ;AAIA,KALD,MAKO;AACN;AACA;AACA;AACAA,MAAAA,SAAS,GAAGN,IAAI,CAACC,GAAL,CAAU,CAAV,EAAaK,SAAb,CAAZ;AACA;;AAED5B,IAAAA,OAAO,CAACY,KAAR,GAAgBgB,SAAhB;AACA,yCAAUhC,iBAAV,EAA6B,CAA7B,EAAgCI,OAAO,CAACY,KAAxC,EAA+C,KAA/C;AACA,GAxBF;AA2BA,SAAO,CAAEG,cAAF,EAAkBK,gBAAlB,EAAoCN,aAApC,EAAmDP,aAAnD,CAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { useWindowDimensions } from 'react-native';\nimport {\n\tuseSharedValue,\n\tuseAnimatedRef,\n\tscrollTo,\n\tuseAnimatedReaction,\n\twithTiming,\n\twithRepeat,\n\tcancelAnimation,\n\tEasing,\n} from 'react-native-reanimated';\n\n/**\n * Internal dependencies\n */\nimport { useBlockListContext } from '../block-list/block-list-context';\n\nconst SCROLL_INACTIVE_DISTANCE_PX = 50;\nconst SCROLL_INTERVAL_MS = 1000;\nconst VELOCITY_MULTIPLIER = 5000;\n\n/**\n * React hook that scrolls the scroll container when a block is being dragged.\n *\n * @return {Function[]} `startScrolling`, `scrollOnDragOver`, `stopScrolling`\n * functions to be called in `onDragStart`, `onDragOver`\n * and `onDragEnd` events respectively. Additionally,\n * \t\t\t\t\t\t`scrollHandler` function is returned which should be\n * \t\t\t\t\t\tcalled in the `onScroll` event of the block list.\n */\nexport default function useScrollWhenDragging() {\n\tconst { scrollRef } = useBlockListContext();\n\tconst animatedScrollRef = useAnimatedRef();\n\tanimatedScrollRef( scrollRef );\n\n\tconst { height: windowHeight } = useWindowDimensions();\n\n\tconst velocityY = useSharedValue( 0 );\n\tconst offsetY = useSharedValue( 0 );\n\tconst dragStartY = useSharedValue( 0 );\n\tconst animationTimer = useSharedValue( 0 );\n\tconst isAnimationTimerActive = useSharedValue( false );\n\tconst isScrollActive = useSharedValue( false );\n\n\tconst scroll = {\n\t\toffsetY: useSharedValue( 0 ),\n\t\tmaxOffsetY: useSharedValue( 0 ),\n\t};\n\tconst scrollHandler = ( event ) => {\n\t\t'worklet';\n\t\tconst { contentSize, contentOffset, layoutMeasurement } = event;\n\t\tscroll.offsetY.value = contentOffset.y;\n\t\tscroll.maxOffsetY.value = contentSize.height - layoutMeasurement.height;\n\t};\n\n\tconst stopScrolling = () => {\n\t\t'worklet';\n\t\tcancelAnimation( animationTimer );\n\n\t\tisAnimationTimerActive.value = false;\n\t\tisScrollActive.value = false;\n\t\tvelocityY.value = 0;\n\t};\n\n\tconst startScrolling = ( y ) => {\n\t\t'worklet';\n\t\tstopScrolling();\n\t\toffsetY.value = scroll.offsetY.value;\n\t\tdragStartY.value = y;\n\n\t\tanimationTimer.value = 0;\n\t\tanimationTimer.value = withRepeat(\n\t\t\twithTiming( 1, {\n\t\t\t\tduration: SCROLL_INTERVAL_MS,\n\t\t\t\teasing: Easing.linear,\n\t\t\t} ),\n\t\t\t-1,\n\t\t\ttrue\n\t\t);\n\t\tisAnimationTimerActive.value = true;\n\t};\n\n\tconst scrollOnDragOver = ( y ) => {\n\t\t'worklet';\n\t\tconst dragDistance = Math.max(\n\t\t\tMath.abs( y - dragStartY.value ) - SCROLL_INACTIVE_DISTANCE_PX,\n\t\t\t0\n\t\t);\n\t\tconst distancePercentage = dragDistance / windowHeight;\n\n\t\tif ( ! isScrollActive.value ) {\n\t\t\tisScrollActive.value = dragDistance > 0;\n\t\t} else if ( y > dragStartY.value ) {\n\t\t\t// User is dragging downwards.\n\t\t\tvelocityY.value = VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else if ( y < dragStartY.value ) {\n\t\t\t// User is dragging upwards.\n\t\t\tvelocityY.value = -VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else {\n\t\t\tvelocityY.value = 0;\n\t\t}\n\t};\n\n\tuseAnimatedReaction(\n\t\t() => animationTimer.value,\n\t\t( value, previous ) => {\n\t\t\tif ( velocityY.value === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst delta = Math.abs( value - previous );\n\t\t\tlet newOffset = offsetY.value + delta * velocityY.value;\n\n\t\t\tif ( scroll.maxOffsetY.value !== 0 ) {\n\t\t\t\tnewOffset = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min( scroll.maxOffsetY.value, newOffset )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Scroll values are empty until receiving the first scroll event.\n\t\t\t\t// In that case, the max offset is unknown and we can't clamp the\n\t\t\t\t// new offset value.\n\t\t\t\tnewOffset = Math.max( 0, newOffset );\n\t\t\t}\n\n\t\t\toffsetY.value = newOffset;\n\t\t\tscrollTo( animatedScrollRef, 0, offsetY.value, false );\n\t\t}\n\t);\n\n\treturn [ startScrolling, scrollOnDragOver, stopScrolling, scrollHandler ];\n}\n"]}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_BLOCK_LIST_CONTEXT = exports.BlockListProvider = exports.BlockListConsumer = void 0;
7
+ exports.deleteBlockLayoutByClientId = deleteBlockLayoutByClientId;
8
+ exports.useBlockListContext = void 0;
9
+
10
+ var _lodash = require("lodash");
11
+
12
+ var _element = require("@wordpress/element");
13
+
14
+ /**
15
+ * External dependencies
16
+ */
17
+
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+ const DEFAULT_BLOCK_LIST_CONTEXT = {
22
+ scrollRef: null,
23
+ blocksLayouts: {
24
+ current: {}
25
+ },
26
+ findBlockLayoutByClientId,
27
+ getBlockLayoutsOrderedByYCoord,
28
+ findBlockLayoutByPosition,
29
+ updateBlocksLayouts
30
+ };
31
+ exports.DEFAULT_BLOCK_LIST_CONTEXT = DEFAULT_BLOCK_LIST_CONTEXT;
32
+ const Context = (0, _element.createContext)(DEFAULT_BLOCK_LIST_CONTEXT);
33
+ const {
34
+ Provider,
35
+ Consumer
36
+ } = Context;
37
+ /**
38
+ * Finds a block's layout data by position.
39
+ *
40
+ * @param {Object} data Blocks layouts object.
41
+ * @param {Object} position Position to use for finding the block.
42
+ * @param {number} position.x X coordinate.
43
+ * @param {number} position.y Y coordinate.
44
+ *
45
+ * @return {Object|undefined} Found block layout data that matches the provided position. If none is found, `undefined` will be returned.
46
+ */
47
+
48
+ exports.BlockListConsumer = Consumer;
49
+ exports.BlockListProvider = Provider;
50
+
51
+ function findBlockLayoutByPosition(data, position) {
52
+ // Only enabled for root level blocks
53
+ return Object.values(data).find(block => {
54
+ return position.x >= block.x && position.x <= block.x + block.width && position.y >= block.y && position.y <= block.y + block.height;
55
+ });
56
+ }
57
+ /**
58
+ * Finds a block's layout data by its client Id.
59
+ *
60
+ * @param {Object} data Blocks layouts object.
61
+ * @param {string} clientId Block's clientId.
62
+ *
63
+ * @return {Object} Found block layout data.
64
+ */
65
+
66
+
67
+ function findBlockLayoutByClientId(data, clientId) {
68
+ return Object.entries(data).reduce((acc, entry) => {
69
+ const item = entry[1];
70
+
71
+ if (acc) {
72
+ return acc;
73
+ }
74
+
75
+ if ((item === null || item === void 0 ? void 0 : item.clientId) === clientId) {
76
+ return item;
77
+ }
78
+
79
+ if (item !== null && item !== void 0 && item.innerBlocks && Object.keys(item.innerBlocks).length > 0) {
80
+ return findBlockLayoutByClientId(item.innerBlocks, clientId);
81
+ }
82
+
83
+ return null;
84
+ }, null);
85
+ }
86
+ /**
87
+ * Deletes the layout data of a block by its client Id.
88
+ *
89
+ * @param {Object} data Blocks layouts object.
90
+ * @param {string} clientId Block's clientsId.
91
+ *
92
+ * @return {Object} Updated data object.
93
+ */
94
+
95
+
96
+ function deleteBlockLayoutByClientId(data, clientId) {
97
+ return Object.keys(data).reduce((acc, key) => {
98
+ var _data$key;
99
+
100
+ if (key !== clientId) {
101
+ acc[key] = data[key];
102
+ }
103
+
104
+ if ((_data$key = data[key]) !== null && _data$key !== void 0 && _data$key.innerBlocks && Object.keys(data[key].innerBlocks).length > 0) {
105
+ if (acc[key]) {
106
+ acc[key].innerBlocks = deleteBlockLayoutByClientId(data[key].innerBlocks, clientId);
107
+ }
108
+ }
109
+
110
+ return acc;
111
+ }, {});
112
+ }
113
+ /**
114
+ * Orders the block's layout data by its Y coordinate.
115
+ *
116
+ * @param {Object} data Blocks layouts object.
117
+ *
118
+ * @return {Object} Blocks layouts object ordered by its Y coordinate.
119
+ */
120
+
121
+
122
+ function getBlockLayoutsOrderedByYCoord(data) {
123
+ // Only enabled for root level blocks.
124
+ // Using lodash orderBy due to hermes not having
125
+ // stable support for native .sort(). It will be
126
+ // supported in the React Native version 0.68.0.
127
+ return (0, _lodash.orderBy)(data, ['y', 'asc']);
128
+ }
129
+ /**
130
+ * Updates or deletes a block's layout data in the blocksLayouts object,
131
+ * in case of deletion, the layout data is not required.
132
+ *
133
+ * @param {Object} blocksLayouts Blocks layouts object.
134
+ * @param {Object} blockData Block's layout data to add or remove to/from the blockLayouts object.
135
+ * @param {string} blockData.clientId Block's clientId.
136
+ * @param {?string} blockData.rootClientId Optional. Block's rootClientId.
137
+ * @param {?boolean} blockData.shouldRemove Optional. Flag to remove it from the blocksLayout list.
138
+ * @param {number} blockData.width Block's width.
139
+ * @param {number} blockData.height Block's height.
140
+ * @param {number} blockData.x Block's x coordinate (relative to the parent).
141
+ * @param {number} blockData.y Block's y coordinate (relative to the parent).
142
+ */
143
+
144
+
145
+ function updateBlocksLayouts(blocksLayouts, blockData) {
146
+ const {
147
+ clientId,
148
+ rootClientId,
149
+ shouldRemove,
150
+ ...layoutProps
151
+ } = blockData;
152
+
153
+ if (clientId && shouldRemove) {
154
+ blocksLayouts.current = deleteBlockLayoutByClientId(blocksLayouts.current, clientId);
155
+ return;
156
+ }
157
+
158
+ if (clientId && !rootClientId) {
159
+ var _blocksLayouts$curren;
160
+
161
+ blocksLayouts.current[clientId] = {
162
+ clientId,
163
+ rootClientId,
164
+ ...layoutProps,
165
+ innerBlocks: { ...((_blocksLayouts$curren = blocksLayouts.current[clientId]) === null || _blocksLayouts$curren === void 0 ? void 0 : _blocksLayouts$curren.innerBlocks)
166
+ }
167
+ };
168
+ } else if (clientId && rootClientId) {
169
+ const block = findBlockLayoutByClientId(blocksLayouts.current, rootClientId);
170
+
171
+ if (block) {
172
+ var _block$innerBlocks$cl;
173
+
174
+ block.innerBlocks[clientId] = {
175
+ clientId,
176
+ rootClientId,
177
+ ...layoutProps,
178
+ innerBlocks: { ...((_block$innerBlocks$cl = block.innerBlocks[clientId]) === null || _block$innerBlocks$cl === void 0 ? void 0 : _block$innerBlocks$cl.innerBlocks)
179
+ }
180
+ };
181
+ }
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Hook that returns the block list context.
187
+ *
188
+ * @return {Object} Block list context
189
+ */
190
+ const useBlockListContext = () => {
191
+ return (0, _element.useContext)(Context);
192
+ };
193
+
194
+ exports.useBlockListContext = useBlockListContext;
195
+ //# sourceMappingURL=block-list-context.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-context.native.js"],"names":["DEFAULT_BLOCK_LIST_CONTEXT","scrollRef","blocksLayouts","current","findBlockLayoutByClientId","getBlockLayoutsOrderedByYCoord","findBlockLayoutByPosition","updateBlocksLayouts","Context","Provider","Consumer","data","position","Object","values","find","block","x","width","y","height","clientId","entries","reduce","acc","entry","item","innerBlocks","keys","length","deleteBlockLayoutByClientId","key","blockData","rootClientId","shouldRemove","layoutProps","useBlockListContext"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { orderBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\nexport const DEFAULT_BLOCK_LIST_CONTEXT = {\n\tscrollRef: null,\n\tblocksLayouts: { current: {} },\n\tfindBlockLayoutByClientId,\n\tgetBlockLayoutsOrderedByYCoord,\n\tfindBlockLayoutByPosition,\n\tupdateBlocksLayouts,\n};\n\nconst Context = createContext( DEFAULT_BLOCK_LIST_CONTEXT );\nconst { Provider, Consumer } = Context;\n\n/**\n * Finds a block's layout data by position.\n *\n * @param {Object} data Blocks layouts object.\n * @param {Object} position Position to use for finding the block.\n * @param {number} position.x X coordinate.\n * @param {number} position.y Y coordinate.\n *\n * @return {Object|undefined} Found block layout data that matches the provided position. If none is found, `undefined` will be returned.\n */\nfunction findBlockLayoutByPosition( data, position ) {\n\t// Only enabled for root level blocks\n\treturn Object.values( data ).find( ( block ) => {\n\t\treturn (\n\t\t\tposition.x >= block.x &&\n\t\t\tposition.x <= block.x + block.width &&\n\t\t\tposition.y >= block.y &&\n\t\t\tposition.y <= block.y + block.height\n\t\t);\n\t} );\n}\n\n/**\n * Finds a block's layout data by its client Id.\n *\n * @param {Object} data Blocks layouts object.\n * @param {string} clientId Block's clientId.\n *\n * @return {Object} Found block layout data.\n */\nfunction findBlockLayoutByClientId( data, clientId ) {\n\treturn Object.entries( data ).reduce( ( acc, entry ) => {\n\t\tconst item = entry[ 1 ];\n\t\tif ( acc ) {\n\t\t\treturn acc;\n\t\t}\n\t\tif ( item?.clientId === clientId ) {\n\t\t\treturn item;\n\t\t}\n\t\tif ( item?.innerBlocks && Object.keys( item.innerBlocks ).length > 0 ) {\n\t\t\treturn findBlockLayoutByClientId( item.innerBlocks, clientId );\n\t\t}\n\t\treturn null;\n\t}, null );\n}\n\n/**\n * Deletes the layout data of a block by its client Id.\n *\n * @param {Object} data Blocks layouts object.\n * @param {string} clientId Block's clientsId.\n *\n * @return {Object} Updated data object.\n */\nexport function deleteBlockLayoutByClientId( data, clientId ) {\n\treturn Object.keys( data ).reduce( ( acc, key ) => {\n\t\tif ( key !== clientId ) {\n\t\t\tacc[ key ] = data[ key ];\n\t\t}\n\t\tif (\n\t\t\tdata[ key ]?.innerBlocks &&\n\t\t\tObject.keys( data[ key ].innerBlocks ).length > 0\n\t\t) {\n\t\t\tif ( acc[ key ] ) {\n\t\t\t\tacc[ key ].innerBlocks = deleteBlockLayoutByClientId(\n\t\t\t\t\tdata[ key ].innerBlocks,\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn acc;\n\t}, {} );\n}\n\n/**\n * Orders the block's layout data by its Y coordinate.\n *\n * @param {Object} data Blocks layouts object.\n *\n * @return {Object} Blocks layouts object ordered by its Y coordinate.\n */\nfunction getBlockLayoutsOrderedByYCoord( data ) {\n\t// Only enabled for root level blocks.\n\t// Using lodash orderBy due to hermes not having\n\t// stable support for native .sort(). It will be\n\t// supported in the React Native version 0.68.0.\n\treturn orderBy( data, [ 'y', 'asc' ] );\n}\n\n/**\n * Updates or deletes a block's layout data in the blocksLayouts object,\n * in case of deletion, the layout data is not required.\n *\n * @param {Object} blocksLayouts Blocks layouts object.\n * @param {Object} blockData Block's layout data to add or remove to/from the blockLayouts object.\n * @param {string} blockData.clientId Block's clientId.\n * @param {?string} blockData.rootClientId Optional. Block's rootClientId.\n * @param {?boolean} blockData.shouldRemove Optional. Flag to remove it from the blocksLayout list.\n * @param {number} blockData.width Block's width.\n * @param {number} blockData.height Block's height.\n * @param {number} blockData.x Block's x coordinate (relative to the parent).\n * @param {number} blockData.y Block's y coordinate (relative to the parent).\n */\n\nfunction updateBlocksLayouts( blocksLayouts, blockData ) {\n\tconst { clientId, rootClientId, shouldRemove, ...layoutProps } = blockData;\n\n\tif ( clientId && shouldRemove ) {\n\t\tblocksLayouts.current = deleteBlockLayoutByClientId(\n\t\t\tblocksLayouts.current,\n\t\t\tclientId\n\t\t);\n\t\treturn;\n\t}\n\n\tif ( clientId && ! rootClientId ) {\n\t\tblocksLayouts.current[ clientId ] = {\n\t\t\tclientId,\n\t\t\trootClientId,\n\t\t\t...layoutProps,\n\t\t\tinnerBlocks: {\n\t\t\t\t...blocksLayouts.current[ clientId ]?.innerBlocks,\n\t\t\t},\n\t\t};\n\t} else if ( clientId && rootClientId ) {\n\t\tconst block = findBlockLayoutByClientId(\n\t\t\tblocksLayouts.current,\n\t\t\trootClientId\n\t\t);\n\n\t\tif ( block ) {\n\t\t\tblock.innerBlocks[ clientId ] = {\n\t\t\t\tclientId,\n\t\t\t\trootClientId,\n\t\t\t\t...layoutProps,\n\t\t\t\tinnerBlocks: {\n\t\t\t\t\t...block.innerBlocks[ clientId ]?.innerBlocks,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n}\n\nexport { Provider as BlockListProvider, Consumer as BlockListConsumer };\n\n/**\n * Hook that returns the block list context.\n *\n * @return {Object} Block list context\n */\nexport const useBlockListContext = () => {\n\treturn useContext( Context );\n};\n"]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _blockListContext = require("./block-list-context");
13
+
14
+ /**
15
+ * External dependencies
16
+ */
17
+
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+ function BlockListItemCell(_ref) {
26
+ let {
27
+ children,
28
+ clientId,
29
+ rootClientId,
30
+ onLayout
31
+ } = _ref;
32
+ const {
33
+ blocksLayouts,
34
+ updateBlocksLayouts
35
+ } = (0, _blockListContext.useBlockListContext)();
36
+ (0, _element.useEffect)(() => {
37
+ return () => {
38
+ updateBlocksLayouts(blocksLayouts, {
39
+ clientId,
40
+ shouldRemove: true
41
+ });
42
+ };
43
+ }, []);
44
+ const onCellLayout = (0, _element.useCallback)(event => {
45
+ const {
46
+ nativeEvent: {
47
+ layout
48
+ }
49
+ } = event;
50
+ updateBlocksLayouts(blocksLayouts, {
51
+ clientId,
52
+ rootClientId,
53
+ ...layout
54
+ });
55
+
56
+ if (onLayout) {
57
+ onLayout(event);
58
+ }
59
+ }, [clientId, rootClientId, updateBlocksLayouts, onLayout]);
60
+ return (0, _element.createElement)(_reactNative.View, {
61
+ onLayout: onCellLayout
62
+ }, children);
63
+ }
64
+
65
+ var _default = BlockListItemCell;
66
+ exports.default = _default;
67
+ //# sourceMappingURL=block-list-item-cell.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-item-cell.native.js"],"names":["BlockListItemCell","children","clientId","rootClientId","onLayout","blocksLayouts","updateBlocksLayouts","shouldRemove","onCellLayout","event","nativeEvent","layout"],"mappings":";;;;;;;AAQA;;AALA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAGA,SAASA,iBAAT,OAA6E;AAAA,MAAjD;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA,YAAtB;AAAoCC,IAAAA;AAApC,GAAiD;AAC5E,QAAM;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAyC,4CAA/C;AAEA,0BAAW,MAAM;AAChB,WAAO,MAAM;AACZA,MAAAA,mBAAmB,CAAED,aAAF,EAAiB;AACnCH,QAAAA,QADmC;AAEnCK,QAAAA,YAAY,EAAE;AAFqB,OAAjB,CAAnB;AAIA,KALD;AAMA,GAPD,EAOG,EAPH;AASA,QAAMC,YAAY,GAAG,0BAClBC,KAAF,IAAa;AACZ,UAAM;AACLC,MAAAA,WAAW,EAAE;AAAEC,QAAAA;AAAF;AADR,QAEFF,KAFJ;AAGAH,IAAAA,mBAAmB,CAAED,aAAF,EAAiB;AACnCH,MAAAA,QADmC;AAEnCC,MAAAA,YAFmC;AAGnC,SAAGQ;AAHgC,KAAjB,CAAnB;;AAMA,QAAKP,QAAL,EAAgB;AACfA,MAAAA,QAAQ,CAAEK,KAAF,CAAR;AACA;AACD,GAdmB,EAepB,CAAEP,QAAF,EAAYC,YAAZ,EAA0BG,mBAA1B,EAA+CF,QAA/C,CAfoB,CAArB;AAkBA,SAAO,4BAAC,iBAAD;AAAM,IAAA,QAAQ,EAAGI;AAAjB,KAAkCP,QAAlC,CAAP;AACA;;eAEcD,iB","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useBlockListContext } from './block-list-context';\n\nfunction BlockListItemCell( { children, clientId, rootClientId, onLayout } ) {\n\tconst { blocksLayouts, updateBlocksLayouts } = useBlockListContext();\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\tshouldRemove: true,\n\t\t\t} );\n\t\t};\n\t}, [] );\n\n\tconst onCellLayout = useCallback(\n\t\t( event ) => {\n\t\t\tconst {\n\t\t\t\tnativeEvent: { layout },\n\t\t\t} = event;\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\trootClientId,\n\t\t\t\t...layout,\n\t\t\t} );\n\n\t\t\tif ( onLayout ) {\n\t\t\t\tonLayout( event );\n\t\t\t}\n\t\t},\n\t\t[ clientId, rootClientId, updateBlocksLayouts, onLayout ]\n\t);\n\n\treturn <View onLayout={ onCellLayout }>{ children }</View>;\n}\n\nexport default BlockListItemCell;\n"]}
@@ -154,23 +154,26 @@ class BlockListItem extends _element.Component {
154
154
 
155
155
  render() {
156
156
  const {
157
- gridProperties,
158
- clientId,
159
157
  parentWidth,
160
- items,
161
- blockWidth
158
+ blockWidth,
159
+ isGridItem
162
160
  } = this.props;
163
161
 
164
162
  if (!blockWidth) {
165
163
  return null;
166
164
  }
167
165
 
168
- if (gridProperties) {
166
+ if (isGridItem) {
167
+ const {
168
+ numOfColumns,
169
+ tileCount,
170
+ tileIndex
171
+ } = this.props;
169
172
  return (0, _element.createElement)(_gridItem.default, {
170
- numOfColumns: gridProperties.numColumns,
171
- tileCount: items.length,
172
- index: items.indexOf(clientId),
173
- maxWidth: parentWidth
173
+ maxWidth: parentWidth,
174
+ numOfColumns: numOfColumns,
175
+ tileCount: tileCount,
176
+ index: tileIndex
174
177
  }, this.renderContent());
175
178
  }
176
179
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-item.native.js"],"names":["stretchStyle","flex","BlockListItem","Component","getMarginHorizontal","blockAlignment","marginHorizontal","parentBlockAlignment","hasParents","blockName","parentBlockName","parentWidth","blockWidth","props","isFullWidth","isWideWidth","isWider","isContainerRelated","alignmentHelpers","screenWidth","Math","floor","Dimensions","get","width","isScreenWidthEqual","getContentStyles","readableContentViewStyle","styles","fullAlignment","paddingHorizontal","fullAlignmentPadding","paddingLeft","renderContent","clientId","isReadOnly","shouldShowInsertionPointBefore","shouldShowInsertionPointAfter","contentResizeMode","shouldShowInnerBlockAppender","restProps","maxWidth","render","gridProperties","items","numColumns","length","indexOf","select","rootClientId","isStackedHorizontally","getBlockOrder","getBlockInsertionPoint","isBlockInsertionPointVisible","getSettings","getBlockParents","getBlock","blockEditorStore","blockClientIds","insertionPoint","blockInsertionPointIsVisible","index","readOnly","attributes","name","align","parents","parentBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { ReadableContentView, alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockInsertionPoint from './insertion-point';\nimport Grid from './grid-item';\n\nimport styles from './block-list-item.native.scss';\nimport { store as blockEditorStore } from '../../store';\n\nconst stretchStyle = {\n\tflex: 1,\n};\n\nexport class BlockListItem extends Component {\n\tgetMarginHorizontal() {\n\t\tconst {\n\t\t\tblockAlignment,\n\t\t\tmarginHorizontal,\n\t\t\tparentBlockAlignment,\n\t\t\thasParents,\n\t\t\tblockName,\n\t\t\tparentBlockName,\n\t\t\tparentWidth,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisFullWidth,\n\t\t\tisWideWidth,\n\t\t\tisWider,\n\t\t\tisContainerRelated,\n\t\t} = alignmentHelpers;\n\n\t\tif ( isFullWidth( blockAlignment ) ) {\n\t\t\tif ( ! hasParents ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn marginHorizontal;\n\t\t}\n\t\tif ( isWideWidth( blockAlignment ) ) {\n\t\t\treturn marginHorizontal;\n\t\t}\n\n\t\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\t\tif (\n\t\t\tisFullWidth( parentBlockAlignment ) &&\n\t\t\t! isWider( blockWidth, 'medium' )\n\t\t) {\n\t\t\tif (\n\t\t\t\tisContainerRelated( blockName ) ||\n\t\t\t\tisWider( screenWidth, 'mobile' )\n\t\t\t) {\n\t\t\t\treturn marginHorizontal;\n\t\t\t}\n\t\t\treturn marginHorizontal * 2;\n\t\t}\n\n\t\tif (\n\t\t\tisContainerRelated( parentBlockName ) &&\n\t\t\t! isContainerRelated( blockName )\n\t\t) {\n\t\t\tconst isScreenWidthEqual = parentWidth === screenWidth;\n\t\t\tif ( isScreenWidthEqual || isWider( screenWidth, 'mobile' ) ) {\n\t\t\t\treturn marginHorizontal;\n\t\t\t}\n\t\t}\n\n\t\treturn marginHorizontal;\n\t}\n\n\tgetContentStyles( readableContentViewStyle ) {\n\t\tconst {\n\t\t\tblockAlignment,\n\t\t\tblockName,\n\t\t\thasParents,\n\t\t\tparentBlockName,\n\t\t} = this.props;\n\t\tconst { isFullWidth, isContainerRelated } = alignmentHelpers;\n\n\t\treturn [\n\t\t\treadableContentViewStyle,\n\t\t\tisFullWidth( blockAlignment ) &&\n\t\t\t\t! hasParents && {\n\t\t\t\t\twidth: styles.fullAlignment.width,\n\t\t\t\t},\n\t\t\t! blockAlignment &&\n\t\t\t\thasParents &&\n\t\t\t\t! isContainerRelated( parentBlockName ) &&\n\t\t\t\tisContainerRelated( blockName ) && {\n\t\t\t\t\tpaddingHorizontal: styles.fullAlignmentPadding.paddingLeft,\n\t\t\t\t},\n\t\t];\n\t}\n\n\trenderContent() {\n\t\tconst {\n\t\t\tblockAlignment,\n\t\t\tclientId,\n\t\t\tisReadOnly,\n\t\t\tshouldShowInsertionPointBefore,\n\t\t\tshouldShowInsertionPointAfter,\n\t\t\tcontentResizeMode,\n\t\t\tshouldShowInnerBlockAppender,\n\t\t\tparentWidth,\n\t\t\tmarginHorizontal,\n\t\t\tblockName,\n\t\t\tblockWidth,\n\t\t\t...restProps\n\t\t} = this.props;\n\t\tconst readableContentViewStyle =\n\t\t\tcontentResizeMode === 'stretch' && stretchStyle;\n\t\tconst { isContainerRelated } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<ReadableContentView\n\t\t\t\talign={ blockAlignment }\n\t\t\t\tstyle={ [\n\t\t\t\t\treadableContentViewStyle,\n\t\t\t\t\tisContainerRelated( blockName ) &&\n\t\t\t\t\t\tparentWidth && {\n\t\t\t\t\t\t\tmaxWidth: parentWidth + 2 * marginHorizontal,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ this.getContentStyles( readableContentViewStyle ) }\n\t\t\t\t\tpointerEvents={ isReadOnly ? 'box-only' : 'auto' }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowInsertionPointBefore && (\n\t\t\t\t\t\t<BlockInsertionPoint />\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t\tshowTitle={ false }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\t\t{ ...restProps }\n\t\t\t\t\t\tmarginHorizontal={ this.getMarginHorizontal() }\n\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! shouldShowInnerBlockAppender() &&\n\t\t\t\t\t\tshouldShowInsertionPointAfter && (\n\t\t\t\t\t\t\t<BlockInsertionPoint />\n\t\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</ReadableContentView>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tgridProperties,\n\t\t\tclientId,\n\t\t\tparentWidth,\n\t\t\titems,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\n\t\tif ( ! blockWidth ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( gridProperties ) {\n\t\t\treturn (\n\t\t\t\t<Grid\n\t\t\t\t\tnumOfColumns={ gridProperties.numColumns }\n\t\t\t\t\ttileCount={ items.length }\n\t\t\t\t\tindex={ items.indexOf( clientId ) }\n\t\t\t\t\tmaxWidth={ parentWidth }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderContent() }\n\t\t\t\t</Grid>\n\t\t\t);\n\t\t}\n\t\treturn this.renderContent();\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, isStackedHorizontally, clientId } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlock,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\t\tconst shouldShowInsertionPointBefore =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tblockInsertionPointIsVisible &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t\t// If list is empty, show the insertion point (via the default appender)\n\t\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t\t// Or if the insertion point is right before the denoted block.\n\t\t\t\t\tblockClientIds[ insertionPoint.index ] === clientId );\n\n\t\t\tconst shouldShowInsertionPointAfter =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tblockInsertionPointIsVisible &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t\t// If the insertion point is at the end of the list.\n\t\t\t\tblockClientIds.length === insertionPoint.index &&\n\t\t\t\t// And the denoted block is the last one on the list, show the indicator at the end of the block.\n\t\t\t\tblockClientIds[ insertionPoint.index - 1 ] === clientId;\n\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst { attributes, name } = getBlock( clientId ) || {};\n\t\t\tconst { align } = attributes || {};\n\t\t\tconst parents = getBlockParents( clientId, true );\n\t\t\tconst hasParents = !! parents.length;\n\t\t\tconst parentBlock = hasParents ? getBlock( parents[ 0 ] ) : {};\n\t\t\tconst { align: parentBlockAlignment } =\n\t\t\t\tparentBlock?.attributes || {};\n\t\t\tconst { name: parentBlockName } = parentBlock || {};\n\n\t\t\treturn {\n\t\t\t\tshouldShowInsertionPointBefore,\n\t\t\t\tshouldShowInsertionPointAfter,\n\t\t\t\tisReadOnly,\n\t\t\t\thasParents,\n\t\t\t\tblockAlignment: align,\n\t\t\t\tparentBlockAlignment,\n\t\t\t\tblockName: name,\n\t\t\t\tparentBlockName,\n\t\t\t};\n\t\t}\n\t),\n] )( BlockListItem );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-item.native.js"],"names":["stretchStyle","flex","BlockListItem","Component","getMarginHorizontal","blockAlignment","marginHorizontal","parentBlockAlignment","hasParents","blockName","parentBlockName","parentWidth","blockWidth","props","isFullWidth","isWideWidth","isWider","isContainerRelated","alignmentHelpers","screenWidth","Math","floor","Dimensions","get","width","isScreenWidthEqual","getContentStyles","readableContentViewStyle","styles","fullAlignment","paddingHorizontal","fullAlignmentPadding","paddingLeft","renderContent","clientId","isReadOnly","shouldShowInsertionPointBefore","shouldShowInsertionPointAfter","contentResizeMode","shouldShowInnerBlockAppender","restProps","maxWidth","render","isGridItem","numOfColumns","tileCount","tileIndex","select","rootClientId","isStackedHorizontally","getBlockOrder","getBlockInsertionPoint","isBlockInsertionPointVisible","getSettings","getBlockParents","getBlock","blockEditorStore","blockClientIds","insertionPoint","blockInsertionPointIsVisible","length","index","readOnly","attributes","name","align","parents","parentBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { ReadableContentView, alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockInsertionPoint from './insertion-point';\nimport Grid from './grid-item';\n\nimport styles from './block-list-item.native.scss';\nimport { store as blockEditorStore } from '../../store';\n\nconst stretchStyle = {\n\tflex: 1,\n};\n\nexport class BlockListItem extends Component {\n\tgetMarginHorizontal() {\n\t\tconst {\n\t\t\tblockAlignment,\n\t\t\tmarginHorizontal,\n\t\t\tparentBlockAlignment,\n\t\t\thasParents,\n\t\t\tblockName,\n\t\t\tparentBlockName,\n\t\t\tparentWidth,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst { isFullWidth, isWideWidth, isWider, isContainerRelated } =\n\t\t\talignmentHelpers;\n\n\t\tif ( isFullWidth( blockAlignment ) ) {\n\t\t\tif ( ! hasParents ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn marginHorizontal;\n\t\t}\n\t\tif ( isWideWidth( blockAlignment ) ) {\n\t\t\treturn marginHorizontal;\n\t\t}\n\n\t\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\t\tif (\n\t\t\tisFullWidth( parentBlockAlignment ) &&\n\t\t\t! isWider( blockWidth, 'medium' )\n\t\t) {\n\t\t\tif (\n\t\t\t\tisContainerRelated( blockName ) ||\n\t\t\t\tisWider( screenWidth, 'mobile' )\n\t\t\t) {\n\t\t\t\treturn marginHorizontal;\n\t\t\t}\n\t\t\treturn marginHorizontal * 2;\n\t\t}\n\n\t\tif (\n\t\t\tisContainerRelated( parentBlockName ) &&\n\t\t\t! isContainerRelated( blockName )\n\t\t) {\n\t\t\tconst isScreenWidthEqual = parentWidth === screenWidth;\n\t\t\tif ( isScreenWidthEqual || isWider( screenWidth, 'mobile' ) ) {\n\t\t\t\treturn marginHorizontal;\n\t\t\t}\n\t\t}\n\n\t\treturn marginHorizontal;\n\t}\n\n\tgetContentStyles( readableContentViewStyle ) {\n\t\tconst { blockAlignment, blockName, hasParents, parentBlockName } =\n\t\t\tthis.props;\n\t\tconst { isFullWidth, isContainerRelated } = alignmentHelpers;\n\n\t\treturn [\n\t\t\treadableContentViewStyle,\n\t\t\tisFullWidth( blockAlignment ) &&\n\t\t\t\t! hasParents && {\n\t\t\t\t\twidth: styles.fullAlignment.width,\n\t\t\t\t},\n\t\t\t! blockAlignment &&\n\t\t\t\thasParents &&\n\t\t\t\t! isContainerRelated( parentBlockName ) &&\n\t\t\t\tisContainerRelated( blockName ) && {\n\t\t\t\t\tpaddingHorizontal: styles.fullAlignmentPadding.paddingLeft,\n\t\t\t\t},\n\t\t];\n\t}\n\n\trenderContent() {\n\t\tconst {\n\t\t\tblockAlignment,\n\t\t\tclientId,\n\t\t\tisReadOnly,\n\t\t\tshouldShowInsertionPointBefore,\n\t\t\tshouldShowInsertionPointAfter,\n\t\t\tcontentResizeMode,\n\t\t\tshouldShowInnerBlockAppender,\n\t\t\tparentWidth,\n\t\t\tmarginHorizontal,\n\t\t\tblockName,\n\t\t\tblockWidth,\n\t\t\t...restProps\n\t\t} = this.props;\n\n\t\tconst readableContentViewStyle =\n\t\t\tcontentResizeMode === 'stretch' && stretchStyle;\n\t\tconst { isContainerRelated } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<ReadableContentView\n\t\t\t\talign={ blockAlignment }\n\t\t\t\tstyle={ [\n\t\t\t\t\treadableContentViewStyle,\n\t\t\t\t\tisContainerRelated( blockName ) &&\n\t\t\t\t\t\tparentWidth && {\n\t\t\t\t\t\t\tmaxWidth: parentWidth + 2 * marginHorizontal,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ this.getContentStyles( readableContentViewStyle ) }\n\t\t\t\t\tpointerEvents={ isReadOnly ? 'box-only' : 'auto' }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowInsertionPointBefore && (\n\t\t\t\t\t\t<BlockInsertionPoint />\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t\tshowTitle={ false }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\t\t{ ...restProps }\n\t\t\t\t\t\tmarginHorizontal={ this.getMarginHorizontal() }\n\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! shouldShowInnerBlockAppender() &&\n\t\t\t\t\t\tshouldShowInsertionPointAfter && (\n\t\t\t\t\t\t\t<BlockInsertionPoint />\n\t\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</ReadableContentView>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { parentWidth, blockWidth, isGridItem } = this.props;\n\n\t\tif ( ! blockWidth ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( isGridItem ) {\n\t\t\tconst { numOfColumns, tileCount, tileIndex } = this.props;\n\t\t\treturn (\n\t\t\t\t<Grid\n\t\t\t\t\tmaxWidth={ parentWidth }\n\t\t\t\t\tnumOfColumns={ numOfColumns }\n\t\t\t\t\ttileCount={ tileCount }\n\t\t\t\t\tindex={ tileIndex }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderContent() }\n\t\t\t\t</Grid>\n\t\t\t);\n\t\t}\n\t\treturn this.renderContent();\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, isStackedHorizontally, clientId } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlock,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\t\tconst shouldShowInsertionPointBefore =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tblockInsertionPointIsVisible &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t\t// If list is empty, show the insertion point (via the default appender)\n\t\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t\t// Or if the insertion point is right before the denoted block.\n\t\t\t\t\tblockClientIds[ insertionPoint.index ] === clientId );\n\n\t\t\tconst shouldShowInsertionPointAfter =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tblockInsertionPointIsVisible &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t\t// If the insertion point is at the end of the list.\n\t\t\t\tblockClientIds.length === insertionPoint.index &&\n\t\t\t\t// And the denoted block is the last one on the list, show the indicator at the end of the block.\n\t\t\t\tblockClientIds[ insertionPoint.index - 1 ] === clientId;\n\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst { attributes, name } = getBlock( clientId ) || {};\n\t\t\tconst { align } = attributes || {};\n\t\t\tconst parents = getBlockParents( clientId, true );\n\t\t\tconst hasParents = !! parents.length;\n\t\t\tconst parentBlock = hasParents ? getBlock( parents[ 0 ] ) : {};\n\t\t\tconst { align: parentBlockAlignment } =\n\t\t\t\tparentBlock?.attributes || {};\n\t\t\tconst { name: parentBlockName } = parentBlock || {};\n\n\t\t\treturn {\n\t\t\t\tshouldShowInsertionPointBefore,\n\t\t\t\tshouldShowInsertionPointAfter,\n\t\t\t\tisReadOnly,\n\t\t\t\thasParents,\n\t\t\t\tblockAlignment: align,\n\t\t\t\tparentBlockAlignment,\n\t\t\t\tblockName: name,\n\t\t\t\tparentBlockName,\n\t\t\t};\n\t\t}\n\t),\n] )( BlockListItem );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-selection-button.native.js"],"names":["BlockSelectionButton","clientId","rootClientId","rootBlockIcon","isRTL","blockInformation","styles","selectionButtonContainer","densedPaddingLeft","button","src","icon","color","arrow","selectionButtonTitle","select","getBlockRootClientId","getBlockName","getSettings","blockEditorStore","rootBlockName","rootBlockType"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AArBA;AACA;AACA;;AAOA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAMA,oBAAoB,GAAG,QAKtB;AAAA,MALwB;AAC9BC,IAAAA,QAD8B;AAE9BC,IAAAA,YAF8B;AAG9BC,IAAAA,aAH8B;AAI9BC,IAAAA;AAJ8B,GAKxB;AACN,QAAMC,gBAAgB,GAAG,yCAA4BJ,QAA5B,CAAzB;AACA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACPK,8BAAOC,wBADA,EAEPL,YAAY,IAAII,8BAAOE,iBAFhB;AADT,KAMC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGF,8BAAOG,MADhB;AAEC,IAAA,OAAO,EAAG,MAAM;AACf;AACA,KAJF;AAKC,IAAA,QAAQ,EACP;AACC;;AAPH,KASGP,YAAY,IACbC,aADC,IACgB,CAChB,4BAAC,gBAAD;AACC,IAAA,GAAG,EAAC,aADL;AAEC,IAAA,IAAI,EAAG,EAFR;AAGC,IAAA,IAAI,EAAGA,aAAa,CAACO,GAHtB;AAIC,IAAA,IAAI,EAAGJ,8BAAOK,IAAP,CAAYC;AAJpB,IADgB,EAOhB,4BAAC,iBAAD;AAAM,IAAA,GAAG,EAAC,mBAAV;AAA8B,IAAA,KAAK,EAAGN,8BAAOO;AAA7C,KACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGP,8BAAOO,KAAP,CAAaD,KADrB;AAEC,IAAA,KAAK,EAAGR;AAFT,IADD,CAPgB,CAVnB,EAwBG,CAAAC,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEM,IAAlB,KACD,4BAAC,sBAAD;AACC,IAAA,IAAI,EAAG,EADR;AAEC,IAAA,IAAI,EAAGN,gBAAgB,CAACM,IAFzB;AAGC,IAAA,IAAI,EAAGL,8BAAOK,IAAP,CAAYC;AAHpB,IAzBF,EA+BC,4BAAC,iBAAD;AACC,IAAA,qBAAqB,EAAG,IADzB;AAEC,IAAA,aAAa,EAAC,MAFf;AAGC,IAAA,aAAa,EAAG,CAHjB;AAIC,IAAA,KAAK,EAAGN,8BAAOQ;AAJhB,KAMC,4BAAC,mBAAD;AAAY,IAAA,QAAQ,EAAGb,QAAvB;AAAkC,IAAA,aAAa,EAAG;AAAlD,IAND,CA/BD,CAND,CADD;AAiDA,CAxDD;;eA0De,sBAAS,CACvB,sBAAY,CAAEc,MAAF,YAA4B;AAAA,MAAlB;AAAEd,IAAAA;AAAF,GAAkB;AACvC,QAAM;AAAEe,IAAAA,oBAAF;AAAwBC,IAAAA,YAAxB;AAAsCC,IAAAA;AAAtC,MAAsDH,MAAM,CACjEI,YADiE,CAAlE;AAGA,QAAMjB,YAAY,GAAGc,oBAAoB,CAAEf,QAAF,CAAzC;;AAEA,MAAK,CAAEC,YAAP,EAAsB;AACrB,WAAO;AAAED,MAAAA;AAAF,KAAP;AACA;;AACD,QAAMmB,aAAa,GAAGH,YAAY,CAAEf,YAAF,CAAlC;AACA,QAAMmB,aAAa,GAAG,0BAAcD,aAAd,CAAtB;AACA,QAAMjB,aAAa,GAAGkB,aAAa,GAAGA,aAAa,CAACV,IAAjB,GAAwB,EAA3D;AAEA,SAAO;AACNV,IAAAA,QADM;AAENC,IAAAA,YAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,KAAK,EAAEc,WAAW,GAAGd;AAJf,GAAP;AAMA,CAnBD,CADuB,CAAT,EAqBVJ,oBArBU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { getBlockType } from '@wordpress/blocks';\nimport { BlockIcon } from '@wordpress/block-editor';\n\n/**\n * External dependencies\n */\nimport { View, Text, TouchableOpacity } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport SubdirectorSVG from './subdirectory-icon';\nimport { store as blockEditorStore } from '../../store';\nimport styles from './block-selection-button.scss';\n\nconst BlockSelectionButton = ( {\n\tclientId,\n\trootClientId,\n\trootBlockIcon,\n\tisRTL,\n} ) => {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.selectionButtonContainer,\n\t\t\t\trootClientId && styles.densedPaddingLeft,\n\t\t\t] }\n\t\t>\n\t\t\t<TouchableOpacity\n\t\t\t\tstyle={ styles.button }\n\t\t\t\tonPress={ () => {\n\t\t\t\t\t/* Open BottomSheet with markup. */\n\t\t\t\t} }\n\t\t\t\tdisabled={\n\t\t\t\t\ttrue\n\t\t\t\t} /* Disable temporarily since onPress function is empty. */\n\t\t\t>\n\t\t\t\t{ rootClientId &&\n\t\t\t\t\trootBlockIcon && [\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tkey=\"parent-icon\"\n\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\ticon={ rootBlockIcon.src }\n\t\t\t\t\t\t\tfill={ styles.icon.color }\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\t<View key=\"subdirectory-icon\" style={ styles.arrow }>\n\t\t\t\t\t\t\t<SubdirectorSVG\n\t\t\t\t\t\t\t\tfill={ styles.arrow.color }\n\t\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>,\n\t\t\t\t\t] }\n\t\t\t\t{ blockInformation?.icon && (\n\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\ticon={ blockInformation.icon }\n\t\t\t\t\t\tfill={ styles.icon.color }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Text\n\t\t\t\t\tmaxFontSizeMultiplier={ 1.25 }\n\t\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tstyle={ styles.selectionButtonTitle }\n\t\t\t\t>\n\t\t\t\t\t<BlockTitle clientId={ clientId } maximumLength={ 35 } />\n\t\t\t\t</Text>\n\t\t\t</TouchableOpacity>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlockRootClientId, getBlockName, getSettings } = select(\n\t\t\tblockEditorStore\n\t\t);\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\tif ( ! rootClientId ) {\n\t\t\treturn { clientId };\n\t\t}\n\t\tconst rootBlockName = getBlockName( rootClientId );\n\t\tconst rootBlockType = getBlockType( rootBlockName );\n\t\tconst rootBlockIcon = rootBlockType ? rootBlockType.icon : {};\n\n\t\treturn {\n\t\t\tclientId,\n\t\t\trootClientId,\n\t\t\trootBlockIcon,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} ),\n] )( BlockSelectionButton );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-selection-button.native.js"],"names":["BlockSelectionButton","clientId","rootClientId","rootBlockIcon","isRTL","blockInformation","styles","selectionButtonContainer","densedPaddingLeft","button","src","icon","color","arrow","selectionButtonTitle","select","getBlockRootClientId","getBlockName","getSettings","blockEditorStore","rootBlockName","rootBlockType"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AArBA;AACA;AACA;;AAOA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAMA,oBAAoB,GAAG,QAKtB;AAAA,MALwB;AAC9BC,IAAAA,QAD8B;AAE9BC,IAAAA,YAF8B;AAG9BC,IAAAA,aAH8B;AAI9BC,IAAAA;AAJ8B,GAKxB;AACN,QAAMC,gBAAgB,GAAG,yCAA4BJ,QAA5B,CAAzB;AACA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACPK,8BAAOC,wBADA,EAEPL,YAAY,IAAII,8BAAOE,iBAFhB;AADT,KAMC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGF,8BAAOG,MADhB;AAEC,IAAA,OAAO,EAAG,MAAM;AACf;AACA,KAJF;AAKC,IAAA,QAAQ,EACP;AACC;;AAPH,KASGP,YAAY,IACbC,aADC,IACgB,CAChB,4BAAC,gBAAD;AACC,IAAA,GAAG,EAAC,aADL;AAEC,IAAA,IAAI,EAAG,EAFR;AAGC,IAAA,IAAI,EAAGA,aAAa,CAACO,GAHtB;AAIC,IAAA,IAAI,EAAGJ,8BAAOK,IAAP,CAAYC;AAJpB,IADgB,EAOhB,4BAAC,iBAAD;AAAM,IAAA,GAAG,EAAC,mBAAV;AAA8B,IAAA,KAAK,EAAGN,8BAAOO;AAA7C,KACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGP,8BAAOO,KAAP,CAAaD,KADrB;AAEC,IAAA,KAAK,EAAGR;AAFT,IADD,CAPgB,CAVnB,EAwBG,CAAAC,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEM,IAAlB,KACD,4BAAC,sBAAD;AACC,IAAA,IAAI,EAAG,EADR;AAEC,IAAA,IAAI,EAAGN,gBAAgB,CAACM,IAFzB;AAGC,IAAA,IAAI,EAAGL,8BAAOK,IAAP,CAAYC;AAHpB,IAzBF,EA+BC,4BAAC,iBAAD;AACC,IAAA,qBAAqB,EAAG,IADzB;AAEC,IAAA,aAAa,EAAC,MAFf;AAGC,IAAA,aAAa,EAAG,CAHjB;AAIC,IAAA,KAAK,EAAGN,8BAAOQ;AAJhB,KAMC,4BAAC,mBAAD;AAAY,IAAA,QAAQ,EAAGb,QAAvB;AAAkC,IAAA,aAAa,EAAG;AAAlD,IAND,CA/BD,CAND,CADD;AAiDA,CAxDD;;eA0De,sBAAS,CACvB,sBAAY,CAAEc,MAAF,YAA4B;AAAA,MAAlB;AAAEd,IAAAA;AAAF,GAAkB;AACvC,QAAM;AAAEe,IAAAA,oBAAF;AAAwBC,IAAAA,YAAxB;AAAsCC,IAAAA;AAAtC,MACLH,MAAM,CAAEI,YAAF,CADP;AAEA,QAAMjB,YAAY,GAAGc,oBAAoB,CAAEf,QAAF,CAAzC;;AAEA,MAAK,CAAEC,YAAP,EAAsB;AACrB,WAAO;AAAED,MAAAA;AAAF,KAAP;AACA;;AACD,QAAMmB,aAAa,GAAGH,YAAY,CAAEf,YAAF,CAAlC;AACA,QAAMmB,aAAa,GAAG,0BAAcD,aAAd,CAAtB;AACA,QAAMjB,aAAa,GAAGkB,aAAa,GAAGA,aAAa,CAACV,IAAjB,GAAwB,EAA3D;AAEA,SAAO;AACNV,IAAAA,QADM;AAENC,IAAAA,YAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,KAAK,EAAEc,WAAW,GAAGd;AAJf,GAAP;AAMA,CAlBD,CADuB,CAAT,EAoBVJ,oBApBU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { getBlockType } from '@wordpress/blocks';\nimport { BlockIcon } from '@wordpress/block-editor';\n\n/**\n * External dependencies\n */\nimport { View, Text, TouchableOpacity } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport SubdirectorSVG from './subdirectory-icon';\nimport { store as blockEditorStore } from '../../store';\nimport styles from './block-selection-button.scss';\n\nconst BlockSelectionButton = ( {\n\tclientId,\n\trootClientId,\n\trootBlockIcon,\n\tisRTL,\n} ) => {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.selectionButtonContainer,\n\t\t\t\trootClientId && styles.densedPaddingLeft,\n\t\t\t] }\n\t\t>\n\t\t\t<TouchableOpacity\n\t\t\t\tstyle={ styles.button }\n\t\t\t\tonPress={ () => {\n\t\t\t\t\t/* Open BottomSheet with markup. */\n\t\t\t\t} }\n\t\t\t\tdisabled={\n\t\t\t\t\ttrue\n\t\t\t\t} /* Disable temporarily since onPress function is empty. */\n\t\t\t>\n\t\t\t\t{ rootClientId &&\n\t\t\t\t\trootBlockIcon && [\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tkey=\"parent-icon\"\n\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\ticon={ rootBlockIcon.src }\n\t\t\t\t\t\t\tfill={ styles.icon.color }\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\t<View key=\"subdirectory-icon\" style={ styles.arrow }>\n\t\t\t\t\t\t\t<SubdirectorSVG\n\t\t\t\t\t\t\t\tfill={ styles.arrow.color }\n\t\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>,\n\t\t\t\t\t] }\n\t\t\t\t{ blockInformation?.icon && (\n\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\ticon={ blockInformation.icon }\n\t\t\t\t\t\tfill={ styles.icon.color }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Text\n\t\t\t\t\tmaxFontSizeMultiplier={ 1.25 }\n\t\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tstyle={ styles.selectionButtonTitle }\n\t\t\t\t>\n\t\t\t\t\t<BlockTitle clientId={ clientId } maximumLength={ 35 } />\n\t\t\t\t</Text>\n\t\t\t</TouchableOpacity>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlockRootClientId, getBlockName, getSettings } =\n\t\t\tselect( blockEditorStore );\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\tif ( ! rootClientId ) {\n\t\t\treturn { clientId };\n\t\t}\n\t\tconst rootBlockName = getBlockName( rootClientId );\n\t\tconst rootBlockType = getBlockType( rootBlockName );\n\t\tconst rootBlockIcon = rootBlockType ? rootBlockType.icon : {};\n\n\t\treturn {\n\t\t\tclientId,\n\t\t\trootClientId,\n\t\t\trootBlockIcon,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} ),\n] )( BlockSelectionButton );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"names":["BlockListBlockContext","mergeWrapperProps","propsA","propsB","newProps","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","themeSupportsLayout","select","getSettings","blockEditorStore","supportsLayout","removeBlock","onRemove","blockEdit","undefined","blockType","getEditWrapperProps","isAligned","saveContent","display","apiVersion","value","memoizedValue","Object","values","applyWithSelect","rootClientId","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","templateLock","canMove","applyWithDispatch","dispatch","ownProps","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","length","onInsertBlocks","blocks","index","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tRawHTML,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport {\n\twithDispatch,\n\twithSelect,\n\tuseDispatch,\n\tuseSelect,\n} from '@wordpress/data';\nimport { compose, pure, ifCondition } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BlockListBlockContext = createContext();\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\tif ( propsA && propsB && propsA.className && propsB.className ) {\n\t\tnewProps.className = classnames( propsA.className, propsB.className );\n\t}\n\tif ( propsA && propsB && propsA.style && propsB.style ) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().supportsLayout;\n\t}, [] );\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName=\"wp-block\"\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block { ...wrapperProps }>{ blockEdit }</Block>;\n\t}\n\n\tconst value = {\n\t\tclientId,\n\t\tclassName:\n\t\t\twrapperProps?.[ 'data-align' ] && themeSupportsLayout\n\t\t\t\t? classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t`align${ wrapperProps[ 'data-align' ] }`\n\t\t\t\t )\n\t\t\t\t: className,\n\t\twrapperProps: omit( wrapperProps, [ 'data-align' ] ),\n\t\tisAligned,\n\t};\n\tconst memoizedValue = useMemo( () => value, Object.values( value ) );\n\n\treturn (\n\t\t<BlockListBlockContext.Provider value={ memoizedValue }>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</BlockListBlockContext.Provider>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, attributes, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, { select } ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst multiSelectedBlockClientIds = getMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { getPreviousBlockClientId, getNextBlockClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tif ( forward ) {\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tpure,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// Block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"names":["BlockListBlockContext","mergeWrapperProps","propsA","propsB","newProps","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","themeSupportsLayout","select","getSettings","blockEditorStore","supportsLayout","removeBlock","onRemove","blockEdit","undefined","blockType","getEditWrapperProps","isAligned","saveContent","display","apiVersion","value","memoizedValue","Object","values","applyWithSelect","rootClientId","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","templateLock","canMove","applyWithDispatch","dispatch","ownProps","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","length","onInsertBlocks","blocks","index","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tRawHTML,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport {\n\twithDispatch,\n\twithSelect,\n\tuseDispatch,\n\tuseSelect,\n} from '@wordpress/data';\nimport { compose, pure, ifCondition } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BlockListBlockContext = createContext();\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\tif ( propsA && propsB && propsA.className && propsB.className ) {\n\t\tnewProps.className = classnames( propsA.className, propsB.className );\n\t}\n\tif ( propsA && propsB && propsA.style && propsB.style ) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().supportsLayout;\n\t}, [] );\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName=\"wp-block\"\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block { ...wrapperProps }>{ blockEdit }</Block>;\n\t}\n\n\tconst value = {\n\t\tclientId,\n\t\tclassName:\n\t\t\twrapperProps?.[ 'data-align' ] && themeSupportsLayout\n\t\t\t\t? classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t`align${ wrapperProps[ 'data-align' ] }`\n\t\t\t\t )\n\t\t\t\t: className,\n\t\twrapperProps: omit( wrapperProps, [ 'data-align' ] ),\n\t\tisAligned,\n\t};\n\tconst memoizedValue = useMemo( () => value, Object.values( value ) );\n\n\treturn (\n\t\t<BlockListBlockContext.Provider value={ memoizedValue }>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</BlockListBlockContext.Provider>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, attributes, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, { select } ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { getPreviousBlockClientId, getNextBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tif ( forward ) {\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tpure,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// Block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"]}
@@ -35,6 +35,8 @@ var _blockMobileToolbar = _interopRequireDefault(require("../block-mobile-toolba
35
35
 
36
36
  var _store = require("../../store");
37
37
 
38
+ var _blockDraggable = _interopRequireDefault(require("../block-draggable"));
39
+
38
40
  /**
39
41
  * External dependencies
40
42
  */
@@ -195,7 +197,9 @@ class BlockListBlock extends _element.Component {
195
197
  marginVertical,
196
198
  marginHorizontal,
197
199
  isInnerBlockSelected,
198
- name
200
+ name,
201
+ draggingEnabled,
202
+ draggingClientId
199
203
  } = this.props;
200
204
 
201
205
  if (!attributes || !blockType) {
@@ -240,10 +244,15 @@ class BlockListBlock extends _element.Component {
240
244
  style: [_block.default.solidBorder, isFullWidth(align) && isScreenWidthWider && _block.default.borderFullWidth, isFullWidth(align) && isContainerRelated(name) && isScreenWidthWider && _block.default.containerBorderFullWidth, getStylesFromColorScheme(_block.default.solidBorderColor, _block.default.solidBorderColorDark)]
241
245
  }), isParentSelected && (0, _element.createElement)(_reactNative.View, {
242
246
  style: [_block.default.dashedBorder, getStylesFromColorScheme(_block.default.dashedBorderColor, _block.default.dashedBorderColorDark)]
243
- }), isValid ? this.getBlockForType() : (0, _element.createElement)(_blockInvalidWarning.default, {
247
+ }), (0, _element.createElement)(_blockDraggable.default, {
248
+ clientId: clientId,
249
+ draggingClientId: draggingClientId,
250
+ enabled: draggingEnabled,
251
+ testID: "draggable-trigger-content"
252
+ }, () => isValid ? this.getBlockForType() : (0, _element.createElement)(_blockInvalidWarning.default, {
244
253
  blockTitle: title,
245
254
  icon: icon
246
- }), (0, _element.createElement)(_reactNative.View, {
255
+ })), (0, _element.createElement)(_reactNative.View, {
247
256
  style: _block.default.neutralToolbar,
248
257
  ref: this.anchorNodeRef
249
258
  }, isSelected && (0, _element.createElement)(_blockMobileToolbar.default, {
@@ -252,7 +261,8 @@ class BlockListBlock extends _element.Component {
252
261
  isStackedHorizontally: isStackedHorizontally,
253
262
  blockWidth: blockWidth,
254
263
  anchorNodeRef: this.anchorNodeRef.current,
255
- isFullWidth: isFullWidthToolbar
264
+ isFullWidth: isFullWidthToolbar,
265
+ draggingClientId: draggingClientId
256
266
  })))));
257
267
  }
258
268
 
@@ -286,13 +296,15 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
286
296
  } = _ref3;
287
297
  const {
288
298
  getBlockIndex,
299
+ getBlockCount,
289
300
  getSettings,
290
301
  isBlockSelected,
291
302
  getBlock,
292
303
  getSelectedBlockClientId,
293
304
  getLowestCommonAncestorWithSelectedBlock,
294
305
  getBlockParents,
295
- hasSelectedInnerBlock
306
+ hasSelectedInnerBlock,
307
+ getBlockHierarchyRootClientId
296
308
  } = select(_store.store);
297
309
  const order = getBlockIndex(clientId);
298
310
  const isSelected = isBlockSelected(clientId);
@@ -318,6 +330,14 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
318
330
  const isDescendantOfParentSelected = selectedParents.includes(parentId);
319
331
  const isTouchable = isSelected || isDescendantOfParentSelected || isParentSelected || parentId === '';
320
332
  const baseGlobalStyles = (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.__experimentalGlobalStylesBaseStyles;
333
+ const hasInnerBlocks = getBlockCount(clientId) > 0; // For blocks with inner blocks, we only enable the dragging in the nested
334
+ // blocks if any of them are selected. This way we prevent the long-press
335
+ // gesture from being disabled for elements within the block UI.
336
+
337
+ const draggingEnabled = !hasInnerBlocks || isSelected || !hasSelectedInnerBlock(clientId, true); // Dragging nested blocks is not supported yet. For this reason, the block to be dragged
338
+ // will be the top in the hierarchy.
339
+
340
+ const draggingClientId = getBlockHierarchyRootClientId(clientId);
321
341
  return {
322
342
  icon,
323
343
  name: name || 'core/missing',
@@ -325,6 +345,8 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
325
345
  title,
326
346
  attributes,
327
347
  blockType,
348
+ draggingClientId,
349
+ draggingEnabled,
328
350
  isSelected,
329
351
  isInnerBlockSelected,
330
352
  isValid,