@wordpress/block-editor 12.16.0 → 12.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -6
  4. package/build/components/block-canvas/index.js +0 -2
  5. package/build/components/block-canvas/index.js.map +1 -1
  6. package/build/components/block-card/index.js +1 -1
  7. package/build/components/block-card/index.js.map +1 -1
  8. package/build/components/block-draggable/draggable-chip.js +6 -1
  9. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  10. package/build/components/block-draggable/index.js +76 -6
  11. package/build/components/block-draggable/index.js.map +1 -1
  12. package/build/components/block-draggable/index.native.js +0 -6
  13. package/build/components/block-draggable/index.native.js.map +1 -1
  14. package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  15. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  16. package/build/components/block-editing-mode/index.js +2 -3
  17. package/build/components/block-editing-mode/index.js.map +1 -1
  18. package/build/components/block-inspector/index.js +1 -1
  19. package/build/components/block-inspector/index.js.map +1 -1
  20. package/build/components/block-list/block-list-item-cell.native.js +1 -0
  21. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  22. package/build/components/block-list/block.js +245 -102
  23. package/build/components/block-list/block.js.map +1 -1
  24. package/build/components/block-list/block.native.js +46 -20
  25. package/build/components/block-list/block.native.js.map +1 -1
  26. package/build/components/block-list/index.native.js +3 -5
  27. package/build/components/block-list/index.native.js.map +1 -1
  28. package/build/components/block-list/private-block-context.js +14 -0
  29. package/build/components/block-list/private-block-context.js.map +1 -0
  30. package/build/components/block-list/use-block-props/index.js +33 -96
  31. package/build/components/block-list/use-block-props/index.js.map +1 -1
  32. package/build/components/block-list/use-in-between-inserter.js +3 -2
  33. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  34. package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
  35. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  36. package/build/components/block-lock/toolbar.js +15 -27
  37. package/build/components/block-lock/toolbar.js.map +1 -1
  38. package/build/components/block-mover/index.js +2 -1
  39. package/build/components/block-mover/index.js.map +1 -1
  40. package/build/components/block-patterns-list/index.js +4 -4
  41. package/build/components/block-patterns-list/index.js.map +1 -1
  42. package/build/components/block-switcher/index.js +4 -4
  43. package/build/components/block-switcher/index.js.map +1 -1
  44. package/build/components/block-toolbar/index.js +1 -2
  45. package/build/components/block-toolbar/index.js.map +1 -1
  46. package/build/components/block-tools/block-toolbar-popover.js +0 -2
  47. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  48. package/build/components/block-variation-transforms/index.js +29 -2
  49. package/build/components/block-variation-transforms/index.js.map +1 -1
  50. package/build/components/border-radius-control/linked-button.js +1 -1
  51. package/build/components/border-radius-control/linked-button.js.map +1 -1
  52. package/build/components/colors/utils.js +10 -2
  53. package/build/components/colors/utils.js.map +1 -1
  54. package/build/components/colors/with-colors.js +6 -2
  55. package/build/components/colors/with-colors.js.map +1 -1
  56. package/build/components/font-sizes/utils.js +10 -2
  57. package/build/components/font-sizes/utils.js.map +1 -1
  58. package/build/components/global-styles/border-panel.js +2 -1
  59. package/build/components/global-styles/border-panel.js.map +1 -1
  60. package/build/components/global-styles/color-panel.js +2 -1
  61. package/build/components/global-styles/color-panel.js.map +1 -1
  62. package/build/components/global-styles/dimensions-panel.js +4 -3
  63. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  64. package/build/components/global-styles/effects-panel.js +2 -1
  65. package/build/components/global-styles/effects-panel.js.map +1 -1
  66. package/build/components/global-styles/filters-panel.js +1 -4
  67. package/build/components/global-styles/filters-panel.js.map +1 -1
  68. package/build/components/global-styles/get-global-styles-changes.js +192 -0
  69. package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
  70. package/build/components/global-styles/hooks.js +1 -1
  71. package/build/components/global-styles/hooks.js.map +1 -1
  72. package/build/components/global-styles/image-settings-panel.js +7 -1
  73. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  74. package/build/components/global-styles/index.js +7 -0
  75. package/build/components/global-styles/index.js.map +1 -1
  76. package/build/components/global-styles/typography-panel.js +2 -1
  77. package/build/components/global-styles/typography-panel.js.map +1 -1
  78. package/build/components/global-styles/use-global-styles-output.js +22 -8
  79. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  80. package/build/components/global-styles/utils.js +8 -1
  81. package/build/components/global-styles/utils.js.map +1 -1
  82. package/build/components/height-control/index.js +6 -2
  83. package/build/components/height-control/index.js.map +1 -1
  84. package/build/components/image-size-control/index.js +2 -2
  85. package/build/components/image-size-control/index.js.map +1 -1
  86. package/build/components/index.native.js +6 -5
  87. package/build/components/index.native.js.map +1 -1
  88. package/build/components/inner-blocks/index.js +61 -22
  89. package/build/components/inner-blocks/index.js.map +1 -1
  90. package/build/components/inner-blocks/index.native.js +18 -4
  91. package/build/components/inner-blocks/index.native.js.map +1 -1
  92. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  93. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  94. package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
  95. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  96. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  97. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  98. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
  99. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  100. package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
  101. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  102. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
  103. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  104. package/build/components/inserter/block-patterns-tab/utils.js +10 -14
  105. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  106. package/build/components/inserter/hooks/use-block-types-state.js +4 -14
  107. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  108. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  109. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  110. package/build/components/inserter/index.js +1 -2
  111. package/build/components/inserter/index.js.map +1 -1
  112. package/build/components/inserter/library.js +3 -7
  113. package/build/components/inserter/library.js.map +1 -1
  114. package/build/components/inserter/menu.js +14 -28
  115. package/build/components/inserter/menu.js.map +1 -1
  116. package/build/components/inserter/tabs.js +21 -21
  117. package/build/components/inserter/tabs.js.map +1 -1
  118. package/build/components/inserter-draggable-blocks/index.js +1 -1
  119. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  120. package/build/components/inserter-list-item/index.js +2 -4
  121. package/build/components/inserter-list-item/index.js.map +1 -1
  122. package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
  123. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  124. package/build/components/inspector-controls-tabs/index.js +34 -23
  125. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  126. package/build/components/list-view/block-select-button.js +4 -0
  127. package/build/components/list-view/block-select-button.js.map +1 -1
  128. package/build/components/list-view/block.js +57 -3
  129. package/build/components/list-view/block.js.map +1 -1
  130. package/build/components/media-upload-progress/constants.js +19 -0
  131. package/build/components/media-upload-progress/constants.js.map +1 -0
  132. package/build/components/media-upload-progress/index.native.js +42 -17
  133. package/build/components/media-upload-progress/index.native.js.map +1 -1
  134. package/build/components/navigable-toolbar/index.js +9 -14
  135. package/build/components/navigable-toolbar/index.js.map +1 -1
  136. package/build/components/plain-text/index.native.js +8 -3
  137. package/build/components/plain-text/index.native.js.map +1 -1
  138. package/build/components/provider/index.js +3 -1
  139. package/build/components/provider/index.js.map +1 -1
  140. package/build/components/provider/use-block-sync.js +7 -1
  141. package/build/components/provider/use-block-sync.js.map +1 -1
  142. package/build/components/rich-text/index.js +17 -7
  143. package/build/components/rich-text/index.js.map +1 -1
  144. package/build/components/rich-text/native/index.native.js +16 -24
  145. package/build/components/rich-text/native/index.native.js.map +1 -1
  146. package/build/components/rich-text/use-input-rules.js +2 -2
  147. package/build/components/rich-text/use-input-rules.js.map +1 -1
  148. package/build/components/rich-text/use-mark-persistent.js +1 -1
  149. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  150. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  151. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  152. package/build/components/url-input/index.js +9 -6
  153. package/build/components/url-input/index.js.map +1 -1
  154. package/build/components/use-block-commands/index.js +14 -18
  155. package/build/components/use-block-commands/index.js.map +1 -1
  156. package/build/components/use-block-drop-zone/index.js +51 -22
  157. package/build/components/use-block-drop-zone/index.js.map +1 -1
  158. package/build/components/use-moving-animation/index.js +100 -92
  159. package/build/components/use-moving-animation/index.js.map +1 -1
  160. package/build/components/use-on-block-drop/index.js +8 -11
  161. package/build/components/use-on-block-drop/index.js.map +1 -1
  162. package/build/components/writing-flow/index.js +0 -1
  163. package/build/components/writing-flow/index.js.map +1 -1
  164. package/build/components/writing-flow/use-drag-selection.js +15 -4
  165. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  166. package/build/components/writing-flow/use-selection-observer.js +73 -27
  167. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  168. package/build/components/writing-flow/use-tab-nav.js +7 -4
  169. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  170. package/build/hooks/align.js +1 -1
  171. package/build/hooks/align.js.map +1 -1
  172. package/build/hooks/anchor.js +1 -1
  173. package/build/hooks/anchor.js.map +1 -1
  174. package/build/hooks/aria-label.js +9 -1
  175. package/build/hooks/aria-label.js.map +1 -1
  176. package/build/hooks/background.js +185 -20
  177. package/build/hooks/background.js.map +1 -1
  178. package/build/hooks/border.js +5 -10
  179. package/build/hooks/border.js.map +1 -1
  180. package/build/hooks/color.js +13 -11
  181. package/build/hooks/color.js.map +1 -1
  182. package/build/hooks/custom-class-name.js +1 -1
  183. package/build/hooks/custom-class-name.js.map +1 -1
  184. package/build/hooks/custom-class-name.native.js +9 -1
  185. package/build/hooks/custom-class-name.native.js.map +1 -1
  186. package/build/hooks/dimensions.js +4 -9
  187. package/build/hooks/dimensions.js.map +1 -1
  188. package/build/hooks/font-family.js +7 -3
  189. package/build/hooks/font-family.js.map +1 -1
  190. package/build/hooks/font-size.js +1 -1
  191. package/build/hooks/font-size.js.map +1 -1
  192. package/build/hooks/index.js +4 -3
  193. package/build/hooks/index.js.map +1 -1
  194. package/build/hooks/index.native.js +5 -3
  195. package/build/hooks/index.native.js.map +1 -1
  196. package/build/hooks/layout.js +10 -4
  197. package/build/hooks/layout.js.map +1 -1
  198. package/build/hooks/style.js +1 -1
  199. package/build/hooks/style.js.map +1 -1
  200. package/build/hooks/typography.js +4 -9
  201. package/build/hooks/typography.js.map +1 -1
  202. package/build/hooks/typography.native.js +43 -18
  203. package/build/hooks/typography.native.js.map +1 -1
  204. package/build/hooks/use-typography-props.js +10 -2
  205. package/build/hooks/use-typography-props.js.map +1 -1
  206. package/build/hooks/utils.js +44 -4
  207. package/build/hooks/utils.js.map +1 -1
  208. package/build/private-apis.js +2 -4
  209. package/build/private-apis.js.map +1 -1
  210. package/build/private-apis.native.js +0 -2
  211. package/build/private-apis.native.js.map +1 -1
  212. package/build/store/actions.js +0 -16
  213. package/build/store/actions.js.map +1 -1
  214. package/build/store/private-actions.js +51 -5
  215. package/build/store/private-actions.js.map +1 -1
  216. package/build/store/private-selectors.js +12 -0
  217. package/build/store/private-selectors.js.map +1 -1
  218. package/build/store/reducer.js +14 -6
  219. package/build/store/reducer.js.map +1 -1
  220. package/build/store/selectors.js +1 -13
  221. package/build/store/selectors.js.map +1 -1
  222. package/build/store/undo-ignore.js +12 -0
  223. package/build/store/undo-ignore.js.map +1 -0
  224. package/build/store/utils.js +1 -1
  225. package/build/store/utils.js.map +1 -1
  226. package/build/utils/get-px-from-css-unit.js +16 -0
  227. package/build/utils/get-px-from-css-unit.js.map +1 -0
  228. package/build/utils/index.js +2 -2
  229. package/build/utils/index.js.map +1 -1
  230. package/build/utils/object.js +0 -38
  231. package/build/utils/object.js.map +1 -1
  232. package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
  233. package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  234. package/build-module/components/block-canvas/index.js +0 -2
  235. package/build-module/components/block-canvas/index.js.map +1 -1
  236. package/build-module/components/block-card/index.js +1 -1
  237. package/build-module/components/block-card/index.js.map +1 -1
  238. package/build-module/components/block-draggable/draggable-chip.js +6 -1
  239. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  240. package/build-module/components/block-draggable/index.js +76 -6
  241. package/build-module/components/block-draggable/index.js.map +1 -1
  242. package/build-module/components/block-draggable/index.native.js +1 -7
  243. package/build-module/components/block-draggable/index.native.js.map +1 -1
  244. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  245. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  246. package/build-module/components/block-editing-mode/index.js +3 -4
  247. package/build-module/components/block-editing-mode/index.js.map +1 -1
  248. package/build-module/components/block-inspector/index.js +1 -1
  249. package/build-module/components/block-inspector/index.js.map +1 -1
  250. package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
  251. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  252. package/build-module/components/block-list/block.js +249 -106
  253. package/build-module/components/block-list/block.js.map +1 -1
  254. package/build-module/components/block-list/block.native.js +48 -22
  255. package/build-module/components/block-list/block.native.js.map +1 -1
  256. package/build-module/components/block-list/index.native.js +3 -5
  257. package/build-module/components/block-list/index.native.js.map +1 -1
  258. package/build-module/components/block-list/private-block-context.js +6 -0
  259. package/build-module/components/block-list/private-block-context.js.map +1 -0
  260. package/build-module/components/block-list/use-block-props/index.js +34 -97
  261. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  262. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  263. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  264. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
  265. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  266. package/build-module/components/block-lock/toolbar.js +16 -28
  267. package/build-module/components/block-lock/toolbar.js.map +1 -1
  268. package/build-module/components/block-mover/index.js +2 -1
  269. package/build-module/components/block-mover/index.js.map +1 -1
  270. package/build-module/components/block-patterns-list/index.js +5 -5
  271. package/build-module/components/block-patterns-list/index.js.map +1 -1
  272. package/build-module/components/block-switcher/index.js +4 -4
  273. package/build-module/components/block-switcher/index.js.map +1 -1
  274. package/build-module/components/block-toolbar/index.js +1 -2
  275. package/build-module/components/block-toolbar/index.js.map +1 -1
  276. package/build-module/components/block-tools/block-toolbar-popover.js +0 -2
  277. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  278. package/build-module/components/block-variation-transforms/index.js +30 -3
  279. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  280. package/build-module/components/border-radius-control/linked-button.js +1 -1
  281. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  282. package/build-module/components/colors/utils.js +9 -1
  283. package/build-module/components/colors/utils.js.map +1 -1
  284. package/build-module/components/colors/with-colors.js +5 -1
  285. package/build-module/components/colors/with-colors.js.map +1 -1
  286. package/build-module/components/font-sizes/utils.js +9 -1
  287. package/build-module/components/font-sizes/utils.js.map +1 -1
  288. package/build-module/components/global-styles/border-panel.js +3 -2
  289. package/build-module/components/global-styles/border-panel.js.map +1 -1
  290. package/build-module/components/global-styles/color-panel.js +3 -2
  291. package/build-module/components/global-styles/color-panel.js.map +1 -1
  292. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  293. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  294. package/build-module/components/global-styles/effects-panel.js +3 -2
  295. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  296. package/build-module/components/global-styles/filters-panel.js +2 -5
  297. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  298. package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
  299. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
  300. package/build-module/components/global-styles/hooks.js +1 -1
  301. package/build-module/components/global-styles/hooks.js.map +1 -1
  302. package/build-module/components/global-styles/image-settings-panel.js +7 -1
  303. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  304. package/build-module/components/global-styles/index.js +1 -0
  305. package/build-module/components/global-styles/index.js.map +1 -1
  306. package/build-module/components/global-styles/typography-panel.js +3 -2
  307. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  308. package/build-module/components/global-styles/use-global-styles-output.js +15 -1
  309. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  310. package/build-module/components/global-styles/utils.js +7 -0
  311. package/build-module/components/global-styles/utils.js.map +1 -1
  312. package/build-module/components/height-control/index.js +6 -2
  313. package/build-module/components/height-control/index.js.map +1 -1
  314. package/build-module/components/image-size-control/index.js +2 -2
  315. package/build-module/components/image-size-control/index.js.map +1 -1
  316. package/build-module/components/index.native.js +2 -1
  317. package/build-module/components/index.native.js.map +1 -1
  318. package/build-module/components/inner-blocks/index.js +62 -23
  319. package/build-module/components/inner-blocks/index.js.map +1 -1
  320. package/build-module/components/inner-blocks/index.native.js +18 -4
  321. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  322. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  323. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  324. package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
  325. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  326. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  327. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  328. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
  329. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  330. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
  331. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  332. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
  333. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  334. package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
  335. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  336. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
  337. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  338. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
  339. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  340. package/build-module/components/inserter/index.js +1 -2
  341. package/build-module/components/inserter/index.js.map +1 -1
  342. package/build-module/components/inserter/library.js +3 -7
  343. package/build-module/components/inserter/library.js.map +1 -1
  344. package/build-module/components/inserter/menu.js +14 -28
  345. package/build-module/components/inserter/menu.js.map +1 -1
  346. package/build-module/components/inserter/tabs.js +22 -22
  347. package/build-module/components/inserter/tabs.js.map +1 -1
  348. package/build-module/components/inserter-draggable-blocks/index.js +2 -2
  349. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  350. package/build-module/components/inserter-list-item/index.js +2 -4
  351. package/build-module/components/inserter-list-item/index.js.map +1 -1
  352. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
  353. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  354. package/build-module/components/inspector-controls-tabs/index.js +35 -24
  355. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  356. package/build-module/components/list-view/block-select-button.js +4 -0
  357. package/build-module/components/list-view/block-select-button.js.map +1 -1
  358. package/build-module/components/list-view/block.js +58 -4
  359. package/build-module/components/list-view/block.js.map +1 -1
  360. package/build-module/components/media-upload-progress/constants.js +7 -0
  361. package/build-module/components/media-upload-progress/constants.js.map +1 -0
  362. package/build-module/components/media-upload-progress/index.native.js +37 -8
  363. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  364. package/build-module/components/navigable-toolbar/index.js +9 -14
  365. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  366. package/build-module/components/plain-text/index.native.js +6 -1
  367. package/build-module/components/plain-text/index.native.js.map +1 -1
  368. package/build-module/components/provider/index.js +3 -1
  369. package/build-module/components/provider/index.js.map +1 -1
  370. package/build-module/components/provider/use-block-sync.js +7 -1
  371. package/build-module/components/provider/use-block-sync.js.map +1 -1
  372. package/build-module/components/rich-text/index.js +17 -7
  373. package/build-module/components/rich-text/index.js.map +1 -1
  374. package/build-module/components/rich-text/native/index.native.js +16 -23
  375. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  376. package/build-module/components/rich-text/use-input-rules.js +2 -2
  377. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  378. package/build-module/components/rich-text/use-mark-persistent.js +1 -1
  379. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  380. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  381. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  382. package/build-module/components/url-input/index.js +9 -6
  383. package/build-module/components/url-input/index.js.map +1 -1
  384. package/build-module/components/use-block-commands/index.js +14 -18
  385. package/build-module/components/use-block-commands/index.js.map +1 -1
  386. package/build-module/components/use-block-drop-zone/index.js +51 -23
  387. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  388. package/build-module/components/use-moving-animation/index.js +102 -94
  389. package/build-module/components/use-moving-animation/index.js.map +1 -1
  390. package/build-module/components/use-on-block-drop/index.js +8 -11
  391. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  392. package/build-module/components/writing-flow/index.js +0 -1
  393. package/build-module/components/writing-flow/index.js.map +1 -1
  394. package/build-module/components/writing-flow/use-drag-selection.js +15 -4
  395. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  396. package/build-module/components/writing-flow/use-selection-observer.js +73 -27
  397. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  398. package/build-module/components/writing-flow/use-tab-nav.js +7 -4
  399. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  400. package/build-module/hooks/align.js +1 -1
  401. package/build-module/hooks/align.js.map +1 -1
  402. package/build-module/hooks/anchor.js +1 -1
  403. package/build-module/hooks/anchor.js.map +1 -1
  404. package/build-module/hooks/aria-label.js +7 -1
  405. package/build-module/hooks/aria-label.js.map +1 -1
  406. package/build-module/hooks/background.js +181 -19
  407. package/build-module/hooks/background.js.map +1 -1
  408. package/build-module/hooks/border.js +2 -8
  409. package/build-module/hooks/border.js.map +1 -1
  410. package/build-module/hooks/color.js +11 -9
  411. package/build-module/hooks/color.js.map +1 -1
  412. package/build-module/hooks/custom-class-name.js +1 -1
  413. package/build-module/hooks/custom-class-name.js.map +1 -1
  414. package/build-module/hooks/custom-class-name.native.js +7 -1
  415. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  416. package/build-module/hooks/dimensions.js +1 -7
  417. package/build-module/hooks/dimensions.js.map +1 -1
  418. package/build-module/hooks/font-family.js +6 -2
  419. package/build-module/hooks/font-family.js.map +1 -1
  420. package/build-module/hooks/font-size.js +1 -1
  421. package/build-module/hooks/font-size.js.map +1 -1
  422. package/build-module/hooks/index.js +5 -4
  423. package/build-module/hooks/index.js.map +1 -1
  424. package/build-module/hooks/index.native.js +6 -4
  425. package/build-module/hooks/index.native.js.map +1 -1
  426. package/build-module/hooks/layout.js +9 -3
  427. package/build-module/hooks/layout.js.map +1 -1
  428. package/build-module/hooks/style.js +1 -1
  429. package/build-module/hooks/style.js.map +1 -1
  430. package/build-module/hooks/typography.js +1 -7
  431. package/build-module/hooks/typography.js.map +1 -1
  432. package/build-module/hooks/typography.native.js +43 -17
  433. package/build-module/hooks/typography.native.js.map +1 -1
  434. package/build-module/hooks/use-typography-props.js +9 -1
  435. package/build-module/hooks/use-typography-props.js.map +1 -1
  436. package/build-module/hooks/utils.js +43 -4
  437. package/build-module/hooks/utils.js.map +1 -1
  438. package/build-module/private-apis.js +2 -4
  439. package/build-module/private-apis.js.map +1 -1
  440. package/build-module/private-apis.native.js +0 -2
  441. package/build-module/private-apis.native.js.map +1 -1
  442. package/build-module/store/actions.js +0 -15
  443. package/build-module/store/actions.js.map +1 -1
  444. package/build-module/store/private-actions.js +49 -4
  445. package/build-module/store/private-actions.js.map +1 -1
  446. package/build-module/store/private-selectors.js +11 -0
  447. package/build-module/store/private-selectors.js.map +1 -1
  448. package/build-module/store/reducer.js +14 -6
  449. package/build-module/store/reducer.js.map +1 -1
  450. package/build-module/store/selectors.js +1 -12
  451. package/build-module/store/selectors.js.map +1 -1
  452. package/build-module/store/undo-ignore.js +5 -0
  453. package/build-module/store/undo-ignore.js.map +1 -0
  454. package/build-module/store/utils.js +2 -2
  455. package/build-module/store/utils.js.map +1 -1
  456. package/build-module/utils/get-px-from-css-unit.js +9 -0
  457. package/build-module/utils/get-px-from-css-unit.js.map +1 -0
  458. package/build-module/utils/index.js +1 -1
  459. package/build-module/utils/index.js.map +1 -1
  460. package/build-module/utils/object.js +0 -37
  461. package/build-module/utils/object.js.map +1 -1
  462. package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
  463. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  464. package/build-style/content-rtl.css +7 -6
  465. package/build-style/content.css +7 -6
  466. package/build-style/style-rtl.css +51 -8
  467. package/build-style/style.css +51 -8
  468. package/package.json +31 -31
  469. package/src/components/alignment-control/README.md +0 -5
  470. package/src/components/block-alignment-control/README.md +0 -5
  471. package/src/components/block-alignment-matrix-control/README.md +0 -10
  472. package/src/components/block-breadcrumb/README.md +0 -5
  473. package/src/components/block-canvas/index.js +0 -2
  474. package/src/components/block-canvas/style.scss +6 -0
  475. package/src/components/block-caption/README.md +0 -5
  476. package/src/components/block-card/README.md +0 -5
  477. package/src/components/block-card/index.js +1 -1
  478. package/src/components/block-draggable/draggable-chip.js +11 -1
  479. package/src/components/block-draggable/index.js +116 -4
  480. package/src/components/block-draggable/index.native.js +0 -5
  481. package/src/components/block-draggable/style.scss +35 -0
  482. package/src/components/block-draggable/test/helpers.native.js +8 -7
  483. package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  484. package/src/components/block-editing-mode/index.js +3 -3
  485. package/src/components/block-icon/README.md +0 -5
  486. package/src/components/block-inspector/README.md +0 -5
  487. package/src/components/block-inspector/index.js +3 -1
  488. package/src/components/block-list/block-list-item-cell.native.js +5 -1
  489. package/src/components/block-list/block.js +290 -119
  490. package/src/components/block-list/block.native.js +55 -21
  491. package/src/components/block-list/content.scss +14 -10
  492. package/src/components/block-list/index.native.js +3 -5
  493. package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
  494. package/src/components/block-list/use-block-props/index.js +32 -128
  495. package/src/components/block-list/use-in-between-inserter.js +4 -1
  496. package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
  497. package/src/components/block-lock/toolbar.js +15 -34
  498. package/src/components/block-mover/README.md +0 -5
  499. package/src/components/block-mover/index.js +1 -1
  500. package/src/components/block-parent-selector/README.md +0 -5
  501. package/src/components/block-patterns-list/README.md +0 -5
  502. package/src/components/block-patterns-list/index.js +8 -5
  503. package/src/components/block-switcher/index.js +49 -59
  504. package/src/components/block-toolbar/README.md +0 -5
  505. package/src/components/block-toolbar/index.js +1 -2
  506. package/src/components/block-tools/block-toolbar-popover.js +4 -10
  507. package/src/components/block-types-list/README.md +0 -5
  508. package/src/components/block-variation-picker/README.md +0 -5
  509. package/src/components/block-variation-transforms/README.md +0 -5
  510. package/src/components/block-variation-transforms/index.js +49 -3
  511. package/src/components/border-radius-control/linked-button.js +1 -1
  512. package/src/components/caption/README.md +0 -5
  513. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
  514. package/src/components/colors/utils.js +8 -1
  515. package/src/components/colors/with-colors.js +3 -1
  516. package/src/components/contrast-checker/README.md +0 -4
  517. package/src/components/copy-handler/README.md +0 -10
  518. package/src/components/font-sizes/utils.js +7 -1
  519. package/src/components/global-styles/border-panel.js +2 -1
  520. package/src/components/global-styles/color-panel.js +2 -1
  521. package/src/components/global-styles/dimensions-panel.js +4 -3
  522. package/src/components/global-styles/effects-panel.js +2 -1
  523. package/src/components/global-styles/filters-panel.js +2 -5
  524. package/src/components/global-styles/get-global-styles-changes.js +210 -0
  525. package/src/components/global-styles/hooks.js +3 -0
  526. package/src/components/global-styles/image-settings-panel.js +6 -0
  527. package/src/components/global-styles/index.js +1 -0
  528. package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
  529. package/src/components/global-styles/typography-panel.js +2 -1
  530. package/src/components/global-styles/use-global-styles-output.js +9 -5
  531. package/src/components/global-styles/utils.js +7 -0
  532. package/src/components/height-control/README.md +2 -7
  533. package/src/components/height-control/index.js +4 -0
  534. package/src/components/image-size-control/index.js +5 -2
  535. package/src/components/index.native.js +2 -2
  536. package/src/components/inner-blocks/index.js +68 -29
  537. package/src/components/inner-blocks/index.native.js +19 -7
  538. package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
  539. package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
  540. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  541. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
  542. package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
  543. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
  544. package/src/components/inserter/block-patterns-tab/utils.js +11 -12
  545. package/src/components/inserter/hooks/use-block-types-state.js +9 -11
  546. package/src/components/inserter/hooks/use-patterns-state.js +2 -2
  547. package/src/components/inserter/index.js +0 -1
  548. package/src/components/inserter/library.js +2 -8
  549. package/src/components/inserter/menu.js +13 -31
  550. package/src/components/inserter/style.scss +6 -4
  551. package/src/components/inserter/tabs.js +34 -25
  552. package/src/components/inserter-draggable-blocks/index.js +2 -2
  553. package/src/components/inserter-list-item/index.js +6 -6
  554. package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
  555. package/src/components/inspector-controls-tabs/index.js +39 -28
  556. package/src/components/inspector-controls-tabs/style.scss +3 -2
  557. package/src/components/letter-spacing-control/README.md +0 -5
  558. package/src/components/line-height-control/README.md +0 -5
  559. package/src/components/list-view/README.md +0 -5
  560. package/src/components/list-view/block-select-button.js +4 -0
  561. package/src/components/list-view/block.js +73 -2
  562. package/src/components/list-view/style.scss +6 -0
  563. package/src/components/media-upload-progress/constants.js +6 -0
  564. package/src/components/media-upload-progress/index.native.js +66 -14
  565. package/src/components/media-upload-progress/test/index.native.js +2 -2
  566. package/src/components/multi-selection-inspector/README.md +0 -5
  567. package/src/components/navigable-toolbar/index.js +13 -11
  568. package/src/components/plain-text/index.native.js +6 -1
  569. package/src/components/provider/index.js +1 -1
  570. package/src/components/provider/test/use-block-sync.js +20 -17
  571. package/src/components/provider/use-block-sync.js +6 -0
  572. package/src/components/rich-text/index.js +18 -6
  573. package/src/components/rich-text/native/index.native.js +16 -24
  574. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
  575. package/src/components/rich-text/native/test/index.native.js +72 -5
  576. package/src/components/rich-text/use-input-rules.js +2 -2
  577. package/src/components/rich-text/use-mark-persistent.js +1 -2
  578. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  579. package/src/components/text-decoration-control/README.md +40 -0
  580. package/src/components/text-transform-control/README.md +0 -4
  581. package/src/components/ungroup-button/README.md +0 -5
  582. package/src/components/unit-control/README.md +0 -4
  583. package/src/components/url-input/index.js +11 -11
  584. package/src/components/use-block-commands/index.js +18 -21
  585. package/src/components/use-block-drop-zone/index.js +85 -34
  586. package/src/components/use-moving-animation/index.js +107 -103
  587. package/src/components/use-on-block-drop/index.js +7 -23
  588. package/src/components/use-on-block-drop/test/index.js +12 -26
  589. package/src/components/use-resize-canvas/README.md +0 -4
  590. package/src/components/use-settings/README.md +0 -4
  591. package/src/components/writing-flow/index.js +0 -1
  592. package/src/components/writing-flow/use-drag-selection.js +18 -4
  593. package/src/components/writing-flow/use-selection-observer.js +99 -37
  594. package/src/components/writing-flow/use-tab-nav.js +7 -7
  595. package/src/hooks/align.js +1 -5
  596. package/src/hooks/anchor.js +1 -5
  597. package/src/hooks/aria-label.js +8 -5
  598. package/src/hooks/background.js +253 -21
  599. package/src/hooks/border.js +2 -13
  600. package/src/hooks/color.js +19 -14
  601. package/src/hooks/custom-class-name.js +1 -5
  602. package/src/hooks/custom-class-name.native.js +8 -5
  603. package/src/hooks/dimensions.js +1 -7
  604. package/src/hooks/font-family.js +4 -7
  605. package/src/hooks/font-size.js +1 -6
  606. package/src/hooks/index.js +19 -3
  607. package/src/hooks/index.native.js +17 -4
  608. package/src/hooks/layout.js +5 -2
  609. package/src/hooks/style.js +1 -6
  610. package/src/hooks/test/anchor.js +4 -9
  611. package/src/hooks/test/custom-class-name.js +3 -8
  612. package/src/hooks/test/style.js +4 -14
  613. package/src/hooks/typography.js +1 -7
  614. package/src/hooks/typography.native.js +31 -33
  615. package/src/hooks/use-typography-props.js +7 -1
  616. package/src/hooks/utils.js +60 -2
  617. package/src/private-apis.js +2 -4
  618. package/src/private-apis.native.js +0 -2
  619. package/src/store/actions.js +0 -15
  620. package/src/store/private-actions.js +44 -4
  621. package/src/store/private-selectors.js +11 -0
  622. package/src/store/reducer.js +16 -5
  623. package/src/store/selectors.js +5 -13
  624. package/src/store/undo-ignore.js +4 -0
  625. package/src/store/utils.js +2 -2
  626. package/src/style.scss +1 -0
  627. package/src/utils/get-px-from-css-unit.js +8 -0
  628. package/src/utils/index.js +1 -1
  629. package/src/utils/object.js +0 -35
  630. package/src/utils/test/object.js +1 -96
  631. package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
  632. package/build/components/block-list/block-list-block-context.js +0 -14
  633. package/build/components/block-list/block-list-block-context.js.map +0 -1
  634. package/build/utils/parse-css-unit-to-px.js +0 -302
  635. package/build/utils/parse-css-unit-to-px.js.map +0 -1
  636. package/build/utils/use-should-contextual-toolbar-show.js +0 -63
  637. package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
  638. package/build-module/components/block-list/block-list-block-context.js +0 -6
  639. package/build-module/components/block-list/block-list-block-context.js.map +0 -1
  640. package/build-module/utils/parse-css-unit-to-px.js +0 -294
  641. package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
  642. package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
  643. package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
  644. package/src/utils/parse-css-unit-to-px.js +0 -329
  645. package/src/utils/test/parse-css-unit-to-px.js +0 -172
  646. package/src/utils/use-should-contextual-toolbar-show.js +0 -85
