@wordpress/block-editor 12.16.0 → 12.17.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 (646) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -6
  4. package/build/components/block-canvas/index.js +0 -2
  5. package/build/components/block-canvas/index.js.map +1 -1
  6. package/build/components/block-card/index.js +1 -1
  7. package/build/components/block-card/index.js.map +1 -1
  8. package/build/components/block-draggable/draggable-chip.js +6 -1
  9. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  10. package/build/components/block-draggable/index.js +76 -6
  11. package/build/components/block-draggable/index.js.map +1 -1
  12. package/build/components/block-draggable/index.native.js +0 -6
  13. package/build/components/block-draggable/index.native.js.map +1 -1
  14. package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  15. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  16. package/build/components/block-editing-mode/index.js +2 -3
  17. package/build/components/block-editing-mode/index.js.map +1 -1
  18. package/build/components/block-inspector/index.js +1 -1
  19. package/build/components/block-inspector/index.js.map +1 -1
  20. package/build/components/block-list/block-list-item-cell.native.js +1 -0
  21. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  22. package/build/components/block-list/block.js +245 -102
  23. package/build/components/block-list/block.js.map +1 -1
  24. package/build/components/block-list/block.native.js +46 -20
  25. package/build/components/block-list/block.native.js.map +1 -1
  26. package/build/components/block-list/index.native.js +3 -5
  27. package/build/components/block-list/index.native.js.map +1 -1
  28. package/build/components/block-list/private-block-context.js +14 -0
  29. package/build/components/block-list/private-block-context.js.map +1 -0
  30. package/build/components/block-list/use-block-props/index.js +33 -96
  31. package/build/components/block-list/use-block-props/index.js.map +1 -1
  32. package/build/components/block-list/use-in-between-inserter.js +3 -2
  33. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  34. package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
  35. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  36. package/build/components/block-lock/toolbar.js +15 -27
  37. package/build/components/block-lock/toolbar.js.map +1 -1
  38. package/build/components/block-mover/index.js +2 -1
  39. package/build/components/block-mover/index.js.map +1 -1
  40. package/build/components/block-patterns-list/index.js +4 -4
  41. package/build/components/block-patterns-list/index.js.map +1 -1
  42. package/build/components/block-switcher/index.js +4 -4
  43. package/build/components/block-switcher/index.js.map +1 -1
  44. package/build/components/block-toolbar/index.js +1 -2
  45. package/build/components/block-toolbar/index.js.map +1 -1
  46. package/build/components/block-tools/block-toolbar-popover.js +0 -2
  47. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  48. package/build/components/block-variation-transforms/index.js +29 -2
  49. package/build/components/block-variation-transforms/index.js.map +1 -1
  50. package/build/components/border-radius-control/linked-button.js +1 -1
  51. package/build/components/border-radius-control/linked-button.js.map +1 -1
  52. package/build/components/colors/utils.js +10 -2
  53. package/build/components/colors/utils.js.map +1 -1
  54. package/build/components/colors/with-colors.js +6 -2
  55. package/build/components/colors/with-colors.js.map +1 -1
  56. package/build/components/font-sizes/utils.js +10 -2
  57. package/build/components/font-sizes/utils.js.map +1 -1
  58. package/build/components/global-styles/border-panel.js +2 -1
  59. package/build/components/global-styles/border-panel.js.map +1 -1
  60. package/build/components/global-styles/color-panel.js +2 -1
  61. package/build/components/global-styles/color-panel.js.map +1 -1
  62. package/build/components/global-styles/dimensions-panel.js +4 -3
  63. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  64. package/build/components/global-styles/effects-panel.js +2 -1
  65. package/build/components/global-styles/effects-panel.js.map +1 -1
  66. package/build/components/global-styles/filters-panel.js +1 -4
  67. package/build/components/global-styles/filters-panel.js.map +1 -1
  68. package/build/components/global-styles/get-global-styles-changes.js +192 -0
  69. package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
  70. package/build/components/global-styles/hooks.js +1 -1
  71. package/build/components/global-styles/hooks.js.map +1 -1
  72. package/build/components/global-styles/image-settings-panel.js +7 -1
  73. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  74. package/build/components/global-styles/index.js +7 -0
  75. package/build/components/global-styles/index.js.map +1 -1
  76. package/build/components/global-styles/typography-panel.js +2 -1
  77. package/build/components/global-styles/typography-panel.js.map +1 -1
  78. package/build/components/global-styles/use-global-styles-output.js +22 -8
  79. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  80. package/build/components/global-styles/utils.js +8 -1
  81. package/build/components/global-styles/utils.js.map +1 -1
  82. package/build/components/height-control/index.js +6 -2
  83. package/build/components/height-control/index.js.map +1 -1
  84. package/build/components/image-size-control/index.js +2 -2
  85. package/build/components/image-size-control/index.js.map +1 -1
  86. package/build/components/index.native.js +6 -5
  87. package/build/components/index.native.js.map +1 -1
  88. package/build/components/inner-blocks/index.js +61 -22
  89. package/build/components/inner-blocks/index.js.map +1 -1
  90. package/build/components/inner-blocks/index.native.js +18 -4
  91. package/build/components/inner-blocks/index.native.js.map +1 -1
  92. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  93. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  94. package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
  95. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  96. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  97. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  98. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
  99. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  100. package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
  101. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  102. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
  103. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  104. package/build/components/inserter/block-patterns-tab/utils.js +10 -14
  105. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  106. package/build/components/inserter/hooks/use-block-types-state.js +4 -14
  107. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  108. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  109. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  110. package/build/components/inserter/index.js +1 -2
  111. package/build/components/inserter/index.js.map +1 -1
  112. package/build/components/inserter/library.js +3 -7
  113. package/build/components/inserter/library.js.map +1 -1
  114. package/build/components/inserter/menu.js +14 -28
  115. package/build/components/inserter/menu.js.map +1 -1
  116. package/build/components/inserter/tabs.js +21 -21
  117. package/build/components/inserter/tabs.js.map +1 -1
  118. package/build/components/inserter-draggable-blocks/index.js +1 -1
  119. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  120. package/build/components/inserter-list-item/index.js +2 -4
  121. package/build/components/inserter-list-item/index.js.map +1 -1
  122. package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
  123. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  124. package/build/components/inspector-controls-tabs/index.js +34 -23
  125. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  126. package/build/components/list-view/block-select-button.js +4 -0
  127. package/build/components/list-view/block-select-button.js.map +1 -1
  128. package/build/components/list-view/block.js +57 -3
  129. package/build/components/list-view/block.js.map +1 -1
  130. package/build/components/media-upload-progress/constants.js +19 -0
  131. package/build/components/media-upload-progress/constants.js.map +1 -0
  132. package/build/components/media-upload-progress/index.native.js +42 -17
  133. package/build/components/media-upload-progress/index.native.js.map +1 -1
  134. package/build/components/navigable-toolbar/index.js +9 -14
  135. package/build/components/navigable-toolbar/index.js.map +1 -1
  136. package/build/components/plain-text/index.native.js +8 -3
  137. package/build/components/plain-text/index.native.js.map +1 -1
  138. package/build/components/provider/index.js +3 -1
  139. package/build/components/provider/index.js.map +1 -1
  140. package/build/components/provider/use-block-sync.js +7 -1
  141. package/build/components/provider/use-block-sync.js.map +1 -1
  142. package/build/components/rich-text/index.js +17 -7
  143. package/build/components/rich-text/index.js.map +1 -1
  144. package/build/components/rich-text/native/index.native.js +16 -24
  145. package/build/components/rich-text/native/index.native.js.map +1 -1
  146. package/build/components/rich-text/use-input-rules.js +2 -2
  147. package/build/components/rich-text/use-input-rules.js.map +1 -1
  148. package/build/components/rich-text/use-mark-persistent.js +1 -1
  149. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  150. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  151. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  152. package/build/components/url-input/index.js +9 -6
  153. package/build/components/url-input/index.js.map +1 -1
  154. package/build/components/use-block-commands/index.js +14 -18
  155. package/build/components/use-block-commands/index.js.map +1 -1
  156. package/build/components/use-block-drop-zone/index.js +51 -22
  157. package/build/components/use-block-drop-zone/index.js.map +1 -1
  158. package/build/components/use-moving-animation/index.js +100 -92
  159. package/build/components/use-moving-animation/index.js.map +1 -1
  160. package/build/components/use-on-block-drop/index.js +8 -11
  161. package/build/components/use-on-block-drop/index.js.map +1 -1
  162. package/build/components/writing-flow/index.js +0 -1
  163. package/build/components/writing-flow/index.js.map +1 -1
  164. package/build/components/writing-flow/use-drag-selection.js +15 -4
  165. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  166. package/build/components/writing-flow/use-selection-observer.js +73 -27
  167. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  168. package/build/components/writing-flow/use-tab-nav.js +7 -4
  169. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  170. package/build/hooks/align.js +1 -1
  171. package/build/hooks/align.js.map +1 -1
  172. package/build/hooks/anchor.js +1 -1
  173. package/build/hooks/anchor.js.map +1 -1
  174. package/build/hooks/aria-label.js +9 -1
  175. package/build/hooks/aria-label.js.map +1 -1
  176. package/build/hooks/background.js +185 -20
  177. package/build/hooks/background.js.map +1 -1
  178. package/build/hooks/border.js +5 -10
  179. package/build/hooks/border.js.map +1 -1
  180. package/build/hooks/color.js +13 -11
  181. package/build/hooks/color.js.map +1 -1
  182. package/build/hooks/custom-class-name.js +1 -1
  183. package/build/hooks/custom-class-name.js.map +1 -1
  184. package/build/hooks/custom-class-name.native.js +9 -1
  185. package/build/hooks/custom-class-name.native.js.map +1 -1
  186. package/build/hooks/dimensions.js +4 -9
  187. package/build/hooks/dimensions.js.map +1 -1
  188. package/build/hooks/font-family.js +7 -3
  189. package/build/hooks/font-family.js.map +1 -1
  190. package/build/hooks/font-size.js +1 -1
  191. package/build/hooks/font-size.js.map +1 -1
  192. package/build/hooks/index.js +4 -3
  193. package/build/hooks/index.js.map +1 -1
  194. package/build/hooks/index.native.js +5 -3
  195. package/build/hooks/index.native.js.map +1 -1
  196. package/build/hooks/layout.js +10 -4
  197. package/build/hooks/layout.js.map +1 -1
  198. package/build/hooks/style.js +1 -1
  199. package/build/hooks/style.js.map +1 -1
  200. package/build/hooks/typography.js +4 -9
  201. package/build/hooks/typography.js.map +1 -1
  202. package/build/hooks/typography.native.js +43 -18
  203. package/build/hooks/typography.native.js.map +1 -1
  204. package/build/hooks/use-typography-props.js +10 -2
  205. package/build/hooks/use-typography-props.js.map +1 -1
  206. package/build/hooks/utils.js +44 -4
  207. package/build/hooks/utils.js.map +1 -1
  208. package/build/private-apis.js +2 -4
  209. package/build/private-apis.js.map +1 -1
  210. package/build/private-apis.native.js +0 -2
  211. package/build/private-apis.native.js.map +1 -1
  212. package/build/store/actions.js +0 -16
  213. package/build/store/actions.js.map +1 -1
  214. package/build/store/private-actions.js +51 -5
  215. package/build/store/private-actions.js.map +1 -1
  216. package/build/store/private-selectors.js +12 -0
  217. package/build/store/private-selectors.js.map +1 -1
  218. package/build/store/reducer.js +14 -6
  219. package/build/store/reducer.js.map +1 -1
  220. package/build/store/selectors.js +1 -13
  221. package/build/store/selectors.js.map +1 -1
  222. package/build/store/undo-ignore.js +12 -0
  223. package/build/store/undo-ignore.js.map +1 -0
  224. package/build/store/utils.js +1 -1
  225. package/build/store/utils.js.map +1 -1
  226. package/build/utils/get-px-from-css-unit.js +16 -0
  227. package/build/utils/get-px-from-css-unit.js.map +1 -0
  228. package/build/utils/index.js +2 -2
  229. package/build/utils/index.js.map +1 -1
  230. package/build/utils/object.js +0 -38
  231. package/build/utils/object.js.map +1 -1
  232. package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
  233. package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  234. package/build-module/components/block-canvas/index.js +0 -2
  235. package/build-module/components/block-canvas/index.js.map +1 -1
  236. package/build-module/components/block-card/index.js +1 -1
  237. package/build-module/components/block-card/index.js.map +1 -1
  238. package/build-module/components/block-draggable/draggable-chip.js +6 -1
  239. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  240. package/build-module/components/block-draggable/index.js +76 -6
  241. package/build-module/components/block-draggable/index.js.map +1 -1
  242. package/build-module/components/block-draggable/index.native.js +1 -7
  243. package/build-module/components/block-draggable/index.native.js.map +1 -1
  244. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  245. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  246. package/build-module/components/block-editing-mode/index.js +3 -4
  247. package/build-module/components/block-editing-mode/index.js.map +1 -1
  248. package/build-module/components/block-inspector/index.js +1 -1
  249. package/build-module/components/block-inspector/index.js.map +1 -1
  250. package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
  251. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  252. package/build-module/components/block-list/block.js +249 -106
  253. package/build-module/components/block-list/block.js.map +1 -1
  254. package/build-module/components/block-list/block.native.js +48 -22
  255. package/build-module/components/block-list/block.native.js.map +1 -1
  256. package/build-module/components/block-list/index.native.js +3 -5
  257. package/build-module/components/block-list/index.native.js.map +1 -1
  258. package/build-module/components/block-list/private-block-context.js +6 -0
  259. package/build-module/components/block-list/private-block-context.js.map +1 -0
  260. package/build-module/components/block-list/use-block-props/index.js +34 -97
  261. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  262. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  263. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  264. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
  265. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  266. package/build-module/components/block-lock/toolbar.js +16 -28
  267. package/build-module/components/block-lock/toolbar.js.map +1 -1
  268. package/build-module/components/block-mover/index.js +2 -1
  269. package/build-module/components/block-mover/index.js.map +1 -1
  270. package/build-module/components/block-patterns-list/index.js +5 -5
  271. package/build-module/components/block-patterns-list/index.js.map +1 -1
  272. package/build-module/components/block-switcher/index.js +4 -4
  273. package/build-module/components/block-switcher/index.js.map +1 -1
  274. package/build-module/components/block-toolbar/index.js +1 -2
  275. package/build-module/components/block-toolbar/index.js.map +1 -1
  276. package/build-module/components/block-tools/block-toolbar-popover.js +0 -2
  277. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  278. package/build-module/components/block-variation-transforms/index.js +30 -3
  279. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  280. package/build-module/components/border-radius-control/linked-button.js +1 -1
  281. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  282. package/build-module/components/colors/utils.js +9 -1
  283. package/build-module/components/colors/utils.js.map +1 -1
  284. package/build-module/components/colors/with-colors.js +5 -1
  285. package/build-module/components/colors/with-colors.js.map +1 -1
  286. package/build-module/components/font-sizes/utils.js +9 -1
  287. package/build-module/components/font-sizes/utils.js.map +1 -1
  288. package/build-module/components/global-styles/border-panel.js +3 -2
  289. package/build-module/components/global-styles/border-panel.js.map +1 -1
  290. package/build-module/components/global-styles/color-panel.js +3 -2
  291. package/build-module/components/global-styles/color-panel.js.map +1 -1
  292. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  293. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  294. package/build-module/components/global-styles/effects-panel.js +3 -2
  295. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  296. package/build-module/components/global-styles/filters-panel.js +2 -5
  297. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  298. package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
  299. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
  300. package/build-module/components/global-styles/hooks.js +1 -1
  301. package/build-module/components/global-styles/hooks.js.map +1 -1
  302. package/build-module/components/global-styles/image-settings-panel.js +7 -1
  303. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  304. package/build-module/components/global-styles/index.js +1 -0
  305. package/build-module/components/global-styles/index.js.map +1 -1
  306. package/build-module/components/global-styles/typography-panel.js +3 -2
  307. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  308. package/build-module/components/global-styles/use-global-styles-output.js +15 -1
  309. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  310. package/build-module/components/global-styles/utils.js +7 -0
  311. package/build-module/components/global-styles/utils.js.map +1 -1
  312. package/build-module/components/height-control/index.js +6 -2
  313. package/build-module/components/height-control/index.js.map +1 -1
  314. package/build-module/components/image-size-control/index.js +2 -2
  315. package/build-module/components/image-size-control/index.js.map +1 -1
  316. package/build-module/components/index.native.js +2 -1
  317. package/build-module/components/index.native.js.map +1 -1
  318. package/build-module/components/inner-blocks/index.js +62 -23
  319. package/build-module/components/inner-blocks/index.js.map +1 -1
  320. package/build-module/components/inner-blocks/index.native.js +18 -4
  321. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  322. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  323. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  324. package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
  325. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  326. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  327. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  328. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
  329. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  330. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
  331. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  332. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
  333. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  334. package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
  335. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  336. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
  337. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  338. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
  339. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  340. package/build-module/components/inserter/index.js +1 -2
  341. package/build-module/components/inserter/index.js.map +1 -1
  342. package/build-module/components/inserter/library.js +3 -7
  343. package/build-module/components/inserter/library.js.map +1 -1
  344. package/build-module/components/inserter/menu.js +14 -28
  345. package/build-module/components/inserter/menu.js.map +1 -1
  346. package/build-module/components/inserter/tabs.js +22 -22
  347. package/build-module/components/inserter/tabs.js.map +1 -1
  348. package/build-module/components/inserter-draggable-blocks/index.js +2 -2
  349. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  350. package/build-module/components/inserter-list-item/index.js +2 -4
  351. package/build-module/components/inserter-list-item/index.js.map +1 -1
  352. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
  353. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  354. package/build-module/components/inspector-controls-tabs/index.js +35 -24
  355. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  356. package/build-module/components/list-view/block-select-button.js +4 -0
  357. package/build-module/components/list-view/block-select-button.js.map +1 -1
  358. package/build-module/components/list-view/block.js +58 -4
  359. package/build-module/components/list-view/block.js.map +1 -1
  360. package/build-module/components/media-upload-progress/constants.js +7 -0
  361. package/build-module/components/media-upload-progress/constants.js.map +1 -0
  362. package/build-module/components/media-upload-progress/index.native.js +37 -8
  363. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  364. package/build-module/components/navigable-toolbar/index.js +9 -14
  365. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  366. package/build-module/components/plain-text/index.native.js +6 -1
  367. package/build-module/components/plain-text/index.native.js.map +1 -1
  368. package/build-module/components/provider/index.js +3 -1
  369. package/build-module/components/provider/index.js.map +1 -1
  370. package/build-module/components/provider/use-block-sync.js +7 -1
  371. package/build-module/components/provider/use-block-sync.js.map +1 -1
  372. package/build-module/components/rich-text/index.js +17 -7
  373. package/build-module/components/rich-text/index.js.map +1 -1
  374. package/build-module/components/rich-text/native/index.native.js +16 -23
  375. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  376. package/build-module/components/rich-text/use-input-rules.js +2 -2
  377. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  378. package/build-module/components/rich-text/use-mark-persistent.js +1 -1
  379. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  380. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  381. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  382. package/build-module/components/url-input/index.js +9 -6
  383. package/build-module/components/url-input/index.js.map +1 -1
  384. package/build-module/components/use-block-commands/index.js +14 -18
  385. package/build-module/components/use-block-commands/index.js.map +1 -1
  386. package/build-module/components/use-block-drop-zone/index.js +51 -23
  387. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  388. package/build-module/components/use-moving-animation/index.js +102 -94
  389. package/build-module/components/use-moving-animation/index.js.map +1 -1
  390. package/build-module/components/use-on-block-drop/index.js +8 -11
  391. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  392. package/build-module/components/writing-flow/index.js +0 -1
  393. package/build-module/components/writing-flow/index.js.map +1 -1
  394. package/build-module/components/writing-flow/use-drag-selection.js +15 -4
  395. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  396. package/build-module/components/writing-flow/use-selection-observer.js +73 -27
  397. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  398. package/build-module/components/writing-flow/use-tab-nav.js +7 -4
  399. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  400. package/build-module/hooks/align.js +1 -1
  401. package/build-module/hooks/align.js.map +1 -1
  402. package/build-module/hooks/anchor.js +1 -1
  403. package/build-module/hooks/anchor.js.map +1 -1
  404. package/build-module/hooks/aria-label.js +7 -1
  405. package/build-module/hooks/aria-label.js.map +1 -1
  406. package/build-module/hooks/background.js +181 -19
  407. package/build-module/hooks/background.js.map +1 -1
  408. package/build-module/hooks/border.js +2 -8
  409. package/build-module/hooks/border.js.map +1 -1
  410. package/build-module/hooks/color.js +11 -9
  411. package/build-module/hooks/color.js.map +1 -1
  412. package/build-module/hooks/custom-class-name.js +1 -1
  413. package/build-module/hooks/custom-class-name.js.map +1 -1
  414. package/build-module/hooks/custom-class-name.native.js +7 -1
  415. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  416. package/build-module/hooks/dimensions.js +1 -7
  417. package/build-module/hooks/dimensions.js.map +1 -1
  418. package/build-module/hooks/font-family.js +6 -2
  419. package/build-module/hooks/font-family.js.map +1 -1
  420. package/build-module/hooks/font-size.js +1 -1
  421. package/build-module/hooks/font-size.js.map +1 -1
  422. package/build-module/hooks/index.js +5 -4
  423. package/build-module/hooks/index.js.map +1 -1
  424. package/build-module/hooks/index.native.js +6 -4
  425. package/build-module/hooks/index.native.js.map +1 -1
  426. package/build-module/hooks/layout.js +9 -3
  427. package/build-module/hooks/layout.js.map +1 -1
  428. package/build-module/hooks/style.js +1 -1
  429. package/build-module/hooks/style.js.map +1 -1
  430. package/build-module/hooks/typography.js +1 -7
  431. package/build-module/hooks/typography.js.map +1 -1
  432. package/build-module/hooks/typography.native.js +43 -17
  433. package/build-module/hooks/typography.native.js.map +1 -1
  434. package/build-module/hooks/use-typography-props.js +9 -1
  435. package/build-module/hooks/use-typography-props.js.map +1 -1
  436. package/build-module/hooks/utils.js +43 -4
  437. package/build-module/hooks/utils.js.map +1 -1
  438. package/build-module/private-apis.js +2 -4
  439. package/build-module/private-apis.js.map +1 -1
  440. package/build-module/private-apis.native.js +0 -2
  441. package/build-module/private-apis.native.js.map +1 -1
  442. package/build-module/store/actions.js +0 -15
  443. package/build-module/store/actions.js.map +1 -1
  444. package/build-module/store/private-actions.js +49 -4
  445. package/build-module/store/private-actions.js.map +1 -1
  446. package/build-module/store/private-selectors.js +11 -0
  447. package/build-module/store/private-selectors.js.map +1 -1
  448. package/build-module/store/reducer.js +14 -6
  449. package/build-module/store/reducer.js.map +1 -1
  450. package/build-module/store/selectors.js +1 -12
  451. package/build-module/store/selectors.js.map +1 -1
  452. package/build-module/store/undo-ignore.js +5 -0
  453. package/build-module/store/undo-ignore.js.map +1 -0
  454. package/build-module/store/utils.js +2 -2
  455. package/build-module/store/utils.js.map +1 -1
  456. package/build-module/utils/get-px-from-css-unit.js +9 -0
  457. package/build-module/utils/get-px-from-css-unit.js.map +1 -0
  458. package/build-module/utils/index.js +1 -1
  459. package/build-module/utils/index.js.map +1 -1
  460. package/build-module/utils/object.js +0 -37
  461. package/build-module/utils/object.js.map +1 -1
  462. package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
  463. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  464. package/build-style/content-rtl.css +7 -6
  465. package/build-style/content.css +7 -6
  466. package/build-style/style-rtl.css +51 -8
  467. package/build-style/style.css +51 -8
  468. package/package.json +31 -31
  469. package/src/components/alignment-control/README.md +0 -5
  470. package/src/components/block-alignment-control/README.md +0 -5
  471. package/src/components/block-alignment-matrix-control/README.md +0 -10
  472. package/src/components/block-breadcrumb/README.md +0 -5
  473. package/src/components/block-canvas/index.js +0 -2
  474. package/src/components/block-canvas/style.scss +6 -0
  475. package/src/components/block-caption/README.md +0 -5
  476. package/src/components/block-card/README.md +0 -5
  477. package/src/components/block-card/index.js +1 -1
  478. package/src/components/block-draggable/draggable-chip.js +11 -1
  479. package/src/components/block-draggable/index.js +116 -4
  480. package/src/components/block-draggable/index.native.js +0 -5
  481. package/src/components/block-draggable/style.scss +35 -0
  482. package/src/components/block-draggable/test/helpers.native.js +8 -7
  483. package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  484. package/src/components/block-editing-mode/index.js +3 -3
  485. package/src/components/block-icon/README.md +0 -5
  486. package/src/components/block-inspector/README.md +0 -5
  487. package/src/components/block-inspector/index.js +3 -1
  488. package/src/components/block-list/block-list-item-cell.native.js +5 -1
  489. package/src/components/block-list/block.js +290 -119
  490. package/src/components/block-list/block.native.js +55 -21
  491. package/src/components/block-list/content.scss +14 -10
  492. package/src/components/block-list/index.native.js +3 -5
  493. package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
  494. package/src/components/block-list/use-block-props/index.js +32 -128
  495. package/src/components/block-list/use-in-between-inserter.js +4 -1
  496. package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
  497. package/src/components/block-lock/toolbar.js +15 -34
  498. package/src/components/block-mover/README.md +0 -5
  499. package/src/components/block-mover/index.js +1 -1
  500. package/src/components/block-parent-selector/README.md +0 -5
  501. package/src/components/block-patterns-list/README.md +0 -5
  502. package/src/components/block-patterns-list/index.js +8 -5
  503. package/src/components/block-switcher/index.js +49 -59
  504. package/src/components/block-toolbar/README.md +0 -5
  505. package/src/components/block-toolbar/index.js +1 -2
  506. package/src/components/block-tools/block-toolbar-popover.js +4 -10
  507. package/src/components/block-types-list/README.md +0 -5
  508. package/src/components/block-variation-picker/README.md +0 -5
  509. package/src/components/block-variation-transforms/README.md +0 -5
  510. package/src/components/block-variation-transforms/index.js +49 -3
  511. package/src/components/border-radius-control/linked-button.js +1 -1
  512. package/src/components/caption/README.md +0 -5
  513. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
  514. package/src/components/colors/utils.js +8 -1
  515. package/src/components/colors/with-colors.js +3 -1
  516. package/src/components/contrast-checker/README.md +0 -4
  517. package/src/components/copy-handler/README.md +0 -10
  518. package/src/components/font-sizes/utils.js +7 -1
  519. package/src/components/global-styles/border-panel.js +2 -1
  520. package/src/components/global-styles/color-panel.js +2 -1
  521. package/src/components/global-styles/dimensions-panel.js +4 -3
  522. package/src/components/global-styles/effects-panel.js +2 -1
  523. package/src/components/global-styles/filters-panel.js +2 -5
  524. package/src/components/global-styles/get-global-styles-changes.js +210 -0
  525. package/src/components/global-styles/hooks.js +3 -0
  526. package/src/components/global-styles/image-settings-panel.js +6 -0
  527. package/src/components/global-styles/index.js +1 -0
  528. package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
  529. package/src/components/global-styles/typography-panel.js +2 -1
  530. package/src/components/global-styles/use-global-styles-output.js +9 -5
  531. package/src/components/global-styles/utils.js +7 -0
  532. package/src/components/height-control/README.md +2 -7
  533. package/src/components/height-control/index.js +4 -0
  534. package/src/components/image-size-control/index.js +5 -2
  535. package/src/components/index.native.js +2 -2
  536. package/src/components/inner-blocks/index.js +68 -29
  537. package/src/components/inner-blocks/index.native.js +19 -7
  538. package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
  539. package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
  540. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  541. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
  542. package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
  543. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
  544. package/src/components/inserter/block-patterns-tab/utils.js +11 -12
  545. package/src/components/inserter/hooks/use-block-types-state.js +9 -11
  546. package/src/components/inserter/hooks/use-patterns-state.js +2 -2
  547. package/src/components/inserter/index.js +0 -1
  548. package/src/components/inserter/library.js +2 -8
  549. package/src/components/inserter/menu.js +13 -31
  550. package/src/components/inserter/style.scss +6 -4
  551. package/src/components/inserter/tabs.js +34 -25
  552. package/src/components/inserter-draggable-blocks/index.js +2 -2
  553. package/src/components/inserter-list-item/index.js +6 -6
  554. package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
  555. package/src/components/inspector-controls-tabs/index.js +39 -28
  556. package/src/components/inspector-controls-tabs/style.scss +3 -2
  557. package/src/components/letter-spacing-control/README.md +0 -5
  558. package/src/components/line-height-control/README.md +0 -5
  559. package/src/components/list-view/README.md +0 -5
  560. package/src/components/list-view/block-select-button.js +4 -0
  561. package/src/components/list-view/block.js +73 -2
  562. package/src/components/list-view/style.scss +6 -0
  563. package/src/components/media-upload-progress/constants.js +6 -0
  564. package/src/components/media-upload-progress/index.native.js +66 -14
  565. package/src/components/media-upload-progress/test/index.native.js +2 -2
  566. package/src/components/multi-selection-inspector/README.md +0 -5
  567. package/src/components/navigable-toolbar/index.js +13 -11
  568. package/src/components/plain-text/index.native.js +6 -1
  569. package/src/components/provider/index.js +1 -1
  570. package/src/components/provider/test/use-block-sync.js +20 -17
  571. package/src/components/provider/use-block-sync.js +6 -0
  572. package/src/components/rich-text/index.js +18 -6
  573. package/src/components/rich-text/native/index.native.js +16 -24
  574. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
  575. package/src/components/rich-text/native/test/index.native.js +72 -5
  576. package/src/components/rich-text/use-input-rules.js +2 -2
  577. package/src/components/rich-text/use-mark-persistent.js +1 -2
  578. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  579. package/src/components/text-decoration-control/README.md +40 -0
  580. package/src/components/text-transform-control/README.md +0 -4
  581. package/src/components/ungroup-button/README.md +0 -5
  582. package/src/components/unit-control/README.md +0 -4
  583. package/src/components/url-input/index.js +11 -11
  584. package/src/components/use-block-commands/index.js +18 -21
  585. package/src/components/use-block-drop-zone/index.js +85 -34
  586. package/src/components/use-moving-animation/index.js +107 -103
  587. package/src/components/use-on-block-drop/index.js +7 -23
  588. package/src/components/use-on-block-drop/test/index.js +12 -26
  589. package/src/components/use-resize-canvas/README.md +0 -4
  590. package/src/components/use-settings/README.md +0 -4
  591. package/src/components/writing-flow/index.js +0 -1
  592. package/src/components/writing-flow/use-drag-selection.js +18 -4
  593. package/src/components/writing-flow/use-selection-observer.js +99 -37
  594. package/src/components/writing-flow/use-tab-nav.js +7 -7
  595. package/src/hooks/align.js +1 -5
  596. package/src/hooks/anchor.js +1 -5
  597. package/src/hooks/aria-label.js +8 -5
  598. package/src/hooks/background.js +253 -21
  599. package/src/hooks/border.js +2 -13
  600. package/src/hooks/color.js +19 -14
  601. package/src/hooks/custom-class-name.js +1 -5
  602. package/src/hooks/custom-class-name.native.js +8 -5
  603. package/src/hooks/dimensions.js +1 -7
  604. package/src/hooks/font-family.js +4 -7
  605. package/src/hooks/font-size.js +1 -6
  606. package/src/hooks/index.js +19 -3
  607. package/src/hooks/index.native.js +17 -4
  608. package/src/hooks/layout.js +5 -2
  609. package/src/hooks/style.js +1 -6
  610. package/src/hooks/test/anchor.js +4 -9
  611. package/src/hooks/test/custom-class-name.js +3 -8
  612. package/src/hooks/test/style.js +4 -14
  613. package/src/hooks/typography.js +1 -7
  614. package/src/hooks/typography.native.js +31 -33
  615. package/src/hooks/use-typography-props.js +7 -1
  616. package/src/hooks/utils.js +60 -2
  617. package/src/private-apis.js +2 -4
  618. package/src/private-apis.native.js +0 -2
  619. package/src/store/actions.js +0 -15
  620. package/src/store/private-actions.js +44 -4
  621. package/src/store/private-selectors.js +11 -0
  622. package/src/store/reducer.js +16 -5
  623. package/src/store/selectors.js +5 -13
  624. package/src/store/undo-ignore.js +4 -0
  625. package/src/store/utils.js +2 -2
  626. package/src/style.scss +1 -0
  627. package/src/utils/get-px-from-css-unit.js +8 -0
  628. package/src/utils/index.js +1 -1
  629. package/src/utils/object.js +0 -35
  630. package/src/utils/test/object.js +1 -96
  631. package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
  632. package/build/components/block-list/block-list-block-context.js +0 -14
  633. package/build/components/block-list/block-list-block-context.js.map +0 -1
  634. package/build/utils/parse-css-unit-to-px.js +0 -302
  635. package/build/utils/parse-css-unit-to-px.js.map +0 -1
  636. package/build/utils/use-should-contextual-toolbar-show.js +0 -63
  637. package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
  638. package/build-module/components/block-list/block-list-block-context.js +0 -6
  639. package/build-module/components/block-list/block-list-block-context.js.map +0 -1
  640. package/build-module/utils/parse-css-unit-to-px.js +0 -294
  641. package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
  642. package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
  643. package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
  644. package/src/utils/parse-css-unit-to-px.js +0 -329
  645. package/src/utils/test/parse-css-unit-to-px.js +0 -172
  646. package/src/utils/use-should-contextual-toolbar-show.js +0 -85
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 12.17.0 (2024-01-10)
6
+
5
7
  ## 12.16.0 (2023-12-13)
