@wordpress/block-editor 12.16.0 → 12.16.1-next.79a6196f.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 (650) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +3 -6
  3. package/build/components/block-canvas/index.js +0 -2
  4. package/build/components/block-canvas/index.js.map +1 -1
  5. package/build/components/block-card/index.js +1 -1
  6. package/build/components/block-card/index.js.map +1 -1
  7. package/build/components/block-draggable/draggable-chip.js +6 -1
  8. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  9. package/build/components/block-draggable/index.js +76 -6
  10. package/build/components/block-draggable/index.js.map +1 -1
  11. package/build/components/block-draggable/index.native.js +0 -6
  12. package/build/components/block-draggable/index.native.js.map +1 -1
  13. package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  14. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  15. package/build/components/block-editing-mode/index.js +2 -3
  16. package/build/components/block-editing-mode/index.js.map +1 -1
  17. package/build/components/block-inspector/index.js +1 -1
  18. package/build/components/block-inspector/index.js.map +1 -1
  19. package/build/components/block-list/block-list-item-cell.native.js +1 -0
  20. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  21. package/build/components/block-list/block.js +245 -102
  22. package/build/components/block-list/block.js.map +1 -1
  23. package/build/components/block-list/block.native.js +46 -20
  24. package/build/components/block-list/block.native.js.map +1 -1
  25. package/build/components/block-list/index.native.js +3 -5
  26. package/build/components/block-list/index.native.js.map +1 -1
  27. package/build/components/block-list/private-block-context.js +14 -0
  28. package/build/components/block-list/private-block-context.js.map +1 -0
  29. package/build/components/block-list/use-block-props/index.js +33 -96
  30. package/build/components/block-list/use-block-props/index.js.map +1 -1
  31. package/build/components/block-list/use-in-between-inserter.js +3 -2
  32. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  33. package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
  34. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  35. package/build/components/block-lock/toolbar.js +21 -27
  36. package/build/components/block-lock/toolbar.js.map +1 -1
  37. package/build/components/block-mover/index.js +2 -1
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-patterns-list/index.js +4 -4
  40. package/build/components/block-patterns-list/index.js.map +1 -1
  41. package/build/components/block-switcher/index.js +4 -4
  42. package/build/components/block-switcher/index.js.map +1 -1
  43. package/build/components/block-toolbar/index.js +1 -2
  44. package/build/components/block-toolbar/index.js.map +1 -1
  45. package/build/components/block-tools/block-toolbar-popover.js +0 -2
  46. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  47. package/build/components/block-variation-transforms/index.js +29 -2
  48. package/build/components/block-variation-transforms/index.js.map +1 -1
  49. package/build/components/border-radius-control/linked-button.js +1 -1
  50. package/build/components/border-radius-control/linked-button.js.map +1 -1
  51. package/build/components/colors/utils.js +10 -2
  52. package/build/components/colors/utils.js.map +1 -1
  53. package/build/components/colors/with-colors.js +6 -2
  54. package/build/components/colors/with-colors.js.map +1 -1
  55. package/build/components/font-sizes/utils.js +10 -2
  56. package/build/components/font-sizes/utils.js.map +1 -1
  57. package/build/components/global-styles/border-panel.js +2 -1
  58. package/build/components/global-styles/border-panel.js.map +1 -1
  59. package/build/components/global-styles/color-panel.js +2 -1
  60. package/build/components/global-styles/color-panel.js.map +1 -1
  61. package/build/components/global-styles/dimensions-panel.js +4 -3
  62. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  63. package/build/components/global-styles/effects-panel.js +2 -1
  64. package/build/components/global-styles/effects-panel.js.map +1 -1
  65. package/build/components/global-styles/filters-panel.js +1 -4
  66. package/build/components/global-styles/filters-panel.js.map +1 -1
  67. package/build/components/global-styles/get-global-styles-changes.js +192 -0
  68. package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
  69. package/build/components/global-styles/hooks.js +3 -2
  70. package/build/components/global-styles/hooks.js.map +1 -1
  71. package/build/components/global-styles/image-settings-panel.js +7 -1
  72. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  73. package/build/components/global-styles/index.js +7 -0
  74. package/build/components/global-styles/index.js.map +1 -1
  75. package/build/components/global-styles/typography-panel.js +33 -15
  76. package/build/components/global-styles/typography-panel.js.map +1 -1
  77. package/build/components/global-styles/use-global-styles-output.js +22 -8
  78. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  79. package/build/components/global-styles/utils.js +8 -1
  80. package/build/components/global-styles/utils.js.map +1 -1
  81. package/build/components/height-control/index.js +6 -2
  82. package/build/components/height-control/index.js.map +1 -1
  83. package/build/components/image-size-control/index.js +2 -2
  84. package/build/components/image-size-control/index.js.map +1 -1
  85. package/build/components/index.native.js +6 -5
  86. package/build/components/index.native.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +61 -22
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inner-blocks/index.native.js +18 -4
  90. package/build/components/inner-blocks/index.native.js.map +1 -1
  91. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  92. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  93. package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
  94. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  95. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  96. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  97. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
  98. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  99. package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
  100. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  101. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
  102. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  103. package/build/components/inserter/block-patterns-tab/utils.js +10 -14
  104. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  105. package/build/components/inserter/hooks/use-block-types-state.js +4 -14
  106. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  107. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  108. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  109. package/build/components/inserter/index.js +1 -2
  110. package/build/components/inserter/index.js.map +1 -1
  111. package/build/components/inserter/library.js +3 -7
  112. package/build/components/inserter/library.js.map +1 -1
  113. package/build/components/inserter/menu.js +14 -28
  114. package/build/components/inserter/menu.js.map +1 -1
  115. package/build/components/inserter/tabs.js +21 -21
  116. package/build/components/inserter/tabs.js.map +1 -1
  117. package/build/components/inserter-draggable-blocks/index.js +1 -1
  118. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  119. package/build/components/inserter-list-item/index.js +2 -4
  120. package/build/components/inserter-list-item/index.js.map +1 -1
  121. package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
  122. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  123. package/build/components/inspector-controls-tabs/index.js +34 -23
  124. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  125. package/build/components/list-view/block-select-button.js +4 -0
  126. package/build/components/list-view/block-select-button.js.map +1 -1
  127. package/build/components/list-view/block.js +57 -3
  128. package/build/components/list-view/block.js.map +1 -1
  129. package/build/components/media-upload-progress/constants.js +19 -0
  130. package/build/components/media-upload-progress/constants.js.map +1 -0
  131. package/build/components/media-upload-progress/index.native.js +42 -17
  132. package/build/components/media-upload-progress/index.native.js.map +1 -1
  133. package/build/components/navigable-toolbar/index.js +9 -14
  134. package/build/components/navigable-toolbar/index.js.map +1 -1
  135. package/build/components/plain-text/index.native.js +8 -3
  136. package/build/components/plain-text/index.native.js.map +1 -1
  137. package/build/components/provider/index.js +3 -1
  138. package/build/components/provider/index.js.map +1 -1
  139. package/build/components/provider/use-block-sync.js +7 -1
  140. package/build/components/provider/use-block-sync.js.map +1 -1
  141. package/build/components/rich-text/index.js +17 -7
  142. package/build/components/rich-text/index.js.map +1 -1
  143. package/build/components/rich-text/native/index.native.js +16 -24
  144. package/build/components/rich-text/native/index.native.js.map +1 -1
  145. package/build/components/rich-text/use-input-rules.js +2 -2
  146. package/build/components/rich-text/use-input-rules.js.map +1 -1
  147. package/build/components/rich-text/use-mark-persistent.js +1 -1
  148. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  149. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  150. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  151. package/build/components/url-input/index.js +9 -6
  152. package/build/components/url-input/index.js.map +1 -1
  153. package/build/components/use-block-commands/index.js +14 -18
  154. package/build/components/use-block-commands/index.js.map +1 -1
  155. package/build/components/use-block-drop-zone/index.js +51 -22
  156. package/build/components/use-block-drop-zone/index.js.map +1 -1
  157. package/build/components/use-moving-animation/index.js +100 -92
  158. package/build/components/use-moving-animation/index.js.map +1 -1
  159. package/build/components/use-on-block-drop/index.js +8 -11
  160. package/build/components/use-on-block-drop/index.js.map +1 -1
  161. package/build/components/writing-flow/index.js +0 -1
  162. package/build/components/writing-flow/index.js.map +1 -1
  163. package/build/components/writing-flow/use-drag-selection.js +15 -4
  164. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  165. package/build/components/writing-flow/use-selection-observer.js +73 -27
  166. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  167. package/build/components/writing-flow/use-tab-nav.js +7 -4
  168. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  169. package/build/hooks/align.js +1 -1
  170. package/build/hooks/align.js.map +1 -1
  171. package/build/hooks/anchor.js +1 -1
  172. package/build/hooks/anchor.js.map +1 -1
  173. package/build/hooks/aria-label.js +9 -1
  174. package/build/hooks/aria-label.js.map +1 -1
  175. package/build/hooks/background.js +185 -20
  176. package/build/hooks/background.js.map +1 -1
  177. package/build/hooks/border.js +5 -10
  178. package/build/hooks/border.js.map +1 -1
  179. package/build/hooks/color.js +13 -11
  180. package/build/hooks/color.js.map +1 -1
  181. package/build/hooks/custom-class-name.js +1 -1
  182. package/build/hooks/custom-class-name.js.map +1 -1
  183. package/build/hooks/custom-class-name.native.js +9 -1
  184. package/build/hooks/custom-class-name.native.js.map +1 -1
  185. package/build/hooks/dimensions.js +4 -9
  186. package/build/hooks/dimensions.js.map +1 -1
  187. package/build/hooks/font-family.js +7 -3
  188. package/build/hooks/font-family.js.map +1 -1
  189. package/build/hooks/font-size.js +1 -1
  190. package/build/hooks/font-size.js.map +1 -1
  191. package/build/hooks/index.js +4 -4
  192. package/build/hooks/index.js.map +1 -1
  193. package/build/hooks/index.native.js +5 -3
  194. package/build/hooks/index.native.js.map +1 -1
  195. package/build/hooks/layout.js +10 -4
  196. package/build/hooks/layout.js.map +1 -1
  197. package/build/hooks/style.js +1 -1
  198. package/build/hooks/style.js.map +1 -1
  199. package/build/hooks/typography.js +4 -9
  200. package/build/hooks/typography.js.map +1 -1
  201. package/build/hooks/typography.native.js +43 -18
  202. package/build/hooks/typography.native.js.map +1 -1
  203. package/build/hooks/use-typography-props.js +10 -2
  204. package/build/hooks/use-typography-props.js.map +1 -1
  205. package/build/hooks/utils.js +48 -5
  206. package/build/hooks/utils.js.map +1 -1
  207. package/build/private-apis.js +2 -4
  208. package/build/private-apis.js.map +1 -1
  209. package/build/private-apis.native.js +0 -2
  210. package/build/private-apis.native.js.map +1 -1
  211. package/build/store/actions.js +0 -16
  212. package/build/store/actions.js.map +1 -1
  213. package/build/store/private-actions.js +51 -5
  214. package/build/store/private-actions.js.map +1 -1
  215. package/build/store/private-selectors.js +12 -0
  216. package/build/store/private-selectors.js.map +1 -1
  217. package/build/store/reducer.js +14 -6
  218. package/build/store/reducer.js.map +1 -1
  219. package/build/store/selectors.js +1 -13
  220. package/build/store/selectors.js.map +1 -1
  221. package/build/store/undo-ignore.js +12 -0
  222. package/build/store/undo-ignore.js.map +1 -0
  223. package/build/store/utils.js +1 -1
  224. package/build/store/utils.js.map +1 -1
  225. package/build/utils/get-px-from-css-unit.js +16 -0
  226. package/build/utils/get-px-from-css-unit.js.map +1 -0
  227. package/build/utils/index.js +2 -2
  228. package/build/utils/index.js.map +1 -1
  229. package/build/utils/object.js +17 -38
  230. package/build/utils/object.js.map +1 -1
  231. package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
  232. package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  233. package/build-module/components/block-canvas/index.js +0 -2
  234. package/build-module/components/block-canvas/index.js.map +1 -1
  235. package/build-module/components/block-card/index.js +1 -1
  236. package/build-module/components/block-card/index.js.map +1 -1
  237. package/build-module/components/block-draggable/draggable-chip.js +6 -1
  238. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  239. package/build-module/components/block-draggable/index.js +76 -6
  240. package/build-module/components/block-draggable/index.js.map +1 -1
  241. package/build-module/components/block-draggable/index.native.js +1 -7
  242. package/build-module/components/block-draggable/index.native.js.map +1 -1
  243. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  244. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  245. package/build-module/components/block-editing-mode/index.js +3 -4
  246. package/build-module/components/block-editing-mode/index.js.map +1 -1
  247. package/build-module/components/block-inspector/index.js +1 -1
  248. package/build-module/components/block-inspector/index.js.map +1 -1
  249. package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
  250. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  251. package/build-module/components/block-list/block.js +249 -106
  252. package/build-module/components/block-list/block.js.map +1 -1
  253. package/build-module/components/block-list/block.native.js +48 -22
  254. package/build-module/components/block-list/block.native.js.map +1 -1
  255. package/build-module/components/block-list/index.native.js +3 -5
  256. package/build-module/components/block-list/index.native.js.map +1 -1
  257. package/build-module/components/block-list/private-block-context.js +6 -0
  258. package/build-module/components/block-list/private-block-context.js.map +1 -0
  259. package/build-module/components/block-list/use-block-props/index.js +34 -97
  260. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  261. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  262. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  263. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
  264. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  265. package/build-module/components/block-lock/toolbar.js +22 -28
  266. package/build-module/components/block-lock/toolbar.js.map +1 -1
  267. package/build-module/components/block-mover/index.js +2 -1
  268. package/build-module/components/block-mover/index.js.map +1 -1
  269. package/build-module/components/block-patterns-list/index.js +5 -5
  270. package/build-module/components/block-patterns-list/index.js.map +1 -1
  271. package/build-module/components/block-switcher/index.js +4 -4
  272. package/build-module/components/block-switcher/index.js.map +1 -1
  273. package/build-module/components/block-toolbar/index.js +1 -2
  274. package/build-module/components/block-toolbar/index.js.map +1 -1
  275. package/build-module/components/block-tools/block-toolbar-popover.js +0 -2
  276. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  277. package/build-module/components/block-variation-transforms/index.js +30 -3
  278. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  279. package/build-module/components/border-radius-control/linked-button.js +1 -1
  280. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  281. package/build-module/components/colors/utils.js +9 -1
  282. package/build-module/components/colors/utils.js.map +1 -1
  283. package/build-module/components/colors/with-colors.js +5 -1
  284. package/build-module/components/colors/with-colors.js.map +1 -1
  285. package/build-module/components/font-sizes/utils.js +9 -1
  286. package/build-module/components/font-sizes/utils.js.map +1 -1
  287. package/build-module/components/global-styles/border-panel.js +3 -2
  288. package/build-module/components/global-styles/border-panel.js.map +1 -1
  289. package/build-module/components/global-styles/color-panel.js +3 -2
  290. package/build-module/components/global-styles/color-panel.js.map +1 -1
  291. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  292. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  293. package/build-module/components/global-styles/effects-panel.js +3 -2
  294. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  295. package/build-module/components/global-styles/filters-panel.js +2 -5
  296. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  297. package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
  298. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
  299. package/build-module/components/global-styles/hooks.js +3 -2
  300. package/build-module/components/global-styles/hooks.js.map +1 -1
  301. package/build-module/components/global-styles/image-settings-panel.js +7 -1
  302. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  303. package/build-module/components/global-styles/index.js +1 -0
  304. package/build-module/components/global-styles/index.js.map +1 -1
  305. package/build-module/components/global-styles/typography-panel.js +35 -17
  306. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  307. package/build-module/components/global-styles/use-global-styles-output.js +15 -1
  308. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  309. package/build-module/components/global-styles/utils.js +7 -0
  310. package/build-module/components/global-styles/utils.js.map +1 -1
  311. package/build-module/components/height-control/index.js +6 -2
  312. package/build-module/components/height-control/index.js.map +1 -1
  313. package/build-module/components/image-size-control/index.js +2 -2
  314. package/build-module/components/image-size-control/index.js.map +1 -1
  315. package/build-module/components/index.native.js +2 -1
  316. package/build-module/components/index.native.js.map +1 -1
  317. package/build-module/components/inner-blocks/index.js +62 -23
  318. package/build-module/components/inner-blocks/index.js.map +1 -1
  319. package/build-module/components/inner-blocks/index.native.js +18 -4
  320. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  321. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  322. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  323. package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
  324. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  325. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  326. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  327. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
  328. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  329. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
  330. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  331. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
  332. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  333. package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
  334. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  335. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
  336. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  337. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
  338. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  339. package/build-module/components/inserter/index.js +1 -2
  340. package/build-module/components/inserter/index.js.map +1 -1
  341. package/build-module/components/inserter/library.js +3 -7
  342. package/build-module/components/inserter/library.js.map +1 -1
  343. package/build-module/components/inserter/menu.js +14 -28
  344. package/build-module/components/inserter/menu.js.map +1 -1
  345. package/build-module/components/inserter/tabs.js +22 -22
  346. package/build-module/components/inserter/tabs.js.map +1 -1
  347. package/build-module/components/inserter-draggable-blocks/index.js +2 -2
  348. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  349. package/build-module/components/inserter-list-item/index.js +2 -4
  350. package/build-module/components/inserter-list-item/index.js.map +1 -1
  351. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
  352. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  353. package/build-module/components/inspector-controls-tabs/index.js +35 -24
  354. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  355. package/build-module/components/list-view/block-select-button.js +4 -0
  356. package/build-module/components/list-view/block-select-button.js.map +1 -1
  357. package/build-module/components/list-view/block.js +58 -4
  358. package/build-module/components/list-view/block.js.map +1 -1
  359. package/build-module/components/media-upload-progress/constants.js +7 -0
  360. package/build-module/components/media-upload-progress/constants.js.map +1 -0
  361. package/build-module/components/media-upload-progress/index.native.js +37 -8
  362. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  363. package/build-module/components/navigable-toolbar/index.js +9 -14
  364. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  365. package/build-module/components/plain-text/index.native.js +6 -1
  366. package/build-module/components/plain-text/index.native.js.map +1 -1
  367. package/build-module/components/provider/index.js +3 -1
  368. package/build-module/components/provider/index.js.map +1 -1
  369. package/build-module/components/provider/use-block-sync.js +7 -1
  370. package/build-module/components/provider/use-block-sync.js.map +1 -1
  371. package/build-module/components/rich-text/index.js +17 -7
  372. package/build-module/components/rich-text/index.js.map +1 -1
  373. package/build-module/components/rich-text/native/index.native.js +16 -23
  374. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  375. package/build-module/components/rich-text/use-input-rules.js +2 -2
  376. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  377. package/build-module/components/rich-text/use-mark-persistent.js +1 -1
  378. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  379. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  380. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  381. package/build-module/components/url-input/index.js +9 -6
  382. package/build-module/components/url-input/index.js.map +1 -1
  383. package/build-module/components/use-block-commands/index.js +14 -18
  384. package/build-module/components/use-block-commands/index.js.map +1 -1
  385. package/build-module/components/use-block-drop-zone/index.js +51 -23
  386. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  387. package/build-module/components/use-moving-animation/index.js +102 -94
  388. package/build-module/components/use-moving-animation/index.js.map +1 -1
  389. package/build-module/components/use-on-block-drop/index.js +8 -11
  390. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  391. package/build-module/components/writing-flow/index.js +0 -1
  392. package/build-module/components/writing-flow/index.js.map +1 -1
  393. package/build-module/components/writing-flow/use-drag-selection.js +15 -4
  394. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  395. package/build-module/components/writing-flow/use-selection-observer.js +73 -27
  396. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  397. package/build-module/components/writing-flow/use-tab-nav.js +7 -4
  398. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  399. package/build-module/hooks/align.js +1 -1
  400. package/build-module/hooks/align.js.map +1 -1
  401. package/build-module/hooks/anchor.js +1 -1
  402. package/build-module/hooks/anchor.js.map +1 -1
  403. package/build-module/hooks/aria-label.js +7 -1
  404. package/build-module/hooks/aria-label.js.map +1 -1
  405. package/build-module/hooks/background.js +181 -19
  406. package/build-module/hooks/background.js.map +1 -1
  407. package/build-module/hooks/border.js +2 -8
  408. package/build-module/hooks/border.js.map +1 -1
  409. package/build-module/hooks/color.js +11 -9
  410. package/build-module/hooks/color.js.map +1 -1
  411. package/build-module/hooks/custom-class-name.js +1 -1
  412. package/build-module/hooks/custom-class-name.js.map +1 -1
  413. package/build-module/hooks/custom-class-name.native.js +7 -1
  414. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  415. package/build-module/hooks/dimensions.js +1 -7
  416. package/build-module/hooks/dimensions.js.map +1 -1
  417. package/build-module/hooks/font-family.js +6 -2
  418. package/build-module/hooks/font-family.js.map +1 -1
  419. package/build-module/hooks/font-size.js +1 -1
  420. package/build-module/hooks/font-size.js.map +1 -1
  421. package/build-module/hooks/index.js +5 -5
  422. package/build-module/hooks/index.js.map +1 -1
  423. package/build-module/hooks/index.native.js +6 -4
  424. package/build-module/hooks/index.native.js.map +1 -1
  425. package/build-module/hooks/layout.js +9 -3
  426. package/build-module/hooks/layout.js.map +1 -1
  427. package/build-module/hooks/style.js +1 -1
  428. package/build-module/hooks/style.js.map +1 -1
  429. package/build-module/hooks/typography.js +1 -7
  430. package/build-module/hooks/typography.js.map +1 -1
  431. package/build-module/hooks/typography.native.js +43 -17
  432. package/build-module/hooks/typography.native.js.map +1 -1
  433. package/build-module/hooks/use-typography-props.js +9 -1
  434. package/build-module/hooks/use-typography-props.js.map +1 -1
  435. package/build-module/hooks/utils.js +47 -5
  436. package/build-module/hooks/utils.js.map +1 -1
  437. package/build-module/private-apis.js +2 -4
  438. package/build-module/private-apis.js.map +1 -1
  439. package/build-module/private-apis.native.js +0 -2
  440. package/build-module/private-apis.native.js.map +1 -1
  441. package/build-module/store/actions.js +0 -15
  442. package/build-module/store/actions.js.map +1 -1
  443. package/build-module/store/private-actions.js +49 -4
  444. package/build-module/store/private-actions.js.map +1 -1
  445. package/build-module/store/private-selectors.js +11 -0
  446. package/build-module/store/private-selectors.js.map +1 -1
  447. package/build-module/store/reducer.js +14 -6
  448. package/build-module/store/reducer.js.map +1 -1
  449. package/build-module/store/selectors.js +1 -12
  450. package/build-module/store/selectors.js.map +1 -1
  451. package/build-module/store/undo-ignore.js +5 -0
  452. package/build-module/store/undo-ignore.js.map +1 -0
  453. package/build-module/store/utils.js +2 -2
  454. package/build-module/store/utils.js.map +1 -1
  455. package/build-module/utils/get-px-from-css-unit.js +9 -0
  456. package/build-module/utils/get-px-from-css-unit.js.map +1 -0
  457. package/build-module/utils/index.js +1 -1
  458. package/build-module/utils/index.js.map +1 -1
  459. package/build-module/utils/object.js +16 -37
  460. package/build-module/utils/object.js.map +1 -1
  461. package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
  462. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  463. package/build-style/content-rtl.css +7 -6
  464. package/build-style/content.css +7 -6
  465. package/build-style/style-rtl.css +51 -8
  466. package/build-style/style.css +51 -8
  467. package/package.json +31 -31
  468. package/src/components/alignment-control/README.md +0 -5
  469. package/src/components/block-alignment-control/README.md +0 -5
  470. package/src/components/block-alignment-matrix-control/README.md +0 -10
  471. package/src/components/block-breadcrumb/README.md +0 -5
  472. package/src/components/block-canvas/index.js +0 -2
  473. package/src/components/block-canvas/style.scss +6 -0
  474. package/src/components/block-caption/README.md +0 -5
  475. package/src/components/block-card/README.md +0 -5
  476. package/src/components/block-card/index.js +1 -1
  477. package/src/components/block-draggable/draggable-chip.js +11 -1
  478. package/src/components/block-draggable/index.js +116 -4
  479. package/src/components/block-draggable/index.native.js +0 -5
  480. package/src/components/block-draggable/style.scss +35 -0
  481. package/src/components/block-draggable/test/helpers.native.js +8 -7
  482. package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  483. package/src/components/block-editing-mode/index.js +3 -3
  484. package/src/components/block-icon/README.md +0 -5
  485. package/src/components/block-inspector/README.md +0 -5
  486. package/src/components/block-inspector/index.js +3 -1
  487. package/src/components/block-list/block-list-item-cell.native.js +5 -1
  488. package/src/components/block-list/block.js +290 -119
  489. package/src/components/block-list/block.native.js +55 -21
  490. package/src/components/block-list/content.scss +14 -10
  491. package/src/components/block-list/index.native.js +3 -5
  492. package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
  493. package/src/components/block-list/use-block-props/index.js +32 -128
  494. package/src/components/block-list/use-in-between-inserter.js +4 -1
  495. package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
  496. package/src/components/block-lock/toolbar.js +23 -34
  497. package/src/components/block-mover/README.md +0 -5
  498. package/src/components/block-mover/index.js +1 -1
  499. package/src/components/block-parent-selector/README.md +0 -5
  500. package/src/components/block-patterns-list/README.md +0 -5
  501. package/src/components/block-patterns-list/index.js +8 -5
  502. package/src/components/block-switcher/index.js +49 -59
  503. package/src/components/block-toolbar/README.md +0 -5
  504. package/src/components/block-toolbar/index.js +1 -2
  505. package/src/components/block-tools/block-toolbar-popover.js +4 -10
  506. package/src/components/block-types-list/README.md +0 -5
  507. package/src/components/block-variation-picker/README.md +0 -5
  508. package/src/components/block-variation-transforms/README.md +0 -5
  509. package/src/components/block-variation-transforms/index.js +49 -3
  510. package/src/components/border-radius-control/linked-button.js +1 -1
  511. package/src/components/caption/README.md +0 -5
  512. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
  513. package/src/components/colors/utils.js +8 -1
  514. package/src/components/colors/with-colors.js +3 -1
  515. package/src/components/contrast-checker/README.md +0 -4
  516. package/src/components/copy-handler/README.md +0 -10
  517. package/src/components/font-sizes/utils.js +7 -1
  518. package/src/components/global-styles/border-panel.js +2 -1
  519. package/src/components/global-styles/color-panel.js +2 -1
  520. package/src/components/global-styles/dimensions-panel.js +4 -3
  521. package/src/components/global-styles/effects-panel.js +2 -1
  522. package/src/components/global-styles/filters-panel.js +2 -5
  523. package/src/components/global-styles/get-global-styles-changes.js +210 -0
  524. package/src/components/global-styles/hooks.js +5 -0
  525. package/src/components/global-styles/image-settings-panel.js +6 -0
  526. package/src/components/global-styles/index.js +1 -0
  527. package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
  528. package/src/components/global-styles/typography-panel.js +47 -14
  529. package/src/components/global-styles/use-global-styles-output.js +9 -5
  530. package/src/components/global-styles/utils.js +7 -0
  531. package/src/components/height-control/README.md +2 -7
  532. package/src/components/height-control/index.js +4 -0
  533. package/src/components/image-size-control/index.js +5 -2
  534. package/src/components/index.native.js +2 -2
  535. package/src/components/inner-blocks/index.js +68 -29
  536. package/src/components/inner-blocks/index.native.js +19 -7
  537. package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
  538. package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
  539. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  540. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
  541. package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
  542. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
  543. package/src/components/inserter/block-patterns-tab/utils.js +11 -12
  544. package/src/components/inserter/hooks/use-block-types-state.js +9 -11
  545. package/src/components/inserter/hooks/use-patterns-state.js +2 -2
  546. package/src/components/inserter/index.js +0 -1
  547. package/src/components/inserter/library.js +2 -8
  548. package/src/components/inserter/menu.js +13 -31
  549. package/src/components/inserter/style.scss +6 -4
  550. package/src/components/inserter/tabs.js +34 -25
  551. package/src/components/inserter-draggable-blocks/index.js +2 -2
  552. package/src/components/inserter-list-item/index.js +6 -6
  553. package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
  554. package/src/components/inspector-controls-tabs/index.js +39 -28
  555. package/src/components/inspector-controls-tabs/style.scss +3 -2
  556. package/src/components/letter-spacing-control/README.md +0 -5
  557. package/src/components/line-height-control/README.md +0 -5
  558. package/src/components/list-view/README.md +0 -5
  559. package/src/components/list-view/block-select-button.js +4 -0
  560. package/src/components/list-view/block.js +73 -2
  561. package/src/components/list-view/style.scss +6 -0
  562. package/src/components/media-upload-progress/constants.js +6 -0
  563. package/src/components/media-upload-progress/index.native.js +66 -14
  564. package/src/components/media-upload-progress/test/index.native.js +2 -2
  565. package/src/components/multi-selection-inspector/README.md +0 -5
  566. package/src/components/navigable-toolbar/index.js +13 -11
  567. package/src/components/plain-text/index.native.js +6 -1
  568. package/src/components/provider/index.js +1 -1
  569. package/src/components/provider/test/use-block-sync.js +20 -17
  570. package/src/components/provider/use-block-sync.js +6 -0
  571. package/src/components/rich-text/index.js +18 -6
  572. package/src/components/rich-text/native/index.native.js +16 -24
  573. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
  574. package/src/components/rich-text/native/test/index.native.js +72 -5
  575. package/src/components/rich-text/use-input-rules.js +2 -2
  576. package/src/components/rich-text/use-mark-persistent.js +1 -2
  577. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  578. package/src/components/text-decoration-control/README.md +40 -0
  579. package/src/components/text-transform-control/README.md +0 -4
  580. package/src/components/ungroup-button/README.md +0 -5
  581. package/src/components/unit-control/README.md +0 -4
  582. package/src/components/url-input/index.js +11 -11
  583. package/src/components/use-block-commands/index.js +18 -21
  584. package/src/components/use-block-drop-zone/index.js +85 -34
  585. package/src/components/use-moving-animation/index.js +107 -103
  586. package/src/components/use-on-block-drop/index.js +7 -23
  587. package/src/components/use-on-block-drop/test/index.js +12 -26
  588. package/src/components/use-resize-canvas/README.md +0 -4
  589. package/src/components/use-settings/README.md +0 -4
  590. package/src/components/writing-flow/index.js +0 -1
  591. package/src/components/writing-flow/use-drag-selection.js +18 -4
  592. package/src/components/writing-flow/use-selection-observer.js +99 -37
  593. package/src/components/writing-flow/use-tab-nav.js +7 -7
  594. package/src/hooks/align.js +1 -5
  595. package/src/hooks/anchor.js +1 -5
  596. package/src/hooks/aria-label.js +8 -5
  597. package/src/hooks/background.js +253 -21
  598. package/src/hooks/border.js +2 -13
  599. package/src/hooks/color.js +19 -14
  600. package/src/hooks/custom-class-name.js +1 -5
  601. package/src/hooks/custom-class-name.native.js +8 -5
  602. package/src/hooks/dimensions.js +1 -7
  603. package/src/hooks/font-family.js +4 -7
  604. package/src/hooks/font-size.js +1 -6
  605. package/src/hooks/index.js +19 -5
  606. package/src/hooks/index.native.js +17 -4
  607. package/src/hooks/layout.js +5 -2
  608. package/src/hooks/style.js +1 -6
  609. package/src/hooks/test/anchor.js +4 -9
  610. package/src/hooks/test/custom-class-name.js +3 -8
  611. package/src/hooks/test/style.js +4 -14
  612. package/src/hooks/typography.js +1 -7
  613. package/src/hooks/typography.native.js +31 -33
  614. package/src/hooks/use-typography-props.js +7 -1
  615. package/src/hooks/utils.js +76 -6
  616. package/src/private-apis.js +2 -4
  617. package/src/private-apis.native.js +0 -2
  618. package/src/store/actions.js +0 -15
  619. package/src/store/private-actions.js +44 -4
  620. package/src/store/private-selectors.js +11 -0
  621. package/src/store/reducer.js +16 -5
  622. package/src/store/selectors.js +5 -13
  623. package/src/store/undo-ignore.js +4 -0
  624. package/src/store/utils.js +2 -2
  625. package/src/style.scss +1 -0
  626. package/src/utils/get-px-from-css-unit.js +8 -0
  627. package/src/utils/index.js +1 -1
  628. package/src/utils/object.js +16 -35
  629. package/src/utils/test/object.js +1 -96
  630. package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
  631. package/build/components/block-list/block-list-block-context.js +0 -14
  632. package/build/components/block-list/block-list-block-context.js.map +0 -1
  633. package/build/hooks/custom-fields.js +0 -106
  634. package/build/hooks/custom-fields.js.map +0 -1
  635. package/build/utils/parse-css-unit-to-px.js +0 -302
  636. package/build/utils/parse-css-unit-to-px.js.map +0 -1
  637. package/build/utils/use-should-contextual-toolbar-show.js +0 -63
  638. package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
  639. package/build-module/components/block-list/block-list-block-context.js +0 -6
  640. package/build-module/components/block-list/block-list-block-context.js.map +0 -1
  641. package/build-module/hooks/custom-fields.js +0 -99
  642. package/build-module/hooks/custom-fields.js.map +0 -1
  643. package/build-module/utils/parse-css-unit-to-px.js +0 -294
  644. package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
  645. package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
  646. package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
  647. package/src/hooks/custom-fields.js +0 -115
  648. package/src/utils/parse-css-unit-to-px.js +0 -329
  649. package/src/utils/test/parse-css-unit-to-px.js +0 -172
  650. package/src/utils/use-should-contextual-toolbar-show.js +0 -85
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":";;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,aAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,OAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,YAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAT,OAAA;AAfA;AACA;AACA;;AAIA;AACA;AACA;;AASO,SAASU,uBAAuBA,CAAE;EACxCC,YAAY,GAAG,IAAI;EACnBC,MAAM,GAAG,OAAO;EAChBC,QAAQ,GAAG,IAAAC,MAAA,CAAAC,aAAA,EAACb,UAAA,CAAAc,OAAS,MAAE,CAAC;EACxBC,MAAM;EACNC,UAAU,EAAEC,cAAc;EAC1BC;AACD,CAAC,EAAG;EACH,MAAMC,cAAc,GAAG,IAAAC,sCAAuB,EAAC,CAAC;EAChD,MAAMC,UAAU,GAAG,IAAAC,+CAAwB,EAAC,CAAC;EAC7C,MAAMC,QAAQ,GAAG,IAAAC,eAAM,EAAC,CAAC;EACzB,MAAMR,UAAU,GAAG,IAAAS,qBAAY,EAAE,CAAER,cAAc,EAAEI,UAAU,EAAEE,QAAQ,CAAG,CAAC;EAE3E,IAAK,CAAEd,YAAY,EAAG;IACrB,OACC,IAAAG,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAY,OAAU;MACVY,oBAAoB,EAAGH,QAAU;MACjCI,KAAK,EAAG;QAAEjB,MAAM;QAAEkB,OAAO,EAAE;MAAO;IAAG,GAErC,IAAAhB,MAAA,CAAAC,aAAA,EAACV,aAAA,CAAAW,OAAY;MACZC,MAAM,EAAGA,MAAQ;MACjBc,KAAK,EAAC;IAAwB,CAC9B,CAAC,EACF,IAAAjB,MAAA,CAAAC,aAAA,EAACR,YAAA,CAAAS,OAAW;MACXgB,GAAG,EAAGd,UAAY;MAClBe,SAAS,EAAC,uBAAuB;MACjCC,QAAQ,EAAG,CAAC,CAAG;MACfL,KAAK,EAAG;QACPjB,MAAM,EAAE,MAAM;QACduB,KAAK,EAAE;MACR;IAAG,GAEDtB,QACU,CACF,CAAC;EAEf;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAY,OAAU;IACVY,oBAAoB,EAAGH,QAAU;IACjCI,KAAK,EAAG;MAAEjB,MAAM;MAAEkB,OAAO,EAAE;IAAO;EAAG,GAErC,IAAAhB,MAAA,CAAAC,aAAA,EAACT,OAAA,CAAAU,OAAM;IAAA,GACDI,WAAW;IAChBY,GAAG,EAAGX,cAAgB;IACtBH,UAAU,EAAGA,UAAY;IACzBW,KAAK,EAAG;MACP,GAAGT,WAAW,EAAES;IACjB,CAAG;IACHO,IAAI,EAAC;EAAe,GAEpB,IAAAtB,MAAA,CAAAC,aAAA,EAACV,aAAA,CAAAW,OAAY;IAACC,MAAM,EAAGA;EAAQ,CAAE,CAAC,EAChCJ,QACK,CACG,CAAC;AAEf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASwB,WAAWA,CAAE;EAAExB,QAAQ;EAAED,MAAM;EAAEK;AAAO,CAAC,EAAG;EACpD,OACC,IAAAH,MAAA,CAAAC,aAAA,EAACL,uBAAuB;IAACE,MAAM,EAAGA,MAAQ;IAACK,MAAM,EAAGA;EAAQ,GACzDJ,QACsB,CAAC;AAE5B;AAAC,IAAAyB,QAAA,GAEcD,WAAW;AAAAE,OAAA,CAAAvB,OAAA,GAAAsB,QAAA"}
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_store","_blockListBlockContext","useBlockEditingMode","mode","_useContext","clientId","useContext","BlockListBlockContext","blockEditingMode","useSelect","select","blockEditorStore","getBlockEditingMode","setBlockEditingMode","unsetBlockEditingMode","useDispatch","useEffect"],"sources":["@wordpress/block-editor/src/components/block-editing-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListBlockContext } from '../block-list/block-list-block-context';\n\n/**\n * @typedef {'disabled'|'contentOnly'|'default'} BlockEditingMode\n */\n\n/**\n * Allows a block to restrict the user interface that is displayed for editing\n * that block and its inner blocks.\n *\n * @example\n * ```js\n * function MyBlock( { attributes, setAttributes } ) {\n * useBlockEditingMode( 'disabled' );\n * return <div { ...useBlockProps() }></div>;\n * }\n * ```\n *\n * `mode` can be one of three options:\n *\n * - `'disabled'`: Prevents editing the block entirely, i.e. it cannot be\n * selected.\n * - `'contentOnly'`: Hides all non-content UI, e.g. auxiliary controls in the\n * toolbar, the block movers, block settings.\n * - `'default'`: Allows editing the block as normal.\n *\n * The mode is inherited by all of the block's inner blocks, unless they have\n * their own mode.\n *\n * If called outside of a block context, the mode is applied to all blocks.\n *\n * @param {?BlockEditingMode} mode The editing mode to apply. If undefined, the\n * current editing mode is not changed.\n *\n * @return {BlockEditingMode} The current editing mode.\n */\nexport function useBlockEditingMode( mode ) {\n\tconst { clientId = '' } = useContext( BlockListBlockContext ) ?? {};\n\tconst blockEditingMode = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockEditingMode( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( mode ) {\n\t\t\tsetBlockEditingMode( clientId, mode );\n\t\t}\n\t\treturn () => {\n\t\t\tif ( mode ) {\n\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t}\n\t\t};\n\t}, [ clientId, mode, setBlockEditingMode, unsetBlockEditingMode ] );\n\treturn blockEditingMode;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,mBAAmBA,CAAEC,IAAI,EAAG;EAAA,IAAAC,WAAA;EAC3C,MAAM;IAAEC,QAAQ,GAAG;EAAG,CAAC,IAAAD,WAAA,GAAG,IAAAE,mBAAU,EAAEC,4CAAsB,CAAC,cAAAH,WAAA,cAAAA,WAAA,GAAI,CAAC,CAAC;EACnE,MAAMI,gBAAgB,GAAG,IAAAC,eAAS,EAC/BC,MAAM,IACPA,MAAM,CAAEC,YAAiB,CAAC,CAACC,mBAAmB,CAAEP,QAAS,CAAC,EAC3D,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAEQ,mBAAmB;IAAEC;EAAsB,CAAC,GACnD,IAAAC,iBAAW,EAAEJ,YAAiB,CAAC;EAChC,IAAAK,kBAAS,EAAE,MAAM;IAChB,IAAKb,IAAI,EAAG;MACXU,mBAAmB,CAAER,QAAQ,EAAEF,IAAK,CAAC;IACtC;IACA,OAAO,MAAM;MACZ,IAAKA,IAAI,EAAG;QACXW,qBAAqB,CAAET,QAAS,CAAC;MAClC;IACD,CAAC;EACF,CAAC,EAAE,CAAEA,QAAQ,EAAEF,IAAI,EAAEU,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;EACnE,OAAON,gBAAgB;AACxB"}
1
+ {"version":3,"names":["_data","require","_element","_store","_context","useBlockEditingMode","mode","clientId","useBlockEditContext","blockEditingMode","useSelect","select","blockEditorStore","getBlockEditingMode","setBlockEditingMode","unsetBlockEditingMode","useDispatch","useEffect"],"sources":["@wordpress/block-editor/src/components/block-editing-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockEditContext } from '../block-edit/context';\n\n/**\n * @typedef {'disabled'|'contentOnly'|'default'} BlockEditingMode\n */\n\n/**\n * Allows a block to restrict the user interface that is displayed for editing\n * that block and its inner blocks.\n *\n * @example\n * ```js\n * function MyBlock( { attributes, setAttributes } ) {\n * useBlockEditingMode( 'disabled' );\n * return <div { ...useBlockProps() }></div>;\n * }\n * ```\n *\n * `mode` can be one of three options:\n *\n * - `'disabled'`: Prevents editing the block entirely, i.e. it cannot be\n * selected.\n * - `'contentOnly'`: Hides all non-content UI, e.g. auxiliary controls in the\n * toolbar, the block movers, block settings.\n * - `'default'`: Allows editing the block as normal.\n *\n * The mode is inherited by all of the block's inner blocks, unless they have\n * their own mode.\n *\n * If called outside of a block context, the mode is applied to all blocks.\n *\n * @param {?BlockEditingMode} mode The editing mode to apply. If undefined, the\n * current editing mode is not changed.\n *\n * @return {BlockEditingMode} The current editing mode.\n */\nexport function useBlockEditingMode( mode ) {\n\tconst { clientId = '' } = useBlockEditContext();\n\tconst blockEditingMode = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockEditingMode( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( mode ) {\n\t\t\tsetBlockEditingMode( clientId, mode );\n\t\t}\n\t\treturn () => {\n\t\t\tif ( mode ) {\n\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t}\n\t\t};\n\t}, [ clientId, mode, setBlockEditingMode, unsetBlockEditingMode ] );\n\treturn blockEditingMode;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,mBAAmBA,CAAEC,IAAI,EAAG;EAC3C,MAAM;IAAEC,QAAQ,GAAG;EAAG,CAAC,GAAG,IAAAC,4BAAmB,EAAC,CAAC;EAC/C,MAAMC,gBAAgB,GAAG,IAAAC,eAAS,EAC/BC,MAAM,IACPA,MAAM,CAAEC,YAAiB,CAAC,CAACC,mBAAmB,CAAEN,QAAS,CAAC,EAC3D,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAEO,mBAAmB;IAAEC;EAAsB,CAAC,GACnD,IAAAC,iBAAW,EAAEJ,YAAiB,CAAC;EAChC,IAAAK,kBAAS,EAAE,MAAM;IAChB,IAAKX,IAAI,EAAG;MACXQ,mBAAmB,CAAEP,QAAQ,EAAED,IAAK,CAAC;IACtC;IACA,OAAO,MAAM;MACZ,IAAKA,IAAI,EAAG;QACXS,qBAAqB,CAAER,QAAS,CAAC;MAClC;IACD,CAAC;EACF,CAAC,EAAE,CAAEA,QAAQ,EAAED,IAAI,EAAEQ,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;EACnE,OAAON,gBAAgB;AACxB"}