@@ -1 +1 @@
1
- {"version":3,"names":["AccessibilityInfo","useSafeAreaInsets","useSafeAreaFrame","Animated","runOnJS","runOnUI","useAnimatedRef","useAnimatedStyle","useSharedValue","withDelay","withTiming","ZoomInEasyDown","Draggable","DraggableTrigger","select","useSelect","useDispatch","useCallback","useEffect","useRef","useState","Platform","getBlockType","generateHapticFeedback","RCTAztecView","useScrollWhenDragging","DraggableChip","store","blockEditorStore","useBlockListContext","DroppingInsertionPoint","useBlockDropZone","styles","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","selectBlock","startDraggingBlocks","stopDraggingBlocks","scrollRef","animatedScrollRef","left","right","width","safeAreaOffset","contentWidth","scroll","offsetY","chip","x","y","height","currentYPosition","isDragging","startScrolling","scrollOnDragOver","stopScrolling","draggingScrollHandler","scrollHandler","event","contentOffset","value","onBlockDragOverWorklet","onBlockDragEnd","onBlockDrop","targetBlockIndex","setDraggedBlockIconByClientId","clientId","blockName","getBlockName","blockIcon","icon","onStartDragging","position","stopDragging","onStopDragging","srcRootClientId","srcClientIds","type","undefined","onChipLayout","nativeEvent","layout","startDragging","id","dragPosition","updateDragging","chipDynamicStyles","chipOffset","translateX","transform","translateY","chipStyles","exitingAnimation","currentHeight","currentWidth","animations","scale","initialValues","createElement","Fragment","onDragStart","onDragOver","onDragEnd","testID","onScroll","View","onLayout","style","pointerEvents","entering","exiting","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","addEventListener","enabled","then","screenReaderEnabled","remove","useIsEditingText","isEditingText","setIsEditingText","InputState","isFocused","onFocusChangeAztec","addFocusChangeListener","removeFocusChangeListener","BlockDraggable","draggingClientId","wasBeingDragged","draggingAnimation","opacity","startDraggingBlock","stopDraggingBlock","isDraggable","isBeingDragged","isBlockSelected","_select","getBlockRootClientId","getTemplateLock","isBlockBeingDragged","getSelectedBlockClientId","rootClientId","templateLock","selectedBlockClientId","current","onLongPressDraggable","blurCurrentFocusedElement","animatedWrapperStyles","wrapperStyles","canDragBlock","minDuration","ios","android","onLongPress"],"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":["AccessibilityInfo","useSafeAreaInsets","useSafeAreaFrame","Animated","runOnJS","runOnUI","useAnimatedStyle","useSharedValue","withDelay","withTiming","ZoomInEasyDown","Draggable","DraggableTrigger","select","useSelect","useDispatch","useCallback","useEffect","useRef","useState","Platform","getBlockType","generateHapticFeedback","RCTAztecView","useScrollWhenDragging","DraggableChip","store","blockEditorStore","DroppingInsertionPoint","useBlockDropZone","styles","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","selectBlock","startDraggingBlocks","stopDraggingBlocks","left","right","width","safeAreaOffset","contentWidth","scroll","offsetY","chip","x","y","height","currentYPosition","isDragging","startScrolling","scrollOnDragOver","stopScrolling","draggingScrollHandler","scrollHandler","event","contentOffset","value","onBlockDragOverWorklet","onBlockDragEnd","onBlockDrop","targetBlockIndex","setDraggedBlockIconByClientId","clientId","blockName","getBlockName","blockIcon","icon","onStartDragging","position","stopDragging","onStopDragging","srcRootClientId","srcClientIds","type","undefined","onChipLayout","nativeEvent","layout","startDragging","id","dragPosition","updateDragging","chipDynamicStyles","chipOffset","translateX","transform","translateY","chipStyles","exitingAnimation","currentHeight","currentWidth","animations","scale","initialValues","createElement","Fragment","onDragStart","onDragOver","onDragEnd","testID","onScroll","View","onLayout","style","pointerEvents","entering","exiting","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","addEventListener","enabled","then","screenReaderEnabled","remove","useIsEditingText","isEditingText","setIsEditingText","InputState","isFocused","onFocusChangeAztec","addFocusChangeListener","removeFocusChangeListener","BlockDraggable","draggingClientId","wasBeingDragged","draggingAnimation","opacity","startDraggingBlock","stopDraggingBlock","isDraggable","isBeingDragged","isBlockSelected","_select","getBlockRootClientId","getTemplateLock","isBlockBeingDragged","getSelectedBlockClientId","rootClientId","templateLock","selectedBlockClientId","current","onLongPressDraggable","blurCurrentFocusedElement","animatedWrapperStyles","wrapperStyles","canDragBlock","minDuration","ios","android","onLongPress"],"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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"}
@@ -26,7 +26,7 @@ export default function useScrollWhenDragging() {
26
26
  scrollRef
27
27
  } = useBlockListContext();