6
8
 
7
9
  ## 12.15.0 (2023-11-29)
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2023 by the contributors
3
+ Copyright 2016-2024 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
package/README.md CHANGED
@@ -539,16 +539,13 @@ _Returns_
539
539
 
540
540
  ### getPxFromCssUnit
541
541
 
542
- Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;
543
-
544
- _Parameters_
542
+ > **Deprecated**
545
543
 
546
- - _cssUnit_ `string`:
547
- - _options_ `Object`:
544
+ This function was accidentially exposed for mobile/native usage.
548
545
 
549
546
  _Returns_
550
547
 
551
- - `string`: returns the cssUnit value in a simple px format.
548
+ - `string`: Empty string.
552
549
 
553
550
  ### getSpacingPresetCssVar
554
551
 
@@ -67,8 +67,6 @@ function ExperimentalBlockCanvas({
67
67
  ref: resetTypingRef,
68
68
  contentRef: contentRef,
69
69
  style: {
70
- width: '100%',
71
- height: '100%',
72
70
  ...iframeProps?.style
73
71
  },
74
72
  name: "editor-canvas"
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_element","_blockList","_interopRequireDefault","_blockTools","_editorStyles","_iframe","_writingFlow","_observeTyping","_blockSelectionClearer","ExperimentalBlockCanvas","shouldIframe","height","children","_react","createElement","default","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","useMouseMoveTypingReset","clearerRef","useBlockSelectionClearer","localRef","useRef","useMergeRefs","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_compose","require","_element","_blockList","_interopRequireDefault","_blockTools","_editorStyles","_iframe","_writingFlow","_observeTyping","_blockSelectionClearer","ExperimentalBlockCanvas","shouldIframe","height","children","_react","createElement","default","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","useMouseMoveTypingReset","clearerRef","useBlockSelectionClearer","localRef","useRef","useMergeRefs","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],"mappings":"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"}
@@ -74,7 +74,7 @@ function BlockCard({
74
74
  padding: 0
75
75
  },
76
76
  icon: (0, _i18n.isRTL)() ? _icons.chevronRight : _icons.chevronLeft,
77
- isSmall: true
77
+ size: "small"
78
78
  }), (0, _react.createElement)(_blockIcon.default, {
79
79
  icon: icon,
80
80
  showColors: true
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_deprecated","_components","_icons","_i18n","_data","_blockIcon","_store","BlockCard","title","icon","description","blockType","className","deprecated","since","alternative","parentNavBlockClientId","useSelect","select","getSelectedBlockClientId","getBlockParentsByBlockName","blockEditorStore","_selectedBlockClientId","selectBlock","useDispatch","_react","createElement","classnames","Button","onClick","label","__","style","minWidth","padding","isRTL","chevronRight","chevronLeft","isSmall","default","showColors","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-card/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { Button } from '@wordpress/components';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockCard( { title, icon, description, blockType, className } ) {\n\tif ( blockType ) {\n\t\tdeprecated( '`blockType` property in `BlockCard component`', {\n\t\t\tsince: '5.7',\n\t\t\talternative: '`title, icon and description` properties',\n\t\t} );\n\t\t( { title, icon, description } = blockType );\n\t}\n\n\tconst { parentNavBlockClientId } = useSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\n\t\treturn {\n\t\t\tparentNavBlockClientId: getBlockParentsByBlockName(\n\t\t\t\t_selectedBlockClientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t)[ 0 ],\n\t\t};\n\t}, [] );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<div className={ classnames( 'block-editor-block-card', className ) }>\n\t\t\t{ parentNavBlockClientId && ( // This is only used by the Navigation block for now. It's not ideal having Navigation block specific code here.\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => selectBlock( parentNavBlockClientId ) }\n\t\t\t\t\tlabel={ __( 'Go to parent Navigation block' ) }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t}\n\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\tisSmall\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t<div className=\"block-editor-block-card__content\">\n\t\t\t\t<h2 className=\"block-editor-block-card__title\">{ title }</h2>\n\t\t\t\t{ description && (\n\t\t\t\t\t<span className=\"block-editor-block-card__description\">\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default BlockCard;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,UAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,SAASQ,SAASA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC,WAAW;EAAEC,SAAS;EAAEC;AAAU,CAAC,EAAG;EACxE,IAAKD,SAAS,EAAG;IAChB,IAAAE,mBAAU,EAAE,+CAA+C,EAAE;MAC5DC,KAAK,EAAE,KAAK;MACZC,WAAW,EAAE;IACd,CAAE,CAAC;IACH,CAAE;MAAEP,KAAK;MAAEC,IAAI;MAAEC;IAAY,CAAC,GAAGC,SAAS;EAC3C;EAEA,MAAM;IAAEK;EAAuB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC3D,MAAM;MAAEC,wBAAwB;MAAEC;IAA2B,CAAC,GAC7DF,MAAM,CAAEG,YAAiB,CAAC;IAE3B,MAAMC,sBAAsB,GAAGH,wBAAwB,CAAC,CAAC;IAEzD,OAAO;MACNH,sBAAsB,EAAEI,0BAA0B,CACjDE,sBAAsB,EACtB,iBAAiB,EACjB,IACD,CAAC,CAAE,CAAC;IACL,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAiB,CAAC;EAEvD,OACC,IAAAI,MAAA,CAAAC,aAAA;IAAKd,SAAS,EAAG,IAAAe,mBAAU,EAAE,yBAAyB,EAAEf,SAAU;EAAG,GAClEI,sBAAsB;EAAM;EAC7B,IAAAS,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA2B,MAAM;IACNC,OAAO,EAAGA,CAAA,KAAMN,WAAW,CAAEP,sBAAuB,CAAG;IACvDc,KAAK,EAAG,IAAAC,QAAE,EAAE,+BAAgC,CAAG;IAC/CC,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDzB,IAAI,EAAG,IAAA0B,WAAK,EAAC,CAAC,GAAGC,mBAAY,GAAGC,kBAAa;IAC7CC,OAAO;EAAA,CACP,CACD,EACD,IAAAb,MAAA,CAAAC,aAAA,EAACrB,UAAA,CAAAkC,OAAS;IAAC9B,IAAI,EAAGA,IAAM;IAAC+B,UAAU;EAAA,CAAE,CAAC,EACtC,IAAAf,MAAA,CAAAC,aAAA;IAAKd,SAAS,EAAC;EAAkC,GAChD,IAAAa,MAAA,CAAAC,aAAA;IAAId,SAAS,EAAC;EAAgC,GAAGJ,KAAW,CAAC,EAC3DE,WAAW,IACZ,IAAAe,MAAA,CAAAC,aAAA;IAAMd,SAAS,EAAC;EAAsC,GACnDF,WACG,CAEH,CACD,CAAC;AAER;AAAC,IAAA+B,QAAA,GAEclC,SAAS;AAAAmC,OAAA,CAAAH,OAAA,GAAAE,QAAA"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_deprecated","_components","_icons","_i18n","_data","_blockIcon","_store","BlockCard","title","icon","description","blockType","className","deprecated","since","alternative","parentNavBlockClientId","useSelect","select","getSelectedBlockClientId","getBlockParentsByBlockName","blockEditorStore","_selectedBlockClientId","selectBlock","useDispatch","_react","createElement","classnames","Button","onClick","label","__","style","minWidth","padding","isRTL","chevronRight","chevronLeft","size","default","showColors","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-card/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { Button } from '@wordpress/components';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockCard( { title, icon, description, blockType, className } ) {\n\tif ( blockType ) {\n\t\tdeprecated( '`blockType` property in `BlockCard component`', {\n\t\t\tsince: '5.7',\n\t\t\talternative: '`title, icon and description` properties',\n\t\t} );\n\t\t( { title, icon, description } = blockType );\n\t}\n\n\tconst { parentNavBlockClientId } = useSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\n\t\treturn {\n\t\t\tparentNavBlockClientId: getBlockParentsByBlockName(\n\t\t\t\t_selectedBlockClientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t)[ 0 ],\n\t\t};\n\t}, [] );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<div className={ classnames( 'block-editor-block-card', className ) }>\n\t\t\t{ parentNavBlockClientId && ( // This is only used by the Navigation block for now. It's not ideal having Navigation block specific code here.\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => selectBlock( parentNavBlockClientId ) }\n\t\t\t\t\tlabel={ __( 'Go to parent Navigation block' ) }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t}\n\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t<div className=\"block-editor-block-card__content\">\n\t\t\t\t<h2 className=\"block-editor-block-card__title\">{ title }</h2>\n\t\t\t\t{ description && (\n\t\t\t\t\t<span className=\"block-editor-block-card__description\">\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default BlockCard;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,UAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,SAASQ,SAASA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC,WAAW;EAAEC,SAAS;EAAEC;AAAU,CAAC,EAAG;EACxE,IAAKD,SAAS,EAAG;IAChB,IAAAE,mBAAU,EAAE,+CAA+C,EAAE;MAC5DC,KAAK,EAAE,KAAK;MACZC,WAAW,EAAE;IACd,CAAE,CAAC;IACH,CAAE;MAAEP,KAAK;MAAEC,IAAI;MAAEC;IAAY,CAAC,GAAGC,SAAS;EAC3C;EAEA,MAAM;IAAEK;EAAuB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC3D,MAAM;MAAEC,wBAAwB;MAAEC;IAA2B,CAAC,GAC7DF,MAAM,CAAEG,YAAiB,CAAC;IAE3B,MAAMC,sBAAsB,GAAGH,wBAAwB,CAAC,CAAC;IAEzD,OAAO;MACNH,sBAAsB,EAAEI,0BAA0B,CACjDE,sBAAsB,EACtB,iBAAiB,EACjB,IACD,CAAC,CAAE,CAAC;IACL,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAiB,CAAC;EAEvD,OACC,IAAAI,MAAA,CAAAC,aAAA;IAAKd,SAAS,EAAG,IAAAe,mBAAU,EAAE,yBAAyB,EAAEf,SAAU;EAAG,GAClEI,sBAAsB;EAAM;EAC7B,IAAAS,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA2B,MAAM;IACNC,OAAO,EAAGA,CAAA,KAAMN,WAAW,CAAEP,sBAAuB,CAAG;IACvDc,KAAK,EAAG,IAAAC,QAAE,EAAE,+BAAgC,CAAG;IAC/CC,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDzB,IAAI,EAAG,IAAA0B,WAAK,EAAC,CAAC,GAAGC,mBAAY,GAAGC,kBAAa;IAC7CC,IAAI,EAAC;EAAO,CACZ,CACD,EACD,IAAAb,MAAA,CAAAC,aAAA,EAACrB,UAAA,CAAAkC,OAAS;IAAC9B,IAAI,EAAGA,IAAM;IAAC+B,UAAU;EAAA,CAAE,CAAC,EACtC,IAAAf,MAAA,CAAAC,aAAA;IAAKd,SAAS,EAAC;EAAkC,GAChD,IAAAa,MAAA,CAAAC,aAAA;IAAId,SAAS,EAAC;EAAgC,GAAGJ,KAAW,CAAC,EAC3DE,WAAW,IACZ,IAAAe,MAAA,CAAAC,aAAA;IAAMd,SAAS,EAAC;EAAsC,GACnDF,WACG,CAEH,CACD,CAAC;AAER;AAAC,IAAA+B,QAAA,GAEclC,SAAS;AAAAmC,OAAA,CAAAH,OAAA,GAAAE,QAAA"}
@@ -21,7 +21,8 @@ var _blockIcon = _interopRequireDefault(require("../block-icon"));
21
21
  function BlockDraggableChip({
22
22
  count,
23
23
  icon,
24
- isPattern
24
+ isPattern,
25
+ fadeWhenDisabled
25
26
  }) {
26
27
  const patternLabel = isPattern && (0, _i18n.__)('Pattern');
27
28
  return (0, _react.createElement)("div", {
@@ -37,6 +38,10 @@ function BlockDraggableChip({
37
38
  }) : patternLabel || (0, _i18n.sprintf)( /* translators: %d: Number of blocks. */
38
39
  (0, _i18n._n)('%d block', '%d blocks', count), count)), (0, _react.createElement)(_components.FlexItem, null, (0, _react.createElement)(_blockIcon.default, {
39
40
  icon: _icons.dragHandle
41
+ })), fadeWhenDisabled && (0, _react.createElement)(_components.FlexItem, {
42
+ className: "block-editor-block-draggable-chip__disabled"
43
+ }, (0, _react.createElement)("span", {
44
+ className: "block-editor-block-draggable-chip__disabled-icon"
40
45
  })))));
41
46
  }
42
47
  //# sourceMappingURL=draggable-chip.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_icons","_blockIcon","_interopRequireDefault","BlockDraggableChip","count","icon","isPattern","patternLabel","__","_react","createElement","className","Flex","justify","FlexItem","default","sprintf","_n","dragHandle"],"sources":["@wordpress/block-editor/src/components/block-draggable/draggable-chip.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Flex, FlexItem } from '@wordpress/components';\nimport { dragHandle } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nexport default function BlockDraggableChip( { count, icon, isPattern } ) {\n\tconst patternLabel = isPattern && __( 'Pattern' );\n\treturn (\n\t\t<div className=\"block-editor-block-draggable-chip-wrapper\">\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-block-draggable-chip\"\n\t\t\t\tdata-testid=\"block-draggable-chip\"\n\t\t\t>\n\t\t\t\t<Flex\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"block-editor-block-draggable-chip__content\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ icon ? (\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tpatternLabel ||\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %d: Number of blocks. */\n\t\t\t\t\t\t\t\t_n( '%d block', '%d blocks', count ),\n\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<BlockIcon icon={ dragHandle } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASK,kBAAkBA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAU,CAAC,EAAG;EACxE,MAAMC,YAAY,GAAGD,SAAS,IAAI,IAAAE,QAAE,EAAE,SAAU,CAAC;EACjD,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA2C,GACzD,IAAAF,MAAA,CAAAC,aAAA;IACCC,SAAS,EAAC,mCAAmC;IAC7C,eAAY;EAAsB,GAElC,IAAAF,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAa,IAAI;IACJC,OAAO,EAAC,QAAQ;IAChBF,SAAS,EAAC;EAA4C,GAEtD,IAAAF,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAe,QAAQ,QACNT,IAAI,GACL,IAAAI,MAAA,CAAAC,aAAA,EAACT,UAAA,CAAAc,OAAS;IAACV,IAAI,EAAGA;EAAM,CAAE,CAAC,GAE3BE,YAAY,IACZ,IAAAS,aAAO,GACN;EACA,IAAAC,QAAE,EAAE,UAAU,EAAE,WAAW,EAAEb,KAAM,CAAC,EACpCA,KACD,CAEQ,CAAC,EACX,IAAAK,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAe,QAAQ,QACR,IAAAL,MAAA,CAAAC,aAAA,EAACT,UAAA,CAAAc,OAAS;IAACV,IAAI,EAAGa;EAAY,CAAE,CACvB,CACL,CACF,CACD,CAAC;AAER"}
1
+ {"version":3,"names":["_i18n","require","_components","_icons","_blockIcon","_interopRequireDefault","BlockDraggableChip","count","icon","isPattern","fadeWhenDisabled","patternLabel","__","_react","createElement","className","Flex","justify","FlexItem","default","sprintf","_n","dragHandle"],"sources":["@wordpress/block-editor/src/components/block-draggable/draggable-chip.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Flex, FlexItem } from '@wordpress/components';\nimport { dragHandle } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nexport default function BlockDraggableChip( {\n\tcount,\n\ticon,\n\tisPattern,\n\tfadeWhenDisabled,\n} ) {\n\tconst patternLabel = isPattern && __( 'Pattern' );\n\treturn (\n\t\t<div className=\"block-editor-block-draggable-chip-wrapper\">\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-block-draggable-chip\"\n\t\t\t\tdata-testid=\"block-draggable-chip\"\n\t\t\t>\n\t\t\t\t<Flex\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"block-editor-block-draggable-chip__content\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ icon ? (\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tpatternLabel ||\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %d: Number of blocks. */\n\t\t\t\t\t\t\t\t_n( '%d block', '%d blocks', count ),\n\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<BlockIcon icon={ dragHandle } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t{ fadeWhenDisabled && (\n\t\t\t\t\t\t<FlexItem className=\"block-editor-block-draggable-chip__disabled\">\n\t\t\t\t\t\t\t<span className=\"block-editor-block-draggable-chip__disabled-icon\"></span>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASK,kBAAkBA,CAAE;EAC3CC,KAAK;EACLC,IAAI;EACJC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGF,SAAS,IAAI,IAAAG,QAAE,EAAE,SAAU,CAAC;EACjD,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA2C,GACzD,IAAAF,MAAA,CAAAC,aAAA;IACCC,SAAS,EAAC,mCAAmC;IAC7C,eAAY;EAAsB,GAElC,IAAAF,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAc,IAAI;IACJC,OAAO,EAAC,QAAQ;IAChBF,SAAS,EAAC;EAA4C,GAEtD,IAAAF,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAgB,QAAQ,QACNV,IAAI,GACL,IAAAK,MAAA,CAAAC,aAAA,EAACV,UAAA,CAAAe,OAAS;IAACX,IAAI,EAAGA;EAAM,CAAE,CAAC,GAE3BG,YAAY,IACZ,IAAAS,aAAO,GACN;EACA,IAAAC,QAAE,EAAE,UAAU,EAAE,WAAW,EAAEd,KAAM,CAAC,EACpCA,KACD,CAEQ,CAAC,EACX,IAAAM,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAgB,QAAQ,QACR,IAAAL,MAAA,CAAAC,aAAA,EAACV,UAAA,CAAAe,OAAS;IAACX,IAAI,EAAGc;EAAY,CAAE,CACvB,CAAC,EACTZ,gBAAgB,IACjB,IAAAG,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAgB,QAAQ;IAACH,SAAS,EAAC;EAA6C,GAChE,IAAAF,MAAA,CAAAC,aAAA;IAAMC,SAAS,EAAC;EAAkD,CAAO,CAChE,CAEN,CACF,CACD,CAAC;AAER"}
@@ -10,9 +10,12 @@ var _blocks = require("@wordpress/blocks");
10
10
  var _components = require("@wordpress/components");
11
11
  var _data = require("@wordpress/data");
12
12
  var _element = require("@wordpress/element");
13
+ var _compose = require("@wordpress/compose");
13
14
  var _draggableChip = _interopRequireDefault(require("./draggable-chip"));
14
15
  var _useScrollWhenDragging = _interopRequireDefault(require("./use-scroll-when-dragging"));
15
16
  var _store = require("../../store");
17
+ var _useBlockRefs = require("../block-list/use-block-props/use-block-refs");
18
+ var _useBlockDropZone = require("../use-block-drop-zone");
16
19
  /**
17
20
  * WordPress dependencies
18
21
  */
@@ -26,21 +29,25 @@ const BlockDraggable = ({
26
29
  clientIds,
27
30
  cloneClassname,
28
31
  onDragStart,
29
- onDragEnd
32
+ onDragEnd,
33
+ fadeWhenDisabled = false
30
34
  }) => {
31
35
  const {
32
36
  srcRootClientId,
33
37
  isDraggable,
34
- icon
38
+ icon,
39
+ visibleInserter,
40
+ getBlockType
35
41
  } = (0, _data.useSelect)(select => {
36
42
  const {
37
43
  canMoveBlocks,
38
44
  getBlockRootClientId,
39
45
  getBlockName,
40
- getBlockAttributes
46
+ getBlockAttributes,
47
+ isBlockInsertionPointVisible
41
48
  } = select(_store.store);
42
49
  const {
43
- getBlockType,
50
+ getBlockType: _getBlockType,
44
51
  getActiveBlockVariation
45
52
  } = select(_blocks.store);
46
53
  const rootClientId = getBlockRootClientId(clientIds[0]);
@@ -49,11 +56,18 @@ const BlockDraggable = ({
49
56
  return {
50
57
  srcRootClientId: rootClientId,
51
58
  isDraggable: canMoveBlocks(clientIds, rootClientId),
52
- icon: variation?.icon || getBlockType(blockName)?.icon
59
+ icon: variation?.icon || _getBlockType(blockName)?.icon,
60
+ visibleInserter: isBlockInsertionPointVisible(),
61
+ getBlockType: _getBlockType
53
62
  };
54
63
  }, [clientIds]);
55
64
  const isDragging = (0, _element.useRef)(false);
56
65
  const [startScrolling, scrollOnDragOver, stopScrolling] = (0, _useScrollWhenDragging.default)();
66
+ const {
67
+ getAllowedBlocks,
68
+ getBlockNamesByClientId,
69
+ getBlockRootClientId
70
+ } = (0, _data.useSelect)(_store.store);
57
71
  const {
58
72
  startDraggingBlocks,
59
73
  stopDraggingBlocks
@@ -67,6 +81,61 @@ const BlockDraggable = ({
67
81
  }
68
82
  };
69
83
  }, []);
84
+
85
+ // Find the root of the editor iframe.
86
+ const blockRef = (0, _useBlockRefs.__unstableUseBlockRef)(clientIds[0]);
87
+ const editorRoot = blockRef.current?.closest('body');
88
+
89
+ /*
90
+ * Add a dragover event listener to the editor root to track the blocks being dragged over.
91
+ * The listener has to be inside the editor iframe otherwise the target isn't accessible.
92
+ */
93
+ (0, _element.useEffect)(() => {
94
+ if (!editorRoot || !fadeWhenDisabled) {
95
+ return;
96
+ }
97
+ const onDragOver = event => {
98
+ if (!event.target.closest('[data-block]')) {
99
+ return;
100
+ }
101
+ const draggedBlockNames = getBlockNamesByClientId(clientIds);
102
+ const targetClientId = event.target.closest('[data-block]').getAttribute('data-block');
103
+ const allowedBlocks = getAllowedBlocks(targetClientId);
104
+ const targetBlockName = getBlockNamesByClientId([targetClientId])[0];
105
+
106
+ /*
107
+ * Check if the target is valid to drop in.
108
+ * If the target's allowedBlocks is an empty array,
109
+ * it isn't a container block, in which case we check
110
+ * its parent's validity instead.
111
+ */
112
+ let dropTargetValid;
113
+ if (allowedBlocks?.length === 0) {
114
+ const targetRootClientId = getBlockRootClientId(targetClientId);
115
+ const targetRootBlockName = getBlockNamesByClientId([targetRootClientId])[0];
116
+ const rootAllowedBlocks = getAllowedBlocks(targetRootClientId);
117
+ dropTargetValid = (0, _useBlockDropZone.isDropTargetValid)(getBlockType, rootAllowedBlocks, draggedBlockNames, targetRootBlockName);
118
+ } else {
119
+ dropTargetValid = (0, _useBlockDropZone.isDropTargetValid)(getBlockType, allowedBlocks, draggedBlockNames, targetBlockName);
120
+ }
121
+
122
+ /*
123
+ * Update the body class to reflect if drop target is valid.
124
+ * This has to be done on the document body because the draggable
125
+ * chip is rendered outside of the editor iframe.
126
+ */
127
+ if (!dropTargetValid && !visibleInserter) {
128
+ window?.document?.body?.classList?.add('block-draggable-invalid-drag-token');
129
+ } else {
130
+ window?.document?.body?.classList?.remove('block-draggable-invalid-drag-token');
131
+ }
132
+ };
133
+ const throttledOnDragOver = (0, _compose.throttle)(onDragOver, 200);
134
+ editorRoot.addEventListener('dragover', throttledOnDragOver);
135
+ return () => {
136
+ editorRoot.removeEventListener('dragover', throttledOnDragOver);
137
+ };
138
+ }, [clientIds, editorRoot, fadeWhenDisabled, getAllowedBlocks, getBlockNamesByClientId, getBlockRootClientId, getBlockType, visibleInserter]);
70
139
  if (!isDraggable) {
71
140
  return children({
72
141
  draggable: false
@@ -104,7 +173,8 @@ const BlockDraggable = ({
104
173
  },
105
174
  __experimentalDragComponent: (0, _react.createElement)(_draggableChip.default, {
106
175
  count: clientIds.length,
107
- icon: icon
176
+ icon: icon,
177
+ fadeWhenDisabled: true
108
178
  })
109
179
  }, ({
110
180
  onDraggableStart,
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_components","_data","_element","_draggableChip","_interopRequireDefault","_useScrollWhenDragging","_store","BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","srcRootClientId","isDraggable","icon","useSelect","select","canMoveBlocks","getBlockRootClientId","getBlockName","getBlockAttributes","blockEditorStore","getBlockType","getActiveBlockVariation","blocksStore","rootClientId","blockName","variation","isDragging","useRef","startScrolling","scrollOnDragOver","stopScrolling","useScrollWhenDragging","startDraggingBlocks","stopDraggingBlocks","useDispatch","useEffect","current","draggable","transferData","type","srcClientIds","_react","createElement","Draggable","__experimentalTransferDataType","event","window","requestAnimationFrame","onDragOver","__experimentalDragComponent","default","count","length","onDraggableStart","onDraggableEnd","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Draggable } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from './draggable-chip';\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockDraggable = ( {\n\tchildren,\n\tclientIds,\n\tcloneClassname,\n\tonDragStart,\n\tonDragEnd,\n} ) => {\n\tconst { srcRootClientId, isDraggable, icon } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst blockName = getBlockName( clientIds[ 0 ] );\n\t\t\tconst variation = getActiveBlockVariation(\n\t\t\t\tblockName,\n\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tsrcRootClientId: rootClientId,\n\t\t\t\tisDraggable: canMoveBlocks( clientIds, rootClientId ),\n\t\t\t\ticon: variation?.icon || getBlockType( blockName )?.icon,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst isDragging = useRef( false );\n\tconst [ startScrolling, scrollOnDragOver, stopScrolling ] =\n\t\tuseScrollWhenDragging();\n\n\tconst { startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.current ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { draggable: false } );\n\t}\n\n\tconst transferData = {\n\t\ttype: 'block',\n\t\tsrcClientIds: clientIds,\n\t\tsrcRootClientId,\n\t};\n\n\treturn (\n\t\t<Draggable\n\t\t\tcloneClassname={ cloneClassname }\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t// Defer hiding the dragged source element to the next\n\t\t\t\t// frame to enable dragging.\n\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\tstartDraggingBlocks( clientIds );\n\t\t\t\t\tisDragging.current = true;\n\n\t\t\t\t\tstartScrolling( event );\n\n\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\tonDragStart();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonDragOver={ scrollOnDragOver }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t\tisDragging.current = false;\n\n\t\t\t\tstopScrolling();\n\n\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\tonDragEnd();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip count={ clientIds.length } icon={ icon } />\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default BlockDraggable;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_components","_data","_element","_compose","_draggableChip","_interopRequireDefault","_useScrollWhenDragging","_store","_useBlockRefs","_useBlockDropZone","BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","fadeWhenDisabled","srcRootClientId","isDraggable","icon","visibleInserter","getBlockType","useSelect","select","canMoveBlocks","getBlockRootClientId","getBlockName","getBlockAttributes","isBlockInsertionPointVisible","blockEditorStore","_getBlockType","getActiveBlockVariation","blocksStore","rootClientId","blockName","variation","isDragging","useRef","startScrolling","scrollOnDragOver","stopScrolling","useScrollWhenDragging","getAllowedBlocks","getBlockNamesByClientId","startDraggingBlocks","stopDraggingBlocks","useDispatch","useEffect","current","blockRef","useBlockRef","editorRoot","closest","onDragOver","event","target","draggedBlockNames","targetClientId","getAttribute","allowedBlocks","targetBlockName","dropTargetValid","length","targetRootClientId","targetRootBlockName","rootAllowedBlocks","isDropTargetValid","window","document","body","classList","add","remove","throttledOnDragOver","throttle","addEventListener","removeEventListener","draggable","transferData","type","srcClientIds","_react","createElement","Draggable","__experimentalTransferDataType","requestAnimationFrame","__experimentalDragComponent","default","count","onDraggableStart","onDraggableEnd","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Draggable } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { throttle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from './draggable-chip';\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport { store as blockEditorStore } from '../../store';\nimport { __unstableUseBlockRef as useBlockRef } from '../block-list/use-block-props/use-block-refs';\nimport { isDropTargetValid } from '../use-block-drop-zone';\n\nconst BlockDraggable = ( {\n\tchildren,\n\tclientIds,\n\tcloneClassname,\n\tonDragStart,\n\tonDragEnd,\n\tfadeWhenDisabled = false,\n} ) => {\n\tconst {\n\t\tsrcRootClientId,\n\t\tisDraggable,\n\t\ticon,\n\t\tvisibleInserter,\n\t\tgetBlockType,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType: _getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst blockName = getBlockName( clientIds[ 0 ] );\n\t\t\tconst variation = getActiveBlockVariation(\n\t\t\t\tblockName,\n\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tsrcRootClientId: rootClientId,\n\t\t\t\tisDraggable: canMoveBlocks( clientIds, rootClientId ),\n\t\t\t\ticon: variation?.icon || _getBlockType( blockName )?.icon,\n\t\t\t\tvisibleInserter: isBlockInsertionPointVisible(),\n\t\t\t\tgetBlockType: _getBlockType,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst isDragging = useRef( false );\n\tconst [ startScrolling, scrollOnDragOver, stopScrolling ] =\n\t\tuseScrollWhenDragging();\n\n\tconst { getAllowedBlocks, getBlockNamesByClientId, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.current ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\t// Find the root of the editor iframe.\n\tconst blockRef = useBlockRef( clientIds[ 0 ] );\n\tconst editorRoot = blockRef.current?.closest( 'body' );\n\n\t/*\n\t * Add a dragover event listener to the editor root to track the blocks being dragged over.\n\t * The listener has to be inside the editor iframe otherwise the target isn't accessible.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! editorRoot || ! fadeWhenDisabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst onDragOver = ( event ) => {\n\t\t\tif ( ! event.target.closest( '[data-block]' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst draggedBlockNames = getBlockNamesByClientId( clientIds );\n\t\t\tconst targetClientId = event.target\n\t\t\t\t.closest( '[data-block]' )\n\t\t\t\t.getAttribute( 'data-block' );\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( targetClientId );\n\t\t\tconst targetBlockName = getBlockNamesByClientId( [\n\t\t\t\ttargetClientId,\n\t\t\t] )[ 0 ];\n\n\t\t\t/*\n\t\t\t * Check if the target is valid to drop in.\n\t\t\t * If the target's allowedBlocks is an empty array,\n\t\t\t * it isn't a container block, in which case we check\n\t\t\t * its parent's validity instead.\n\t\t\t */\n\t\t\tlet dropTargetValid;\n\t\t\tif ( allowedBlocks?.length === 0 ) {\n\t\t\t\tconst targetRootClientId =\n\t\t\t\t\tgetBlockRootClientId( targetClientId );\n\t\t\t\tconst targetRootBlockName = getBlockNamesByClientId( [\n\t\t\t\t\ttargetRootClientId,\n\t\t\t\t] )[ 0 ];\n\t\t\t\tconst rootAllowedBlocks =\n\t\t\t\t\tgetAllowedBlocks( targetRootClientId );\n\t\t\t\tdropTargetValid = isDropTargetValid(\n\t\t\t\t\tgetBlockType,\n\t\t\t\t\trootAllowedBlocks,\n\t\t\t\t\tdraggedBlockNames,\n\t\t\t\t\ttargetRootBlockName\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdropTargetValid = isDropTargetValid(\n\t\t\t\t\tgetBlockType,\n\t\t\t\t\tallowedBlocks,\n\t\t\t\t\tdraggedBlockNames,\n\t\t\t\t\ttargetBlockName\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Update the body class to reflect if drop target is valid.\n\t\t\t * This has to be done on the document body because the draggable\n\t\t\t * chip is rendered outside of the editor iframe.\n\t\t\t */\n\t\t\tif ( ! dropTargetValid && ! visibleInserter ) {\n\t\t\t\twindow?.document?.body?.classList?.add(\n\t\t\t\t\t'block-draggable-invalid-drag-token'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\twindow?.document?.body?.classList?.remove(\n\t\t\t\t\t'block-draggable-invalid-drag-token'\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tconst throttledOnDragOver = throttle( onDragOver, 200 );\n\n\t\teditorRoot.addEventListener( 'dragover', throttledOnDragOver );\n\n\t\treturn () => {\n\t\t\teditorRoot.removeEventListener( 'dragover', throttledOnDragOver );\n\t\t};\n\t}, [\n\t\tclientIds,\n\t\teditorRoot,\n\t\tfadeWhenDisabled,\n\t\tgetAllowedBlocks,\n\t\tgetBlockNamesByClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockType,\n\t\tvisibleInserter,\n\t] );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { draggable: false } );\n\t}\n\n\tconst transferData = {\n\t\ttype: 'block',\n\t\tsrcClientIds: clientIds,\n\t\tsrcRootClientId,\n\t};\n\n\treturn (\n\t\t<Draggable\n\t\t\tcloneClassname={ cloneClassname }\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t// Defer hiding the dragged source element to the next\n\t\t\t\t// frame to enable dragging.\n\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\tstartDraggingBlocks( clientIds );\n\t\t\t\t\tisDragging.current = true;\n\n\t\t\t\t\tstartScrolling( event );\n\n\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\tonDragStart();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonDragOver={ scrollOnDragOver }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t\tisDragging.current = false;\n\n\t\t\t\tstopScrolling();\n\n\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\tonDragEnd();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ clientIds.length }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tfadeWhenDisabled\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default BlockDraggable;\n"],"mappings":"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"}
@@ -18,7 +18,6 @@ var _reactNativeAztec = _interopRequireDefault(require("@wordpress/react-native-
18
18
  var _useScrollWhenDragging = _interopRequireDefault(require("./use-scroll-when-dragging"));
19
19
  var _draggableChip = _interopRequireDefault(require("./draggable-chip"));
20
20
  var _store = require("../../store");
21
- var _blockListContext = require("../block-list/block-list-context");
22
21
  var _droppingInsertionPoint = _interopRequireDefault(require("./dropping-insertion-point"));
23
22
  var _useBlockDropZone = _interopRequireDefault(require("../use-block-drop-zone"));
24
23
  var _style = _interopRequireDefault(require("./style.scss"));
@@ -71,10 +70,6 @@ const BlockDraggableWrapper = ({
71
70
  startDraggingBlocks,
72
71
  stopDraggingBlocks
73
72
  } = (0, _data.useDispatch)(_store.store);
74
- const {
75
- scrollRef
76
- } = (0, _blockListContext.useBlockListContext)();
77
- const animatedScrollRef = (0, _reactNativeReanimated.useAnimatedRef)();
78
73
  const {
79
74
  left,
80
75
  right
@@ -84,7 +79,6 @@ const BlockDraggableWrapper = ({
84
79
  } = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
85
80
  const safeAreaOffset = left + right;
86
81
  const contentWidth = width - safeAreaOffset;
87
- animatedScrollRef(scrollRef);
88
82
  const scroll = {
89
83
  offsetY: (0, _reactNativeReanimated.useSharedValue)(0)
90
84
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeSafeAreaContext","_reactNativeReanimated","_interopRequireWildcard","_components","_data","_element","_blocks","_reactNativeBridge","_reactNativeAztec","_interopRequireDefault","_useScrollWhenDragging","_draggableChip","_store","_blockListContext","_droppingInsertionPoint","_useBlockDropZone","_style","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CHIP_OFFSET_TO_TOUCH_POSITION","BLOCK_OPACITY_ANIMATION_CONFIG","duration","BLOCK_OPACITY_ANIMATION_DELAY","DEFAULT_LONG_PRESS_MIN_DURATION","DEFAULT_IOS_LONG_PRESS_MIN_DURATION","BlockDraggableWrapper","children","isRTL","draggedBlockIcon","setDraggedBlockIcon","useState","selectBlock","startDraggingBlocks","stopDraggingBlocks","useDispatch","blockEditorStore","scrollRef","useBlockListContext","animatedScrollRef","useAnimatedRef","left","right","useSafeAreaInsets","width","useSafeAreaFrame","safeAreaOffset","contentWidth","scroll","offsetY","useSharedValue","chip","x","y","height","currentYPosition","isDragging","startScrolling","scrollOnDragOver","stopScrolling","draggingScrollHandler","useScrollWhenDragging","scrollHandler","event","contentOffset","value","onBlockDragOverWorklet","onBlockDragEnd","onBlockDrop","targetBlockIndex","useBlockDropZone","useEffect","setDraggedBlockIconByClientId","clientId","blockName","select","getBlockName","blockIcon","getBlockType","icon","onStartDragging","position","runOnUI","generateHapticFeedback","stopDragging","onStopDragging","srcRootClientId","srcClientIds","type","undefined","onChipLayout","nativeEvent","layout","startDragging","id","dragPosition","runOnJS","updateDragging","chipDynamicStyles","useAnimatedStyle","chipOffset","translateX","transform","translateY","chipStyles","styles","exitingAnimation","currentHeight","currentWidth","animations","withTiming","scale","initialValues","_react","createElement","Fragment","Draggable","onDragStart","onDragOver","onDragEnd","testID","onScroll","View","onLayout","style","pointerEvents","entering","ZoomInEasyDown","exiting","exports","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","AccessibilityInfo","addEventListener","enabled","then","screenReaderEnabled","remove","useIsEditingText","isEditingText","setIsEditingText","RCTAztecView","InputState","isFocused","onFocusChangeAztec","addFocusChangeListener","removeFocusChangeListener","BlockDraggable","draggingClientId","wasBeingDragged","useRef","draggingAnimation","opacity","startDraggingBlock","stopDraggingBlock","withDelay","isDraggable","isBeingDragged","isBlockSelected","useSelect","_select","getBlockRootClientId","getTemplateLock","isBlockBeingDragged","getSelectedBlockClientId","rootClientId","templateLock","selectedBlockClientId","current","onLongPressDraggable","useCallback","blurCurrentFocusedElement","animatedWrapperStyles","wrapperStyles","canDragBlock","DraggableTrigger","minDuration","Platform","ios","android","onLongPress","_default"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo } from 'react-native';\nimport {\n\tuseSafeAreaInsets,\n\tuseSafeAreaFrame,\n} from 'react-native-safe-area-context';\nimport Animated, {\n\trunOnJS,\n\trunOnUI,\n\tuseAnimatedRef,\n\tuseAnimatedStyle,\n\tuseSharedValue,\n\twithDelay,\n\twithTiming,\n\tZoomInEasyDown,\n} from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport { Draggable, DraggableTrigger } from '@wordpress/components';\nimport { select, useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tPlatform,\n} from '@wordpress/element';\nimport { getBlockType } from '@wordpress/blocks';\nimport { generateHapticFeedback } from '@wordpress/react-native-bridge';\nimport RCTAztecView from '@wordpress/react-native-aztec';\n\n/**\n * Internal dependencies\n */\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport DraggableChip from './draggable-chip';\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockListContext } from '../block-list/block-list-context';\nimport DroppingInsertionPoint from './dropping-insertion-point';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport styles from './style.scss';\n\nconst CHIP_OFFSET_TO_TOUCH_POSITION = 32;\nconst BLOCK_OPACITY_ANIMATION_CONFIG = { duration: 350 };\nconst BLOCK_OPACITY_ANIMATION_DELAY = 250;\nconst DEFAULT_LONG_PRESS_MIN_DURATION = 500;\nconst DEFAULT_IOS_LONG_PRESS_MIN_DURATION =\n\tDEFAULT_LONG_PRESS_MIN_DURATION - 50;\n\n/**\n * Block draggable wrapper component\n *\n * This component handles all the interactions for dragging blocks.\n * It relies on the block list and its context for dragging, hence it\n * should be rendered between the `BlockListProvider` component and the\n * block list rendering. It also requires listening to scroll events,\n * therefore for this purpose, it returns the `onScroll` event handler\n * that should be attached to the list that renders the blocks.\n *\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {boolean} props.isRTL Check if current locale is RTL.\n *\n * @return {Function} Render function that passes `onScroll` event handler.\n */\nconst BlockDraggableWrapper = ( { children, isRTL } ) => {\n\tconst [ draggedBlockIcon, setDraggedBlockIcon ] = useState();\n\n\tconst { selectBlock, startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { scrollRef } = useBlockListContext();\n\tconst animatedScrollRef = useAnimatedRef();\n\tconst { left, right } = useSafeAreaInsets();\n\tconst { width } = useSafeAreaFrame();\n\tconst safeAreaOffset = left + right;\n\tconst contentWidth = width - safeAreaOffset;\n\tanimatedScrollRef( scrollRef );\n\n\tconst scroll = {\n\t\toffsetY: useSharedValue( 0 ),\n\t};\n\tconst chip = {\n\t\tx: useSharedValue( 0 ),\n\t\ty: useSharedValue( 0 ),\n\t\twidth: useSharedValue( 0 ),\n\t\theight: useSharedValue( 0 ),\n\t};\n\tconst currentYPosition = useSharedValue( 0 );\n\tconst isDragging = useSharedValue( false );\n\n\tconst [\n\t\tstartScrolling,\n\t\tscrollOnDragOver,\n\t\tstopScrolling,\n\t\tdraggingScrollHandler,\n\t] = useScrollWhenDragging();\n\n\tconst scrollHandler = ( event ) => {\n\t\t'worklet';\n\t\tconst { contentOffset } = event;\n\t\tscroll.offsetY.value = contentOffset.y;\n\n\t\tdraggingScrollHandler( event );\n\t};\n\n\tconst {\n\t\tonBlockDragOverWorklet,\n\t\tonBlockDragEnd,\n\t\tonBlockDrop,\n\t\ttargetBlockIndex,\n\t} = useBlockDropZone();\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.value ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst setDraggedBlockIconByClientId = ( clientId ) => {\n\t\tconst blockName = select( blockEditorStore ).getBlockName( clientId );\n\t\tconst blockIcon = getBlockType( blockName )?.icon;\n\t\tif ( blockIcon ) {\n\t\t\tsetDraggedBlockIcon( blockIcon );\n\t\t}\n\t};\n\n\tconst onStartDragging = ( { clientId, position } ) => {\n\t\tif ( clientId ) {\n\t\t\tstartDraggingBlocks( [ clientId ] );\n\t\t\tsetDraggedBlockIconByClientId( clientId );\n\t\t\trunOnUI( startScrolling )( position.y );\n\t\t\tgenerateHapticFeedback();\n\t\t} else {\n\t\t\t// We stop dragging if no block is found.\n\t\t\trunOnUI( stopDragging )();\n\t\t}\n\t};\n\n\tconst onStopDragging = ( { clientId } ) => {\n\t\tif ( clientId ) {\n\t\t\tonBlockDrop( {\n\t\t\t\t// Dropping is only allowed at root level\n\t\t\t\tsrcRootClientId: '',\n\t\t\t\tsrcClientIds: [ clientId ],\n\t\t\t\ttype: 'block',\n\t\t\t} );\n\t\t\tselectBlock( clientId );\n\t\t\tsetDraggedBlockIcon( undefined );\n\t\t}\n\t\tonBlockDragEnd();\n\t\tstopDraggingBlocks();\n\t};\n\n\tconst onChipLayout = ( { nativeEvent: { layout } } ) => {\n\t\tif ( layout.width > 0 ) {\n\t\t\tchip.width.value = layout.width;\n\t\t}\n\t\tif ( layout.height > 0 ) {\n\t\t\tchip.height.value = layout.height;\n\t\t}\n\t};\n\n\tconst startDragging = ( { x, y, id } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tisDragging.value = true;\n\n\t\trunOnJS( onStartDragging )( { clientId: id, position: dragPosition } );\n\t};\n\n\tconst updateDragging = ( { x, y } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tonBlockDragOverWorklet( { x, y: y + scroll.offsetY.value } );\n\n\t\t// Update scrolling velocity\n\t\tscrollOnDragOver( dragPosition.y );\n\t};\n\n\tconst stopDragging = ( { id } ) => {\n\t\t'worklet';\n\t\tisDragging.value = false;\n\n\t\tstopScrolling();\n\t\trunOnJS( onStopDragging )( { clientId: id } );\n\t};\n\n\tconst chipDynamicStyles = useAnimatedStyle( () => {\n\t\tconst chipOffset = chip.width.value / 2;\n\t\tconst translateX = ! isRTL\n\t\t\t? chip.x.value - chipOffset\n\t\t\t: -( contentWidth - ( chip.x.value + chipOffset ) );\n\n\t\treturn {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateX,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateY:\n\t\t\t\t\t\tchip.y.value -\n\t\t\t\t\t\tchip.height.value -\n\t\t\t\t\t\tCHIP_OFFSET_TO_TOUCH_POSITION,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t} );\n\tconst chipStyles = [\n\t\tchipDynamicStyles,\n\t\tstyles[ 'draggable-chip__wrapper' ],\n\t];\n\n\tconst exitingAnimation = ( { currentHeight, currentWidth } ) => {\n\t\t'worklet';\n\t\tconst translateX = ! isRTL ? 0 : currentWidth * -1;\n\t\tconst duration = 150;\n\t\tconst animations = {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: withTiming( currentHeight, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateX: withTiming( translateX, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{ scale: withTiming( 0, { duration } ) },\n\t\t\t],\n\t\t};\n\t\tconst initialValues = {\n\t\t\ttransform: [ { translateY: 0 }, { translateX }, { scale: 1 } ],\n\t\t};\n\t\treturn {\n\t\t\tinitialValues,\n\t\t\tanimations,\n\t\t};\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<DroppingInsertionPoint\n\t\t\t\tscroll={ scroll }\n\t\t\t\tcurrentYPosition={ currentYPosition }\n\t\t\t\tisDragging={ isDragging }\n\t\t\t\ttargetBlockIndex={ targetBlockIndex }\n\t\t\t/>\n\t\t\t<Draggable\n\t\t\t\tonDragStart={ startDragging }\n\t\t\t\tonDragOver={ updateDragging }\n\t\t\t\tonDragEnd={ stopDragging }\n\t\t\t\ttestID=\"block-draggable-wrapper\"\n\t\t\t>\n\t\t\t\t{ children( { onScroll: scrollHandler } ) }\n\t\t\t</Draggable>\n\t\t\t<Animated.View\n\t\t\t\tonLayout={ onChipLayout }\n\t\t\t\tstyle={ chipStyles }\n\t\t\t\tpointerEvents=\"none\"\n\t\t\t>\n\t\t\t\t{ draggedBlockIcon && (\n\t\t\t\t\t<Animated.View\n\t\t\t\t\t\tentering={ ZoomInEasyDown.duration( 200 ) }\n\t\t\t\t\t\texiting={ exitingAnimation }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DraggableChip icon={ draggedBlockIcon } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t) }\n\t\t\t</Animated.View>\n\t\t</>\n\t);\n};\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nfunction useIsEditingText() {\n\tconst [ isEditingText, setIsEditingText ] = useState( () =>\n\t\tRCTAztecView.InputState.isFocused()\n\t);\n\n\tuseEffect( () => {\n\t\tconst onFocusChangeAztec = ( { isFocused } ) => {\n\t\t\tsetIsEditingText( isFocused );\n\t\t};\n\n\t\tRCTAztecView.InputState.addFocusChangeListener( onFocusChangeAztec );\n\n\t\treturn () => {\n\t\t\tRCTAztecView.InputState.removeFocusChangeListener(\n\t\t\t\tonFocusChangeAztec\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\treturn isEditingText;\n}\n\n/**\n * Block draggable component\n *\n * This component serves for animating the block when it is being dragged.\n * Hence, it should be wrapped around the rendering of a block.\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {string} props.clientId Client id of the block.\n * @param {string} [props.draggingClientId] Client id to use for dragging. If not defined, the value from `clientId` will be used.\n * @param {boolean} [props.enabled] Enables the draggable trigger.\n * @param {string} [props.testID] Id used for querying the long-press gesture handler in tests.\n *\n * @return {Function} Render function which includes the parameter `isDraggable` to determine if the block can be dragged.\n */\nconst BlockDraggable = ( {\n\tclientId,\n\tchildren,\n\tdraggingClientId,\n\tenabled = true,\n\ttestID,\n} ) => {\n\tconst wasBeingDragged = useRef( false );\n\tconst isEditingText = useIsEditingText();\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tconst draggingAnimation = {\n\t\topacity: useSharedValue( 1 ),\n\t};\n\n\tconst startDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withTiming(\n\t\t\t0.4,\n\t\t\tBLOCK_OPACITY_ANIMATION_CONFIG\n\t\t);\n\t};\n\n\tconst stopDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withDelay(\n\t\t\tBLOCK_OPACITY_ANIMATION_DELAY,\n\t\t\twithTiming( 1, BLOCK_OPACITY_ANIMATION_CONFIG )\n\t\t);\n\t};\n\n\tconst { isDraggable, isBeingDragged, isBlockSelected } = useSelect(\n\t\t( _select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = _select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst templateLock = rootClientId\n\t\t\t\t? getTemplateLock( rootClientId )\n\t\t\t\t: null;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisBeingDragged: isBlockBeingDragged( clientId ),\n\t\t\t\tisDraggable: 'all' !== templateLock,\n\t\t\t\tisBlockSelected:\n\t\t\t\t\tselectedBlockClientId && selectedBlockClientId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isBeingDragged !== wasBeingDragged.current ) {\n\t\t\tif ( isBeingDragged ) {\n\t\t\t\tstartDraggingBlock();\n\t\t\t} else {\n\t\t\t\tstopDraggingBlock();\n\t\t\t}\n\t\t}\n\t\twasBeingDragged.current = isBeingDragged;\n\t}, [ isBeingDragged ] );\n\n\tconst onLongPressDraggable = useCallback( () => {\n\t\t// Ensure that no text input is focused when starting the dragging gesture in order to prevent conflicts with text editing.\n\t\tRCTAztecView.InputState.blurCurrentFocusedElement();\n\t}, [] );\n\n\tconst animatedWrapperStyles = useAnimatedStyle( () => {\n\t\treturn {\n\t\t\topacity: draggingAnimation.opacity.value,\n\t\t};\n\t} );\n\tconst wrapperStyles = [\n\t\tanimatedWrapperStyles,\n\t\tstyles[ 'draggable-wrapper__container' ],\n\t];\n\n\tconst canDragBlock =\n\t\tenabled &&\n\t\t! isScreenReaderEnabled &&\n\t\t( ! isBlockSelected || ! isEditingText );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { isDraggable: false } );\n\t}\n\n\treturn (\n\t\t<DraggableTrigger\n\t\t\tid={ draggingClientId || clientId }\n\t\t\tenabled={ enabled && canDragBlock }\n\t\t\tminDuration={ Platform.select( {\n\t\t\t\t// On iOS, using a lower min duration than the default\n\t\t\t\t// value prevents the long-press gesture from being\n\t\t\t\t// triggered in underneath elements. This is required to\n\t\t\t\t// prevent enabling text editing when dragging is available.\n\t\t\t\tios: canDragBlock\n\t\t\t\t\t? DEFAULT_IOS_LONG_PRESS_MIN_DURATION\n\t\t\t\t\t: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t\tandroid: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t} ) }\n\t\t\tonLongPress={ onLongPressDraggable }\n\t\t\ttestID={ testID }\n\t\t>\n\t\t\t<Animated.View style={ wrapperStyles }>\n\t\t\t\t{ children( { isDraggable: true } ) }\n\t\t\t</Animated.View>\n\t\t</DraggableTrigger>\n\t);\n};\n\nexport { BlockDraggableWrapper };\nexport default BlockDraggable;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeSafeAreaContext","_reactNativeReanimated","_interopRequireWildcard","_components","_data","_element","_blocks","_reactNativeBridge","_reactNativeAztec","_interopRequireDefault","_useScrollWhenDragging","_draggableChip","_store","_droppingInsertionPoint","_useBlockDropZone","_style","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CHIP_OFFSET_TO_TOUCH_POSITION","BLOCK_OPACITY_ANIMATION_CONFIG","duration","BLOCK_OPACITY_ANIMATION_DELAY","DEFAULT_LONG_PRESS_MIN_DURATION","DEFAULT_IOS_LONG_PRESS_MIN_DURATION","BlockDraggableWrapper","children","isRTL","draggedBlockIcon","setDraggedBlockIcon","useState","selectBlock","startDraggingBlocks","stopDraggingBlocks","useDispatch","blockEditorStore","left","right","useSafeAreaInsets","width","useSafeAreaFrame","safeAreaOffset","contentWidth","scroll","offsetY","useSharedValue","chip","x","y","height","currentYPosition","isDragging","startScrolling","scrollOnDragOver","stopScrolling","draggingScrollHandler","useScrollWhenDragging","scrollHandler","event","contentOffset","value","onBlockDragOverWorklet","onBlockDragEnd","onBlockDrop","targetBlockIndex","useBlockDropZone","useEffect","setDraggedBlockIconByClientId","clientId","blockName","select","getBlockName","blockIcon","getBlockType","icon","onStartDragging","position","runOnUI","generateHapticFeedback","stopDragging","onStopDragging","srcRootClientId","srcClientIds","type","undefined","onChipLayout","nativeEvent","layout","startDragging","id","dragPosition","runOnJS","updateDragging","chipDynamicStyles","useAnimatedStyle","chipOffset","translateX","transform","translateY","chipStyles","styles","exitingAnimation","currentHeight","currentWidth","animations","withTiming","scale","initialValues","_react","createElement","Fragment","Draggable","onDragStart","onDragOver","onDragEnd","testID","onScroll","View","onLayout","style","pointerEvents","entering","ZoomInEasyDown","exiting","exports","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","AccessibilityInfo","addEventListener","enabled","then","screenReaderEnabled","remove","useIsEditingText","isEditingText","setIsEditingText","RCTAztecView","InputState","isFocused","onFocusChangeAztec","addFocusChangeListener","removeFocusChangeListener","BlockDraggable","draggingClientId","wasBeingDragged","useRef","draggingAnimation","opacity","startDraggingBlock","stopDraggingBlock","withDelay","isDraggable","isBeingDragged","isBlockSelected","useSelect","_select","getBlockRootClientId","getTemplateLock","isBlockBeingDragged","getSelectedBlockClientId","rootClientId","templateLock","selectedBlockClientId","current","onLongPressDraggable","useCallback","blurCurrentFocusedElement","animatedWrapperStyles","wrapperStyles","canDragBlock","DraggableTrigger","minDuration","Platform","ios","android","onLongPress","_default"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo } from 'react-native';\nimport {\n\tuseSafeAreaInsets,\n\tuseSafeAreaFrame,\n} from 'react-native-safe-area-context';\nimport Animated, {\n\trunOnJS,\n\trunOnUI,\n\tuseAnimatedStyle,\n\tuseSharedValue,\n\twithDelay,\n\twithTiming,\n\tZoomInEasyDown,\n} from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport { Draggable, DraggableTrigger } from '@wordpress/components';\nimport { select, useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tPlatform,\n} from '@wordpress/element';\nimport { getBlockType } from '@wordpress/blocks';\nimport { generateHapticFeedback } from '@wordpress/react-native-bridge';\nimport RCTAztecView from '@wordpress/react-native-aztec';\n\n/**\n * Internal dependencies\n */\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport DraggableChip from './draggable-chip';\nimport { store as blockEditorStore } from '../../store';\nimport DroppingInsertionPoint from './dropping-insertion-point';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport styles from './style.scss';\n\nconst CHIP_OFFSET_TO_TOUCH_POSITION = 32;\nconst BLOCK_OPACITY_ANIMATION_CONFIG = { duration: 350 };\nconst BLOCK_OPACITY_ANIMATION_DELAY = 250;\nconst DEFAULT_LONG_PRESS_MIN_DURATION = 500;\nconst DEFAULT_IOS_LONG_PRESS_MIN_DURATION =\n\tDEFAULT_LONG_PRESS_MIN_DURATION - 50;\n\n/**\n * Block draggable wrapper component\n *\n * This component handles all the interactions for dragging blocks.\n * It relies on the block list and its context for dragging, hence it\n * should be rendered between the `BlockListProvider` component and the\n * block list rendering. It also requires listening to scroll events,\n * therefore for this purpose, it returns the `onScroll` event handler\n * that should be attached to the list that renders the blocks.\n *\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {boolean} props.isRTL Check if current locale is RTL.\n *\n * @return {Function} Render function that passes `onScroll` event handler.\n */\nconst BlockDraggableWrapper = ( { children, isRTL } ) => {\n\tconst [ draggedBlockIcon, setDraggedBlockIcon ] = useState();\n\n\tconst { selectBlock, startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { left, right } = useSafeAreaInsets();\n\tconst { width } = useSafeAreaFrame();\n\tconst safeAreaOffset = left + right;\n\tconst contentWidth = width - safeAreaOffset;\n\n\tconst scroll = {\n\t\toffsetY: useSharedValue( 0 ),\n\t};\n\tconst chip = {\n\t\tx: useSharedValue( 0 ),\n\t\ty: useSharedValue( 0 ),\n\t\twidth: useSharedValue( 0 ),\n\t\theight: useSharedValue( 0 ),\n\t};\n\tconst currentYPosition = useSharedValue( 0 );\n\tconst isDragging = useSharedValue( false );\n\n\tconst [\n\t\tstartScrolling,\n\t\tscrollOnDragOver,\n\t\tstopScrolling,\n\t\tdraggingScrollHandler,\n\t] = useScrollWhenDragging();\n\n\tconst scrollHandler = ( event ) => {\n\t\t'worklet';\n\t\tconst { contentOffset } = event;\n\t\tscroll.offsetY.value = contentOffset.y;\n\n\t\tdraggingScrollHandler( event );\n\t};\n\n\tconst {\n\t\tonBlockDragOverWorklet,\n\t\tonBlockDragEnd,\n\t\tonBlockDrop,\n\t\ttargetBlockIndex,\n\t} = useBlockDropZone();\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.value ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst setDraggedBlockIconByClientId = ( clientId ) => {\n\t\tconst blockName = select( blockEditorStore ).getBlockName( clientId );\n\t\tconst blockIcon = getBlockType( blockName )?.icon;\n\t\tif ( blockIcon ) {\n\t\t\tsetDraggedBlockIcon( blockIcon );\n\t\t}\n\t};\n\n\tconst onStartDragging = ( { clientId, position } ) => {\n\t\tif ( clientId ) {\n\t\t\tstartDraggingBlocks( [ clientId ] );\n\t\t\tsetDraggedBlockIconByClientId( clientId );\n\t\t\trunOnUI( startScrolling )( position.y );\n\t\t\tgenerateHapticFeedback();\n\t\t} else {\n\t\t\t// We stop dragging if no block is found.\n\t\t\trunOnUI( stopDragging )();\n\t\t}\n\t};\n\n\tconst onStopDragging = ( { clientId } ) => {\n\t\tif ( clientId ) {\n\t\t\tonBlockDrop( {\n\t\t\t\t// Dropping is only allowed at root level\n\t\t\t\tsrcRootClientId: '',\n\t\t\t\tsrcClientIds: [ clientId ],\n\t\t\t\ttype: 'block',\n\t\t\t} );\n\t\t\tselectBlock( clientId );\n\t\t\tsetDraggedBlockIcon( undefined );\n\t\t}\n\t\tonBlockDragEnd();\n\t\tstopDraggingBlocks();\n\t};\n\n\tconst onChipLayout = ( { nativeEvent: { layout } } ) => {\n\t\tif ( layout.width > 0 ) {\n\t\t\tchip.width.value = layout.width;\n\t\t}\n\t\tif ( layout.height > 0 ) {\n\t\t\tchip.height.value = layout.height;\n\t\t}\n\t};\n\n\tconst startDragging = ( { x, y, id } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tisDragging.value = true;\n\n\t\trunOnJS( onStartDragging )( { clientId: id, position: dragPosition } );\n\t};\n\n\tconst updateDragging = ( { x, y } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tonBlockDragOverWorklet( { x, y: y + scroll.offsetY.value } );\n\n\t\t// Update scrolling velocity\n\t\tscrollOnDragOver( dragPosition.y );\n\t};\n\n\tconst stopDragging = ( { id } ) => {\n\t\t'worklet';\n\t\tisDragging.value = false;\n\n\t\tstopScrolling();\n\t\trunOnJS( onStopDragging )( { clientId: id } );\n\t};\n\n\tconst chipDynamicStyles = useAnimatedStyle( () => {\n\t\tconst chipOffset = chip.width.value / 2;\n\t\tconst translateX = ! isRTL\n\t\t\t? chip.x.value - chipOffset\n\t\t\t: -( contentWidth - ( chip.x.value + chipOffset ) );\n\n\t\treturn {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateX,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateY:\n\t\t\t\t\t\tchip.y.value -\n\t\t\t\t\t\tchip.height.value -\n\t\t\t\t\t\tCHIP_OFFSET_TO_TOUCH_POSITION,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t} );\n\tconst chipStyles = [\n\t\tchipDynamicStyles,\n\t\tstyles[ 'draggable-chip__wrapper' ],\n\t];\n\n\tconst exitingAnimation = ( { currentHeight, currentWidth } ) => {\n\t\t'worklet';\n\t\tconst translateX = ! isRTL ? 0 : currentWidth * -1;\n\t\tconst duration = 150;\n\t\tconst animations = {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: withTiming( currentHeight, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateX: withTiming( translateX, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{ scale: withTiming( 0, { duration } ) },\n\t\t\t],\n\t\t};\n\t\tconst initialValues = {\n\t\t\ttransform: [ { translateY: 0 }, { translateX }, { scale: 1 } ],\n\t\t};\n\t\treturn {\n\t\t\tinitialValues,\n\t\t\tanimations,\n\t\t};\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<DroppingInsertionPoint\n\t\t\t\tscroll={ scroll }\n\t\t\t\tcurrentYPosition={ currentYPosition }\n\t\t\t\tisDragging={ isDragging }\n\t\t\t\ttargetBlockIndex={ targetBlockIndex }\n\t\t\t/>\n\t\t\t<Draggable\n\t\t\t\tonDragStart={ startDragging }\n\t\t\t\tonDragOver={ updateDragging }\n\t\t\t\tonDragEnd={ stopDragging }\n\t\t\t\ttestID=\"block-draggable-wrapper\"\n\t\t\t>\n\t\t\t\t{ children( { onScroll: scrollHandler } ) }\n\t\t\t</Draggable>\n\t\t\t<Animated.View\n\t\t\t\tonLayout={ onChipLayout }\n\t\t\t\tstyle={ chipStyles }\n\t\t\t\tpointerEvents=\"none\"\n\t\t\t>\n\t\t\t\t{ draggedBlockIcon && (\n\t\t\t\t\t<Animated.View\n\t\t\t\t\t\tentering={ ZoomInEasyDown.duration( 200 ) }\n\t\t\t\t\t\texiting={ exitingAnimation }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DraggableChip icon={ draggedBlockIcon } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t) }\n\t\t\t</Animated.View>\n\t\t</>\n\t);\n};\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nfunction useIsEditingText() {\n\tconst [ isEditingText, setIsEditingText ] = useState( () =>\n\t\tRCTAztecView.InputState.isFocused()\n\t);\n\n\tuseEffect( () => {\n\t\tconst onFocusChangeAztec = ( { isFocused } ) => {\n\t\t\tsetIsEditingText( isFocused );\n\t\t};\n\n\t\tRCTAztecView.InputState.addFocusChangeListener( onFocusChangeAztec );\n\n\t\treturn () => {\n\t\t\tRCTAztecView.InputState.removeFocusChangeListener(\n\t\t\t\tonFocusChangeAztec\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\treturn isEditingText;\n}\n\n/**\n * Block draggable component\n *\n * This component serves for animating the block when it is being dragged.\n * Hence, it should be wrapped around the rendering of a block.\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {string} props.clientId Client id of the block.\n * @param {string} [props.draggingClientId] Client id to use for dragging. If not defined, the value from `clientId` will be used.\n * @param {boolean} [props.enabled] Enables the draggable trigger.\n * @param {string} [props.testID] Id used for querying the long-press gesture handler in tests.\n *\n * @return {Function} Render function which includes the parameter `isDraggable` to determine if the block can be dragged.\n */\nconst BlockDraggable = ( {\n\tclientId,\n\tchildren,\n\tdraggingClientId,\n\tenabled = true,\n\ttestID,\n} ) => {\n\tconst wasBeingDragged = useRef( false );\n\tconst isEditingText = useIsEditingText();\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tconst draggingAnimation = {\n\t\topacity: useSharedValue( 1 ),\n\t};\n\n\tconst startDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withTiming(\n\t\t\t0.4,\n\t\t\tBLOCK_OPACITY_ANIMATION_CONFIG\n\t\t);\n\t};\n\n\tconst stopDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withDelay(\n\t\t\tBLOCK_OPACITY_ANIMATION_DELAY,\n\t\t\twithTiming( 1, BLOCK_OPACITY_ANIMATION_CONFIG )\n\t\t);\n\t};\n\n\tconst { isDraggable, isBeingDragged, isBlockSelected } = useSelect(\n\t\t( _select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = _select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst templateLock = rootClientId\n\t\t\t\t? getTemplateLock( rootClientId )\n\t\t\t\t: null;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisBeingDragged: isBlockBeingDragged( clientId ),\n\t\t\t\tisDraggable: 'all' !== templateLock,\n\t\t\t\tisBlockSelected:\n\t\t\t\t\tselectedBlockClientId && selectedBlockClientId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isBeingDragged !== wasBeingDragged.current ) {\n\t\t\tif ( isBeingDragged ) {\n\t\t\t\tstartDraggingBlock();\n\t\t\t} else {\n\t\t\t\tstopDraggingBlock();\n\t\t\t}\n\t\t}\n\t\twasBeingDragged.current = isBeingDragged;\n\t}, [ isBeingDragged ] );\n\n\tconst onLongPressDraggable = useCallback( () => {\n\t\t// Ensure that no text input is focused when starting the dragging gesture in order to prevent conflicts with text editing.\n\t\tRCTAztecView.InputState.blurCurrentFocusedElement();\n\t}, [] );\n\n\tconst animatedWrapperStyles = useAnimatedStyle( () => {\n\t\treturn {\n\t\t\topacity: draggingAnimation.opacity.value,\n\t\t};\n\t} );\n\tconst wrapperStyles = [\n\t\tanimatedWrapperStyles,\n\t\tstyles[ 'draggable-wrapper__container' ],\n\t];\n\n\tconst canDragBlock =\n\t\tenabled &&\n\t\t! isScreenReaderEnabled &&\n\t\t( ! isBlockSelected || ! isEditingText );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { isDraggable: false } );\n\t}\n\n\treturn (\n\t\t<DraggableTrigger\n\t\t\tid={ draggingClientId || clientId }\n\t\t\tenabled={ enabled && canDragBlock }\n\t\t\tminDuration={ Platform.select( {\n\t\t\t\t// On iOS, using a lower min duration than the default\n\t\t\t\t// value prevents the long-press gesture from being\n\t\t\t\t// triggered in underneath elements. This is required to\n\t\t\t\t// prevent enabling text editing when dragging is available.\n\t\t\t\tios: canDragBlock\n\t\t\t\t\t? DEFAULT_IOS_LONG_PRESS_MIN_DURATION\n\t\t\t\t\t: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t\tandroid: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t} ) }\n\t\t\tonLongPress={ onLongPressDraggable }\n\t\t\ttestID={ testID }\n\t\t>\n\t\t\t<Animated.View style={ wrapperStyles }>\n\t\t\t\t{ children( { isDraggable: true } ) }\n\t\t\t</Animated.View>\n\t\t</DraggableTrigger>\n\t);\n};\n\nexport { BlockDraggableWrapper };\nexport default BlockDraggable;\n"],"mappings":"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"}
@@ -33,7 +33,7 @@ function useScrollWhenDragging() {
33
33
  scrollRef
34
34
  } = (0, _blockListContext.useBlockListContext)();
35
35
  const animatedScrollRef = (0, _reactNativeReanimated.useAnimatedRef)();
36
- animatedScrollRef(scrollRef);
36
+ animatedScrollRef(scrollRef?.scrollViewRef);
37
37
  const {
38
38
  height: windowHeight
39
39
  } = (0, _reactNative.useWindowDimensions)();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_blockListContext","SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","VELOCITY_MULTIPLIER","useScrollWhenDragging","scrollRef","useBlockListContext","animatedScrollRef","useAnimatedRef","height","windowHeight","useWindowDimensions","velocityY","useSharedValue","offsetY","dragStartY","animationTimer","isAnimationTimerActive","isScrollActive","scroll","maxOffsetY","scrollHandler","event","contentSize","contentOffset","layoutMeasurement","value","y","stopScrolling","cancelAnimation","startScrolling","withRepeat","withTiming","duration","easing","Easing","linear","scrollOnDragOver","dragDistance","Math","max","abs","distancePercentage","useAnimatedReaction","previous","delta","newOffset","min","scrollTo"],"sources":["@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.native.js"],"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"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_blockListContext","SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","VELOCITY_MULTIPLIER","useScrollWhenDragging","scrollRef","useBlockListContext","animatedScrollRef","useAnimatedRef","scrollViewRef","height","windowHeight","useWindowDimensions","velocityY","useSharedValue","offsetY","dragStartY","animationTimer","isAnimationTimerActive","isScrollActive","scroll","maxOffsetY","scrollHandler","event","contentSize","contentOffset","layoutMeasurement","value","y","stopScrolling","cancelAnimation","startScrolling","withRepeat","withTiming","duration","easing","Easing","linear","scrollOnDragOver","dragDistance","Math","max","abs","distancePercentage","useAnimatedReaction","previous","delta","newOffset","min","scrollTo"],"sources":["@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.native.js"],"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?.scrollViewRef );\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"],"mappings":"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"}
@@ -7,7 +7,7 @@ exports.useBlockEditingMode = useBlockEditingMode;
7
7
  var _data = require("@wordpress/data");
8
8
  var _element = require("@wordpress/element");
9
9
  var _store = require("../../store");
10
- var _blockListBlockContext = require("../block-list/block-list-block-context");
10
+ var _context = require("../block-edit/context");
11
11
  /**
12
12
  * WordPress dependencies
13
13
  */
@@ -51,10 +51,9 @@ var _blockListBlockContext = require("../block-list/block-list-block-context");
51
51
  * @return {BlockEditingMode} The current editing mode.
52
52
  */
53
53
  function useBlockEditingMode(mode) {
54
- var _useContext;
55
54
  const {
56
55
  clientId = ''
57
- } = (_useContext = (0, _element.useContext)(_blockListBlockContext.BlockListBlockContext)) !== null && _useContext !== void 0 ? _useContext : {};
56
+ } = (0, _context.useBlockEditContext)();
58
57
  const blockEditingMode = (0, _data.useSelect)(select => select(_store.store).getBlockEditingMode(clientId), [clientId]);
59
58
  const {
60
59
  setBlockEditingMode,