28
28
  const animatedScrollRef = useAnimatedRef();
29
- animatedScrollRef(scrollRef);
29
+ animatedScrollRef(scrollRef?.scrollViewRef);
30
30
  const {
31
31
  height: windowHeight
32
32
  } = useWindowDimensions();
@@ -1 +1 @@
1
- {"version":3,"names":["useWindowDimensions","useSharedValue","useAnimatedRef","scrollTo","useAnimatedReaction","withTiming","withRepeat","cancelAnimation","Easing","useBlockListContext","SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","VELOCITY_MULTIPLIER","useScrollWhenDragging","scrollRef","animatedScrollRef","height","windowHeight","velocityY","offsetY","dragStartY","animationTimer","isAnimationTimerActive","isScrollActive","scroll","maxOffsetY","scrollHandler","event","contentSize","contentOffset","layoutMeasurement","value","y","stopScrolling","startScrolling","duration","easing","linear","scrollOnDragOver","dragDistance","Math","max","abs","distancePercentage","previous","delta","newOffset","min"],"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":["useWindowDimensions","useSharedValue","useAnimatedRef","scrollTo","useAnimatedReaction","withTiming","withRepeat","cancelAnimation","Easing","useBlockListContext","SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","VELOCITY_MULTIPLIER","useScrollWhenDragging","scrollRef","animatedScrollRef","scrollViewRef","height","windowHeight","velocityY","offsetY","dragStartY","animationTimer","isAnimationTimerActive","isScrollActive","scroll","maxOffsetY","scrollHandler","event","contentSize","contentOffset","layoutMeasurement","value","y","stopScrolling","startScrolling","duration","easing","linear","scrollOnDragOver","dragDistance","Math","max","abs","distancePercentage","previous","delta","newOffset","min"],"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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"}
@@ -2,13 +2,13 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useSelect, useDispatch } from '@wordpress/data';
5
- import { useContext, useEffect } from '@wordpress/element';
5
+ import { useEffect } from '@wordpress/element';
6
6
 
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
10
10
  import { store as blockEditorStore } from '../../store';
11
- import { BlockListBlockContext } from '../block-list/block-list-block-context';
11
+ import { useBlockEditContext } from '../block-edit/context';
12
12
 
13
13
  /**
14
14
  * @typedef {'disabled'|'contentOnly'|'default'} BlockEditingMode
@@ -45,10 +45,9 @@ import { BlockListBlockContext } from '../block-list/block-list-block-context';
45
45
  * @return {BlockEditingMode} The current editing mode.
46
46
  */
47
47
  export function useBlockEditingMode(mode) {
48
- var _useContext;
49
48
  const {
50
49
  clientId = ''
51
- } = (_useContext = useContext(BlockListBlockContext)) !== null && _useContext !== void 0 ? _useContext : {};
50
+ } = useBlockEditContext();
52
51
  const blockEditingMode = useSelect(select => select(blockEditorStore).getBlockEditingMode(clientId), [clientId]);
53
52
  const {
54
53
  setBlockEditingMode,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useContext","useEffect","store","blockEditorStore","BlockListBlockContext","useBlockEditingMode","mode","_useContext","clientId","blockEditingMode","select","getBlockEditingMode","setBlockEditingMode","unsetBlockEditingMode"],"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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,UAAU,EAAEC,SAAS,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,qBAAqB,QAAQ,wCAAwC;;AAE9E;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;AACA,OAAO,SAASC,mBAAmBA,CAAEC,IAAI,EAAG;EAAA,IAAAC,WAAA;EAC3C,MAAM;IAAEC,QAAQ,GAAG;EAAG,CAAC,IAAAD,WAAA,GAAGP,UAAU,CAAEI,qBAAsB,CAAC,cAAAG,WAAA,cAAAA,WAAA,GAAI,CAAC,CAAC;EACnE,MAAME,gBAAgB,GAAGX,SAAS,CAC/BY,MAAM,IACPA,MAAM,CAAEP,gBAAiB,CAAC,CAACQ,mBAAmB,CAAEH,QAAS,CAAC,EAC3D,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAEI,mBAAmB;IAAEC;EAAsB,CAAC,GACnDd,WAAW,CAAEI,gBAAiB,CAAC;EAChCF,SAAS,CAAE,MAAM;IAChB,IAAKK,IAAI,EAAG;MACXM,mBAAmB,CAAEJ,QAAQ,EAAEF,IAAK,CAAC;IACtC;IACA,OAAO,MAAM;MACZ,IAAKA,IAAI,EAAG;QACXO,qBAAqB,CAAEL,QAAS,CAAC;MAClC;IACD,CAAC;EACF,CAAC,EAAE,CAAEA,QAAQ,EAAEF,IAAI,EAAEM,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;EACnE,OAAOJ,gBAAgB;AACxB"}
1
+ {"version":3,"names":["useSelect","useDispatch","useEffect","store","blockEditorStore","useBlockEditContext","useBlockEditingMode","mode","clientId","blockEditingMode","select","getBlockEditingMode","setBlockEditingMode","unsetBlockEditingMode"],"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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,mBAAmB,QAAQ,uBAAuB;;AAE3D;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;AACA,OAAO,SAASC,mBAAmBA,CAAEC,IAAI,EAAG;EAC3C,MAAM;IAAEC,QAAQ,GAAG;EAAG,CAAC,GAAGH,mBAAmB,CAAC,CAAC;EAC/C,MAAMI,gBAAgB,GAAGT,SAAS,CAC/BU,MAAM,IACPA,MAAM,CAAEN,gBAAiB,CAAC,CAACO,mBAAmB,CAAEH,QAAS,CAAC,EAC3D,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAEI,mBAAmB;IAAEC;EAAsB,CAAC,GACnDZ,WAAW,CAAEG,gBAAiB,CAAC;EAChCF,SAAS,CAAE,MAAM;IAChB,IAAKK,IAAI,EAAG;MACXK,mBAAmB,CAAEJ,QAAQ,EAAED,IAAK,CAAC;IACtC;IACA,OAAO,MAAM;MACZ,IAAKA,IAAI,EAAG;QACXM,qBAAqB,CAAEL,QAAS,CAAC;MAClC;IACD,CAAC;EACF,CAAC,EAAE,CAAEA,QAAQ,EAAED,IAAI,EAAEK,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;EACnE,OAAOJ,gBAAgB;AACxB"}
@@ -76,7 +76,7 @@ const BlockInspector = ({
76
76
  selectedBlockClientId: _selectedBlockClientId,
77
77
  selectedBlockName: _selectedBlockName,
78
78
  blockType: _blockType,
79
- topLevelLockedBlock: __unstableGetContentLockingParent(_selectedBlockClientId) || (getTemplateLock(_selectedBlockClientId) === 'contentOnly' ? _selectedBlockClientId : undefined)
79
+ topLevelLockedBlock: __unstableGetContentLockingParent(_selectedBlockClientId) || (getTemplateLock(_selectedBlockClientId) === 'contentOnly' || _selectedBlockName === 'core/block' && window.__experimentalPatternPartialSyncing ? _selectedBlockClientId : undefined)
80
80
  };
81
81
  }, []);
82
82
  const availableTabs = useInspectorControlsTabs(blockType?.name);
@@ -1 +1 @@
1
- {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","hasBlockSupport","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","DefaultStylePicker","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","length","blockInspectorAnimationSettings","tabs","Fragment","group","label","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","blockName","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t</PanelBody>\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t) && (\n\t\t\t\t\t\t\t\t\t<DefaultStylePicker\n\t\t\t\t\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","hasBlockSupport","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","DefaultStylePicker","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","window","__experimentalPatternPartialSyncing","undefined","availableTabs","name","showTabs","length","blockInspectorAnimationSettings","tabs","Fragment","group","label","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","blockName","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t</PanelBody>\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t( _selectedBlockName === 'core/block' &&\n\t\t\t\t\twindow.__experimentalPatternPartialSyncing )\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t) && (\n\t\t\t\t\t\t\t\t\t<DefaultStylePicker\n\t\t\t\t\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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"}
@@ -58,6 +58,7 @@ function BlockListItemCell({
58
58
  }
59
59
  }, [clientId, rootClientId, updateBlocksLayouts, onLayout]);
60
60
  return createElement(View, {
61
+ testID: "block-list-item-cell",
61
62
  onLayout: onCellLayout
62
63
  }, children);
63
64
  }
@@ -1 +1 @@
1
- {"version":3,"names":["View","useEffect","useCallback","useSelect","useBlockListContext","store","blockEditorStore","BlockListItemCell","children","item","clientId","onLayout","blocksLayouts","updateBlocksLayouts","rootClientId","select","getBlockRootClientId","shouldRemove","onCellLayout","event","nativeEvent","layout","createElement"],"sources":["@wordpress/block-editor/src/components/block-list/block-list-item-cell.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockListContext } from './block-list-context';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockListItemCell( { children, item: clientId, onLayout } ) {\n\tconst { blocksLayouts, updateBlocksLayouts } = useBlockListContext();\n\tconst { rootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\t\t\treturn { rootClientId: getBlockRootClientId( clientId ) };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\tshouldRemove: true,\n\t\t\t} );\n\t\t};\n\t}, [] );\n\n\tconst onCellLayout = useCallback(\n\t\t( event ) => {\n\t\t\tconst {\n\t\t\t\tnativeEvent: { layout },\n\t\t\t} = event;\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\trootClientId,\n\t\t\t\t...layout,\n\t\t\t} );\n\n\t\t\tif ( onLayout ) {\n\t\t\t\tonLayout( event );\n\t\t\t}\n\t\t},\n\t\t[ clientId, rootClientId, updateBlocksLayouts, onLayout ]\n\t);\n\n\treturn <View onLayout={ onCellLayout }>{ children }</View>;\n}\n\nexport default BlockListItemCell;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,EAAEC,WAAW,QAAQ,oBAAoB;AAC3D,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,SAASC,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC,IAAI,EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EACpE,MAAM;IAAEC,aAAa;IAAEC;EAAoB,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EACpE,MAAM;IAAEU;EAAa,CAAC,GAAGX,SAAS,CAC/BY,MAAM,IAAM;IACb,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAET,gBAAiB,CAAC;IAC3D,OAAO;MAAEQ,YAAY,EAAEE,oBAAoB,CAAEN,QAAS;IAAE,CAAC;EAC1D,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAEDT,SAAS,CAAE,MAAM;IAChB,OAAO,MAAM;MACZY,mBAAmB,CAAED,aAAa,EAAE;QACnCF,QAAQ;QACRO,YAAY,EAAE;MACf,CAAE,CAAC;IACJ,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,YAAY,GAAGhB,WAAW,CAC7BiB,KAAK,IAAM;IACZ,MAAM;MACLC,WAAW,EAAE;QAAEC;MAAO;IACvB,CAAC,GAAGF,KAAK;IACTN,mBAAmB,CAAED,aAAa,EAAE;MACnCF,QAAQ;MACRI,YAAY;MACZ,GAAGO;IACJ,CAAE,CAAC;IAEH,IAAKV,QAAQ,EAAG;MACfA,QAAQ,CAAEQ,KAAM,CAAC;IAClB;EACD,CAAC,EACD,CAAET,QAAQ,EAAEI,YAAY,EAAED,mBAAmB,EAAEF,QAAQ,CACxD,CAAC;EAED,OAAOW,aAAA,CAACtB,IAAI;IAACW,QAAQ,EAAGO;EAAc,GAAGV,QAAgB,CAAC;AAC3D;AAEA,eAAeD,iBAAiB"}
1
+ {"version":3,"names":["View","useEffect","useCallback","useSelect","useBlockListContext","store","blockEditorStore","BlockListItemCell","children","item","clientId","onLayout","blocksLayouts","updateBlocksLayouts","rootClientId","select","getBlockRootClientId","shouldRemove","onCellLayout","event","nativeEvent","layout","createElement","testID"],"sources":["@wordpress/block-editor/src/components/block-list/block-list-item-cell.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockListContext } from './block-list-context';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockListItemCell( { children, item: clientId, onLayout } ) {\n\tconst { blocksLayouts, updateBlocksLayouts } = useBlockListContext();\n\tconst { rootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\t\t\treturn { rootClientId: getBlockRootClientId( clientId ) };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\tshouldRemove: true,\n\t\t\t} );\n\t\t};\n\t}, [] );\n\n\tconst onCellLayout = useCallback(\n\t\t( event ) => {\n\t\t\tconst {\n\t\t\t\tnativeEvent: { layout },\n\t\t\t} = event;\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\trootClientId,\n\t\t\t\t...layout,\n\t\t\t} );\n\n\t\t\tif ( onLayout ) {\n\t\t\t\tonLayout( event );\n\t\t\t}\n\t\t},\n\t\t[ clientId, rootClientId, updateBlocksLayouts, onLayout ]\n\t);\n\n\treturn (\n\t\t<View testID=\"block-list-item-cell\" onLayout={ onCellLayout }>\n\t\t\t{ children }\n\t\t</View>\n\t);\n}\n\nexport default BlockListItemCell;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,EAAEC,WAAW,QAAQ,oBAAoB;AAC3D,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,SAASC,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC,IAAI,EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EACpE,MAAM;IAAEC,aAAa;IAAEC;EAAoB,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EACpE,MAAM;IAAEU;EAAa,CAAC,GAAGX,SAAS,CAC/BY,MAAM,IAAM;IACb,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAET,gBAAiB,CAAC;IAC3D,OAAO;MAAEQ,YAAY,EAAEE,oBAAoB,CAAEN,QAAS;IAAE,CAAC;EAC1D,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAEDT,SAAS,CAAE,MAAM;IAChB,OAAO,MAAM;MACZY,mBAAmB,CAAED,aAAa,EAAE;QACnCF,QAAQ;QACRO,YAAY,EAAE;MACf,CAAE,CAAC;IACJ,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,YAAY,GAAGhB,WAAW,CAC7BiB,KAAK,IAAM;IACZ,MAAM;MACLC,WAAW,EAAE;QAAEC;MAAO;IACvB,CAAC,GAAGF,KAAK;IACTN,mBAAmB,CAAED,aAAa,EAAE;MACnCF,QAAQ;MACRI,YAAY;MACZ,GAAGO;IACJ,CAAE,CAAC;IAEH,IAAKV,QAAQ,EAAG;MACfA,QAAQ,CAAEQ,KAAM,CAAC;IAClB;EACD,CAAC,EACD,CAAET,QAAQ,EAAEI,YAAY,EAAED,mBAAmB,EAAEF,QAAQ,CACxD,CAAC;EAED,OACCW,aAAA,CAACtB,IAAI;IAACuB,MAAM,EAAC,sBAAsB;IAACZ,QAAQ,EAAGO;EAAc,GAC1DV,QACG,CAAC;AAET;AAEA,eAAeD,iBAAiB"}