@wordpress/block-editor 12.17.0 → 12.18.1

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 (421) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +32 -0
  3. package/build/components/block-draggable/index.js +11 -3
  4. package/build/components/block-draggable/index.js.map +1 -1
  5. package/build/components/block-edit/context.js +3 -1
  6. package/build/components/block-edit/context.js.map +1 -1
  7. package/build/components/block-edit/index.js +4 -2
  8. package/build/components/block-edit/index.js.map +1 -1
  9. package/build/components/block-editing-mode/index.js +6 -3
  10. package/build/components/block-editing-mode/index.js.map +1 -1
  11. package/build/components/block-inspector/index.js +5 -2
  12. package/build/components/block-inspector/index.js.map +1 -1
  13. package/build/components/block-list/block.js +4 -3
  14. package/build/components/block-list/block.js.map +1 -1
  15. package/build/components/block-list/block.native.js +9 -5
  16. package/build/components/block-list/block.native.js.map +1 -1
  17. package/build/components/block-list/index.js +30 -4
  18. package/build/components/block-list/index.js.map +1 -1
  19. package/build/components/block-list/private-block-context.js +1 -1
  20. package/build/components/block-list/private-block-context.js.map +1 -1
  21. package/build/components/block-list/use-in-between-inserter.js +1 -1
  22. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  23. package/build/components/block-lock/toolbar.js +8 -2
  24. package/build/components/block-lock/toolbar.js.map +1 -1
  25. package/build/components/block-popover/inbetween.js +15 -3
  26. package/build/components/block-popover/inbetween.js.map +1 -1
  27. package/build/components/block-preview/auto.js +1 -1
  28. package/build/components/block-preview/auto.js.map +1 -1
  29. package/build/components/block-removal-warning-modal/index.js +3 -2
  30. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  31. package/build/components/block-settings-menu/block-settings-dropdown.js +2 -4
  32. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  33. package/build/components/block-switcher/block-transformations-menu.js +12 -1
  34. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  35. package/build/components/block-switcher/index.js +119 -90
  36. package/build/components/block-switcher/index.js.map +1 -1
  37. package/build/components/block-tools/insertion-point.js +10 -3
  38. package/build/components/block-tools/insertion-point.js.map +1 -1
  39. package/build/components/dimensions-tool/aspect-ratio-tool.js +2 -1
  40. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  41. package/build/components/font-sizes/fluid-utils.js +7 -1
  42. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  43. package/build/components/global-styles/border-panel.js +5 -14
  44. package/build/components/global-styles/border-panel.js.map +1 -1
  45. package/build/components/global-styles/dimensions-panel.js +30 -5
  46. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  47. package/build/components/global-styles/effects-panel.js +7 -1
  48. package/build/components/global-styles/effects-panel.js.map +1 -1
  49. package/build/components/global-styles/hooks.js +11 -8
  50. package/build/components/global-styles/hooks.js.map +1 -1
  51. package/build/components/global-styles/typography-panel.js +31 -14
  52. package/build/components/global-styles/typography-panel.js.map +1 -1
  53. package/build/components/global-styles/use-global-styles-output.js +6 -0
  54. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  55. package/build/components/iframe/get-compatibility-styles.js +99 -0
  56. package/build/components/iframe/get-compatibility-styles.js.map +1 -0
  57. package/build/components/iframe/index.js +2 -3
  58. package/build/components/iframe/index.js.map +1 -1
  59. package/build/components/index.js +16 -2
  60. package/build/components/index.js.map +1 -1
  61. package/build/components/index.native.js +16 -2
  62. package/build/components/index.native.js.map +1 -1
  63. package/build/components/inspector-controls/groups.js +2 -0
  64. package/build/components/inspector-controls/groups.js.map +1 -1
  65. package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
  66. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  67. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +3 -2
  68. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  69. package/build/components/link-control/link-preview.js +30 -26
  70. package/build/components/link-control/link-preview.js.map +1 -1
  71. package/build/components/link-control/search-input.js +1 -9
  72. package/build/components/link-control/search-input.js.map +1 -1
  73. package/build/components/list-view/block-contents.js +3 -1
  74. package/build/components/list-view/block-contents.js.map +1 -1
  75. package/build/components/list-view/block.js +10 -1
  76. package/build/components/list-view/block.js.map +1 -1
  77. package/build/components/list-view/branch.js +29 -8
  78. package/build/components/list-view/branch.js.map +1 -1
  79. package/build/components/list-view/drop-indicator.js +100 -32
  80. package/build/components/list-view/drop-indicator.js.map +1 -1
  81. package/build/components/list-view/index.js +52 -4
  82. package/build/components/list-view/index.js.map +1 -1
  83. package/build/components/list-view/leaf.js +2 -2
  84. package/build/components/list-view/leaf.js.map +1 -1
  85. package/build/components/list-view/use-list-view-block-indexes.js +30 -0
  86. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -0
  87. package/build/components/list-view/use-list-view-drop-zone.js +56 -5
  88. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  89. package/build/components/list-view/utils.js +92 -0
  90. package/build/components/list-view/utils.js.map +1 -1
  91. package/build/components/provider/index.js +1 -1
  92. package/build/components/provider/index.js.map +1 -1
  93. package/build/components/recursion-provider/index.js +21 -0
  94. package/build/components/recursion-provider/index.js.map +1 -1
  95. package/build/components/rich-text/index.js +30 -6
  96. package/build/components/rich-text/index.js.map +1 -1
  97. package/build/components/rich-text/native/index.native.js +9 -9
  98. package/build/components/rich-text/native/index.native.js.map +1 -1
  99. package/build/components/use-block-drop-zone/index.js +30 -7
  100. package/build/components/use-block-drop-zone/index.js.map +1 -1
  101. package/build/components/use-on-block-drop/index.js +50 -8
  102. package/build/components/use-on-block-drop/index.js.map +1 -1
  103. package/build/hooks/block-hooks.js +5 -14
  104. package/build/hooks/block-hooks.js.map +1 -1
  105. package/build/hooks/content-lock-ui.js +17 -42
  106. package/build/hooks/content-lock-ui.js.map +1 -1
  107. package/build/hooks/dimensions.js +71 -1
  108. package/build/hooks/dimensions.js.map +1 -1
  109. package/build/hooks/effects.js +66 -0
  110. package/build/hooks/effects.js.map +1 -0
  111. package/build/hooks/index.js +17 -4
  112. package/build/hooks/index.js.map +1 -1
  113. package/build/hooks/index.native.js +13 -0
  114. package/build/hooks/index.native.js.map +1 -1
  115. package/build/hooks/style.js +9 -2
  116. package/build/hooks/style.js.map +1 -1
  117. package/build/hooks/supports.js +2 -1
  118. package/build/hooks/supports.js.map +1 -1
  119. package/build/hooks/typography.native.js +2 -2
  120. package/build/hooks/typography.native.js.map +1 -1
  121. package/build/hooks/use-bindings-attributes.js +115 -0
  122. package/build/hooks/use-bindings-attributes.js.map +1 -0
  123. package/build/hooks/use-shadow-props.js +46 -0
  124. package/build/hooks/use-shadow-props.js.map +1 -0
  125. package/build/hooks/utils.js +12 -7
  126. package/build/hooks/utils.js.map +1 -1
  127. package/build/index.js +14 -0
  128. package/build/index.js.map +1 -1
  129. package/build/store/actions.js +10 -6
  130. package/build/store/actions.js.map +1 -1
  131. package/build/store/index.js +2 -0
  132. package/build/store/index.js.map +1 -1
  133. package/build/store/private-actions.js +37 -0
  134. package/build/store/private-actions.js.map +1 -1
  135. package/build/store/private-selectors.js +60 -9
  136. package/build/store/private-selectors.js.map +1 -1
  137. package/build/store/reducer.js +44 -3
  138. package/build/store/reducer.js.map +1 -1
  139. package/build/store/resolvers.js +27 -0
  140. package/build/store/resolvers.js.map +1 -0
  141. package/build/store/selectors.js +94 -56
  142. package/build/store/selectors.js.map +1 -1
  143. package/build/store/utils.js +5 -26
  144. package/build/store/utils.js.map +1 -1
  145. package/build/utils/index.js +0 -16
  146. package/build/utils/index.js.map +1 -1
  147. package/build/utils/math.js +13 -0
  148. package/build/utils/math.js.map +1 -1
  149. package/build/utils/object.js +17 -0
  150. package/build/utils/object.js.map +1 -1
  151. package/build/utils/transform-styles/index.js +37 -27
  152. package/build/utils/transform-styles/index.js.map +1 -1
  153. package/build-module/components/block-draggable/index.js +11 -3
  154. package/build-module/components/block-draggable/index.js.map +1 -1
  155. package/build-module/components/block-edit/context.js +1 -0
  156. package/build-module/components/block-edit/context.js.map +1 -1
  157. package/build-module/components/block-edit/index.js +5 -3
  158. package/build-module/components/block-edit/index.js.map +1 -1
  159. package/build-module/components/block-editing-mode/index.js +7 -4
  160. package/build-module/components/block-editing-mode/index.js.map +1 -1
  161. package/build-module/components/block-inspector/index.js +5 -2
  162. package/build-module/components/block-inspector/index.js.map +1 -1
  163. package/build-module/components/block-list/block.js +6 -5
  164. package/build-module/components/block-list/block.js.map +1 -1
  165. package/build-module/components/block-list/block.native.js +11 -7
  166. package/build-module/components/block-list/block.native.js.map +1 -1
  167. package/build-module/components/block-list/index.js +31 -5
  168. package/build-module/components/block-list/index.js.map +1 -1
  169. package/build-module/components/block-list/private-block-context.js +1 -1
  170. package/build-module/components/block-list/private-block-context.js.map +1 -1
  171. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  172. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  173. package/build-module/components/block-lock/toolbar.js +8 -2
  174. package/build-module/components/block-lock/toolbar.js.map +1 -1
  175. package/build-module/components/block-popover/inbetween.js +15 -3
  176. package/build-module/components/block-popover/inbetween.js.map +1 -1
  177. package/build-module/components/block-preview/auto.js +3 -3
  178. package/build-module/components/block-preview/auto.js.map +1 -1
  179. package/build-module/components/block-removal-warning-modal/index.js +3 -2
  180. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  181. package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -4
  182. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  183. package/build-module/components/block-switcher/block-transformations-menu.js +12 -1
  184. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  185. package/build-module/components/block-switcher/index.js +116 -86
  186. package/build-module/components/block-switcher/index.js.map +1 -1
  187. package/build-module/components/block-tools/insertion-point.js +10 -3
  188. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  189. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +2 -1
  190. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  191. package/build-module/components/font-sizes/fluid-utils.js +7 -1
  192. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  193. package/build-module/components/global-styles/border-panel.js +5 -14
  194. package/build-module/components/global-styles/border-panel.js.map +1 -1
  195. package/build-module/components/global-styles/dimensions-panel.js +30 -5
  196. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  197. package/build-module/components/global-styles/effects-panel.js +7 -1
  198. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  199. package/build-module/components/global-styles/hooks.js +11 -8
  200. package/build-module/components/global-styles/hooks.js.map +1 -1
  201. package/build-module/components/global-styles/typography-panel.js +32 -15
  202. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  203. package/build-module/components/global-styles/use-global-styles-output.js +6 -0
  204. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  205. package/build-module/components/iframe/get-compatibility-styles.js +93 -0
  206. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -0
  207. package/build-module/components/iframe/index.js +2 -3
  208. package/build-module/components/iframe/index.js.map +1 -1
  209. package/build-module/components/index.js +1 -1
  210. package/build-module/components/index.js.map +1 -1
  211. package/build-module/components/index.native.js +1 -1
  212. package/build-module/components/index.native.js.map +1 -1
  213. package/build-module/components/inspector-controls/groups.js +2 -0
  214. package/build-module/components/inspector-controls/groups.js.map +1 -1
  215. package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
  216. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  217. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +3 -2
  218. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  219. package/build-module/components/link-control/link-preview.js +32 -28
  220. package/build-module/components/link-control/link-preview.js.map +1 -1
  221. package/build-module/components/link-control/search-input.js +1 -8
  222. package/build-module/components/link-control/search-input.js.map +1 -1
  223. package/build-module/components/list-view/block-contents.js +3 -1
  224. package/build-module/components/list-view/block-contents.js.map +1 -1
  225. package/build-module/components/list-view/block.js +10 -1
  226. package/build-module/components/list-view/block.js.map +1 -1
  227. package/build-module/components/list-view/branch.js +30 -9
  228. package/build-module/components/list-view/branch.js.map +1 -1
  229. package/build-module/components/list-view/drop-indicator.js +99 -32
  230. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  231. package/build-module/components/list-view/index.js +54 -6
  232. package/build-module/components/list-view/index.js.map +1 -1
  233. package/build-module/components/list-view/leaf.js +2 -2
  234. package/build-module/components/list-view/leaf.js.map +1 -1
  235. package/build-module/components/list-view/use-list-view-block-indexes.js +23 -0
  236. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -0
  237. package/build-module/components/list-view/use-list-view-drop-zone.js +58 -7
  238. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  239. package/build-module/components/list-view/utils.js +91 -0
  240. package/build-module/components/list-view/utils.js.map +1 -1
  241. package/build-module/components/provider/index.js +1 -1
  242. package/build-module/components/provider/index.js.map +1 -1
  243. package/build-module/components/recursion-provider/index.js +17 -0
  244. package/build-module/components/recursion-provider/index.js.map +1 -1
  245. package/build-module/components/rich-text/index.js +30 -6
  246. package/build-module/components/rich-text/index.js.map +1 -1
  247. package/build-module/components/rich-text/native/index.native.js +9 -9
  248. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  249. package/build-module/components/use-block-drop-zone/index.js +31 -8
  250. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  251. package/build-module/components/use-on-block-drop/index.js +51 -9
  252. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  253. package/build-module/hooks/block-hooks.js +5 -14
  254. package/build-module/hooks/block-hooks.js.map +1 -1
  255. package/build-module/hooks/content-lock-ui.js +19 -43
  256. package/build-module/hooks/content-lock-ui.js.map +1 -1
  257. package/build-module/hooks/dimensions.js +70 -2
  258. package/build-module/hooks/dimensions.js.map +1 -1
  259. package/build-module/hooks/effects.js +51 -0
  260. package/build-module/hooks/effects.js.map +1 -0
  261. package/build-module/hooks/index.js +5 -3
  262. package/build-module/hooks/index.js.map +1 -1
  263. package/build-module/hooks/index.native.js +1 -0
  264. package/build-module/hooks/index.native.js.map +1 -1
  265. package/build-module/hooks/style.js +9 -2
  266. package/build-module/hooks/style.js.map +1 -1
  267. package/build-module/hooks/supports.js +2 -1
  268. package/build-module/hooks/supports.js.map +1 -1
  269. package/build-module/hooks/typography.native.js +2 -2
  270. package/build-module/hooks/typography.native.js.map +1 -1
  271. package/build-module/hooks/use-bindings-attributes.js +112 -0
  272. package/build-module/hooks/use-bindings-attributes.js.map +1 -0
  273. package/build-module/hooks/use-shadow-props.js +39 -0
  274. package/build-module/hooks/use-shadow-props.js.map +1 -0
  275. package/build-module/hooks/utils.js +14 -9
  276. package/build-module/hooks/utils.js.map +1 -1
  277. package/build-module/index.js +1 -1
  278. package/build-module/index.js.map +1 -1
  279. package/build-module/store/actions.js +10 -6
  280. package/build-module/store/actions.js.map +1 -1
  281. package/build-module/store/index.js +2 -0
  282. package/build-module/store/index.js.map +1 -1
  283. package/build-module/store/private-actions.js +35 -0
  284. package/build-module/store/private-actions.js.map +1 -1
  285. package/build-module/store/private-selectors.js +53 -8
  286. package/build-module/store/private-selectors.js.map +1 -1
  287. package/build-module/store/reducer.js +43 -3
  288. package/build-module/store/reducer.js.map +1 -1
  289. package/build-module/store/resolvers.js +20 -0
  290. package/build-module/store/resolvers.js.map +1 -0
  291. package/build-module/store/selectors.js +89 -52
  292. package/build-module/store/selectors.js.map +1 -1
  293. package/build-module/store/utils.js +3 -23
  294. package/build-module/store/utils.js.map +1 -1
  295. package/build-module/utils/index.js +0 -1
  296. package/build-module/utils/index.js.map +1 -1
  297. package/build-module/utils/math.js +12 -0
  298. package/build-module/utils/math.js.map +1 -1
  299. package/build-module/utils/object.js +16 -0
  300. package/build-module/utils/object.js.map +1 -1
  301. package/build-module/utils/transform-styles/index.js +36 -27
  302. package/build-module/utils/transform-styles/index.js.map +1 -1
  303. package/build-style/content-rtl.css +33 -16
  304. package/build-style/content.css +33 -16
  305. package/build-style/default-editor-styles-rtl.css +1 -1
  306. package/build-style/default-editor-styles.css +1 -1
  307. package/build-style/style-rtl.css +169 -114
  308. package/build-style/style.css +169 -114
  309. package/package.json +31 -31
  310. package/src/components/block-canvas/style.scss +8 -1
  311. package/src/components/block-draggable/index.js +16 -5
  312. package/src/components/block-edit/context.js +1 -0
  313. package/src/components/block-edit/index.js +4 -0
  314. package/src/components/block-editing-mode/index.js +12 -7
  315. package/src/components/block-inspector/index.js +5 -2
  316. package/src/components/block-list/block.js +5 -4
  317. package/src/components/block-list/block.native.js +13 -3
  318. package/src/components/block-list/content.scss +34 -5
  319. package/src/components/block-list/index.js +52 -16
  320. package/src/components/block-list/private-block-context.js +1 -1
  321. package/src/components/block-list/use-in-between-inserter.js +1 -2
  322. package/src/components/block-lock/toolbar.js +10 -2
  323. package/src/components/block-popover/inbetween.js +22 -2
  324. package/src/components/block-preview/auto.js +3 -3
  325. package/src/components/block-removal-warning-modal/index.js +3 -2
  326. package/src/components/block-settings-menu/block-settings-dropdown.js +2 -7
  327. package/src/components/block-switcher/block-transformations-menu.js +18 -1
  328. package/src/components/block-switcher/index.js +133 -111
  329. package/src/components/block-switcher/style.scss +6 -4
  330. package/src/components/block-switcher/test/index.js +113 -230
  331. package/src/components/block-toolbar/style.scss +22 -18
  332. package/src/components/block-tools/insertion-point.js +15 -2
  333. package/src/components/block-tools/style.scss +8 -7
  334. package/src/components/dimensions-tool/aspect-ratio-tool.js +4 -1
  335. package/src/components/font-sizes/fluid-utils.js +8 -2
  336. package/src/components/font-sizes/test/fluid-utils.js +9 -0
  337. package/src/components/global-styles/border-panel.js +7 -17
  338. package/src/components/global-styles/dimensions-panel.js +50 -1
  339. package/src/components/global-styles/effects-panel.js +16 -1
  340. package/src/components/global-styles/hooks.js +11 -6
  341. package/src/components/global-styles/typography-panel.js +45 -13
  342. package/src/components/global-styles/use-global-styles-output.js +6 -0
  343. package/src/components/iframe/get-compatibility-styles.js +120 -0
  344. package/src/components/iframe/index.js +2 -3
  345. package/src/components/index.js +4 -2
  346. package/src/components/index.native.js +4 -2
  347. package/src/components/inspector-controls/groups.js +2 -0
  348. package/src/components/inspector-controls-tabs/styles-tab.js +1 -0
  349. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -0
  350. package/src/components/link-control/link-preview.js +31 -55
  351. package/src/components/link-control/search-input.js +1 -9
  352. package/src/components/link-control/style.scss +31 -85
  353. package/src/components/link-control/test/index.js +2 -1
  354. package/src/components/list-view/block-contents.js +5 -1
  355. package/src/components/list-view/block.js +9 -0
  356. package/src/components/list-view/branch.js +30 -10
  357. package/src/components/list-view/drop-indicator.js +139 -46
  358. package/src/components/list-view/index.js +74 -3
  359. package/src/components/list-view/leaf.js +2 -2
  360. package/src/components/list-view/style.scss +102 -13
  361. package/src/components/list-view/test/use-list-view-drop-zone.js +4 -0
  362. package/src/components/list-view/test/utils.js +218 -1
  363. package/src/components/list-view/use-list-view-block-indexes.js +29 -0
  364. package/src/components/list-view/use-list-view-drop-zone.js +78 -6
  365. package/src/components/list-view/utils.js +116 -0
  366. package/src/components/provider/index.js +3 -1
  367. package/src/components/recursion-provider/README.md +2 -2
  368. package/src/components/recursion-provider/index.js +17 -0
  369. package/src/components/rich-text/index.js +48 -10
  370. package/src/components/rich-text/native/index.native.js +10 -10
  371. package/src/components/use-block-drop-zone/index.js +60 -19
  372. package/src/components/use-block-drop-zone/test/index.js +32 -61
  373. package/src/components/use-on-block-drop/index.js +92 -11
  374. package/src/hooks/block-hooks.js +5 -17
  375. package/src/hooks/content-lock-ui.js +15 -55
  376. package/src/hooks/dimensions.js +74 -3
  377. package/src/hooks/effects.js +57 -0
  378. package/src/hooks/index.js +4 -2
  379. package/src/hooks/index.native.js +1 -0
  380. package/src/hooks/style.js +12 -0
  381. package/src/hooks/supports.js +2 -0
  382. package/src/hooks/test/effects.js +39 -0
  383. package/src/hooks/typography.native.js +2 -2
  384. package/src/hooks/use-bindings-attributes.js +148 -0
  385. package/src/hooks/use-shadow-props.js +37 -0
  386. package/src/hooks/utils.js +30 -10
  387. package/src/index.js +2 -0
  388. package/src/store/actions.js +9 -4
  389. package/src/store/index.js +2 -0
  390. package/src/store/private-actions.js +32 -0
  391. package/src/store/private-selectors.js +78 -21
  392. package/src/store/reducer.js +49 -2
  393. package/src/store/resolvers.js +17 -0
  394. package/src/store/selectors.js +169 -161
  395. package/src/store/test/registry-selectors.js +431 -0
  396. package/src/store/test/selectors.js +14 -400
  397. package/src/store/utils.js +10 -33
  398. package/src/style.scss +0 -1
  399. package/src/utils/index.js +0 -1
  400. package/src/utils/math.js +12 -0
  401. package/src/utils/object.js +16 -0
  402. package/src/utils/transform-styles/index.js +52 -37
  403. package/tsconfig.tsbuildinfo +1 -1
  404. package/build/components/iframe/use-compatibility-styles.js +0 -100
  405. package/build/components/iframe/use-compatibility-styles.js.map +0 -1
  406. package/build/hooks/custom-fields.js +0 -106
  407. package/build/hooks/custom-fields.js.map +0 -1
  408. package/build/utils/block-variation-transforms.js +0 -42
  409. package/build/utils/block-variation-transforms.js.map +0 -1
  410. package/build-module/components/iframe/use-compatibility-styles.js +0 -94
  411. package/build-module/components/iframe/use-compatibility-styles.js.map +0 -1
  412. package/build-module/hooks/custom-fields.js +0 -99
  413. package/build-module/hooks/custom-fields.js.map +0 -1
  414. package/build-module/utils/block-variation-transforms.js +0 -35
  415. package/build-module/utils/block-variation-transforms.js.map +0 -1
  416. package/src/components/block-switcher/test/__snapshots__/index.js.snap +0 -116
  417. package/src/components/contrast-checker/style.scss +0 -3
  418. package/src/components/iframe/use-compatibility-styles.js +0 -122
  419. package/src/hooks/custom-fields.js +0 -115
  420. package/src/utils/block-variation-transforms.js +0 -38
  421. package/src/utils/test/block-variation-transforms.js +0 -94
@@ -4,12 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.__experimentalGetGlobalBlocksByName = exports.__experimentalGetDirectInsertBlock = exports.__experimentalGetBlockListSettingsForBlocks = exports.__experimentalGetAllowedPatterns = exports.__experimentalGetAllowedBlocks = exports.__experimentalGetActiveBlockIdByBlockNames = void 0;
7
+ exports.__experimentalGetDirectInsertBlock = exports.__experimentalGetBlockListSettingsForBlocks = exports.__experimentalGetAllowedPatterns = exports.__experimentalGetAllowedBlocks = exports.__experimentalGetActiveBlockIdByBlockNames = void 0;
8
+ exports.__experimentalGetGlobalBlocksByName = __experimentalGetGlobalBlocksByName;
8
9
  exports.__experimentalGetLastBlockAttributeChanges = __experimentalGetLastBlockAttributeChanges;
9
- exports.__unstableGetContentLockingParent = exports.__unstableGetClientIdsTree = exports.__unstableGetClientIdWithClientIdsTree = exports.__unstableGetBlockWithoutInnerBlocks = exports.__experimentalUserPatternCategories = exports.__experimentalGetReusableBlockTitle = exports.__experimentalGetPatternsByBlockTypes = exports.__experimentalGetPatternTransformItems = exports.__experimentalGetParsedPattern = void 0;
10
+ exports.__unstableGetContentLockingParent = exports.__unstableGetClientIdsTree = exports.__unstableGetClientIdWithClientIdsTree = exports.__unstableGetBlockWithoutInnerBlocks = exports.__experimentalGetReusableBlockTitle = exports.__experimentalGetPatternsByBlockTypes = exports.__experimentalGetPatternTransformItems = exports.__experimentalGetParsedPattern = void 0;
10
11
  exports.__unstableGetEditorMode = __unstableGetEditorMode;
11
12
  exports.__unstableGetSelectedBlocksWithPartialSelection = void 0;
12
13
  exports.__unstableGetTemporarilyEditingAsBlocks = __unstableGetTemporarilyEditingAsBlocks;
14
+ exports.__unstableGetTemporarilyEditingFocusModeToRevert = __unstableGetTemporarilyEditingFocusModeToRevert;
13
15
  exports.__unstableGetVisibleBlocks = void 0;
14
16
  exports.__unstableHasActiveBlockOverlayActive = __unstableHasActiveBlockOverlayActive;
15
17
  exports.__unstableIsFullySelected = __unstableIsFullySelected;
@@ -48,7 +50,7 @@ exports.getBlockSelectionEnd = getBlockSelectionEnd;
48
50
  exports.getBlockSelectionStart = getBlockSelectionStart;
49
51
  exports.getBlockTransformItems = void 0;
50
52
  exports.getBlocks = getBlocks;
51
- exports.getDirectInsertBlock = exports.getClientIdsWithDescendants = exports.getClientIdsOfDescendants = exports.getBlocksByClientId = void 0;
53
+ exports.getDirectInsertBlock = exports.getClientIdsWithDescendants = exports.getClientIdsOfDescendants = exports.getBlocksByName = exports.getBlocksByClientId = void 0;
52
54
  exports.getDraggedBlockClientIds = getDraggedBlockClientIds;
53
55
  exports.getFirstMultiSelectedBlockClientId = getFirstMultiSelectedBlockClientId;
54
56
  exports.getInserterItems = exports.getGlobalBlockCount = void 0;
@@ -109,6 +111,8 @@ var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
109
111
  var _data = require("@wordpress/data");
110
112
  var _utils = require("./utils");
111
113
  var _sorting = require("../utils/sorting");
114
+ var _constants = require("./constants");
115
+ var _lockUnlock = require("../lock-unlock");
112
116
  /**
113
117
  * External dependencies
114
118
  */
@@ -369,7 +373,7 @@ const getGlobalBlockCount = (0, _rememo.default)((state, blockName) => {
369
373
  }, state => [state.blocks.order, state.blocks.byClientId]);
370
374
 
371
375
  /**
372
- * Returns all global blocks that match a blockName. Results include nested blocks.
376
+ * Returns all blocks that match a blockName. Results include nested blocks.
373
377
  *
374
378
  * @param {Object} state Global application state.
375
379
  * @param {?string} blockName Optional block name, if not specified, returns an empty array.
@@ -377,7 +381,7 @@ const getGlobalBlockCount = (0, _rememo.default)((state, blockName) => {
377
381
  * @return {Array} Array of clientIds of blocks with name equal to blockName.
378
382
  */
379
383
  exports.getGlobalBlockCount = getGlobalBlockCount;
380
- const __experimentalGetGlobalBlocksByName = (0, _rememo.default)((state, blockName) => {
384
+ const getBlocksByName = (0, _rememo.default)((state, blockName) => {
381
385
  if (!blockName) {
382
386
  return EMPTY_ARRAY;
383
387
  }
@@ -390,6 +394,25 @@ const __experimentalGetGlobalBlocksByName = (0, _rememo.default)((state, blockNa
390
394
  return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
391
395
  }, state => [state.blocks.order, state.blocks.byClientId]);
392
396
 
397
+ /**
398
+ * Returns all global blocks that match a blockName. Results include nested blocks.
399
+ *
400
+ * @deprecated
401
+ *
402
+ * @param {Object} state Global application state.
403
+ * @param {?string} blockName Optional block name, if not specified, returns an empty array.
404
+ *
405
+ * @return {Array} Array of clientIds of blocks with name equal to blockName.
406
+ */
407
+ exports.getBlocksByName = getBlocksByName;
408
+ function __experimentalGetGlobalBlocksByName(state, blockName) {
409
+ (0, _deprecated.default)("wp.data.select( 'core/block-editor' ).__experimentalGetGlobalBlocksByName", {
410
+ since: '6.5',
411
+ alternative: `wp.data.select( 'core/block-editor' ).getBlocksByName`
412
+ });
413
+ return getBlocksByName(state, blockName);
414
+ }
415
+
393
416
  /**
394
417
  * Given an array of block client IDs, returns the corresponding array of block
395
418
  * objects.
@@ -399,7 +422,6 @@ const __experimentalGetGlobalBlocksByName = (0, _rememo.default)((state, blockNa
399
422
  *
400
423
  * @return {WPBlock[]} Block objects.
401
424
  */
402
- exports.__experimentalGetGlobalBlocksByName = __experimentalGetGlobalBlocksByName;
403
425
  const getBlocksByClientId = (0, _rememo.default)((state, clientIds) => (Array.isArray(clientIds) ? clientIds : [clientIds]).map(clientId => getBlock(state, clientId)), (state, clientIds) => (Array.isArray(clientIds) ? clientIds : [clientIds]).map(clientId => state.blocks.tree.get(clientId)));
404
426
 
405
427
  /**
@@ -1868,7 +1890,7 @@ const getInserterItems = (0, _rememo.default)((state, rootClientId = null) => {
1868
1890
  });
1869
1891
  const sortedBlockTypes = [...coreItems, ...nonCoreItems];
1870
1892
  return [...sortedBlockTypes, ...syncedPatternInserterItems];
1871
- }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0, _blocks.getBlockTypes)()]);
1893
+ }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0, _blocks.getBlockTypes)()]);
1872
1894
 
1873
1895
  /**
1874
1896
  * Determines the items that appear in the available block transforms list.
@@ -1911,7 +1933,7 @@ const getBlockTransformItems = (0, _rememo.default)((state, blocks, rootClientId
1911
1933
  return accumulator;
1912
1934
  }, []);
1913
1935
  return (0, _sorting.orderBy)(possibleTransforms, block => itemsByName[block.name].frecency, 'desc');
1914
- }, (state, blocks, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, (0, _blocks.getBlockTypes)()]);
1936
+ }, (state, blocks, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, (0, _blocks.getBlockTypes)()]);
1915
1937
 
1916
1938
  /**
1917
1939
  * Determines whether there are items to show in the inserter.
@@ -1929,7 +1951,7 @@ const hasInserterItems = (0, _rememo.default)((state, rootClientId = null) => {
1929
1951
  }
1930
1952
  const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) && getReusableBlocks(state).length > 0;
1931
1953
  return hasReusableBlock;
1932
- }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0, _blocks.getBlockTypes)()]);
1954
+ }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0, _blocks.getBlockTypes)()]);
1933
1955
 
1934
1956
  /**
1935
1957
  * Returns the list of allowed inserter blocks for inner blocks children.
@@ -1946,8 +1968,11 @@ const getAllowedBlocks = (0, _rememo.default)((state, rootClientId = null) => {
1946
1968
  }
1947
1969
  const blockTypes = (0, _blocks.getBlockTypes)().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId));
1948
1970
  const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) && getReusableBlocks(state).length > 0;
1949
- return [...blockTypes, ...(hasReusableBlock ? ['core/block'] : [])];
1950
- }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0, _blocks.getBlockTypes)()]);
1971
+ if (hasReusableBlock) {
1972
+ blockTypes.push('core/block');
1973
+ }
1974
+ return blockTypes;
1975
+ }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0, _blocks.getBlockTypes)()]);
1951
1976
  exports.getAllowedBlocks = getAllowedBlocks;
1952
1977
  const __experimentalGetAllowedBlocks = (0, _rememo.default)((state, rootClientId = null) => {
1953
1978
  (0, _deprecated.default)('wp.data.select( "core/block-editor" ).__experimentalGetAllowedBlocks', {
@@ -1996,14 +2021,12 @@ const __experimentalGetDirectInsertBlock = (0, _rememo.default)((state, rootClie
1996
2021
  return getDirectInsertBlock(state, rootClientId);
1997
2022
  }, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.tree.get(rootClientId)]);
1998
2023
  exports.__experimentalGetDirectInsertBlock = __experimentalGetDirectInsertBlock;
1999
- const __experimentalUserPatternCategories = (0, _rememo.default)(state => {
2000
- return state?.settings?.__experimentalUserPatternCategories;
2001
- }, state => [state.settings.__experimentalUserPatternCategories]);
2002
- exports.__experimentalUserPatternCategories = __experimentalUserPatternCategories;
2003
- const __experimentalGetParsedPattern = (0, _rememo.default)((state, patternName) => {
2004
- const patterns = state.settings.__experimentalBlockPatterns;
2005
- const userPatterns = (0, _utils.getUserPatterns)(state);
2006
- const pattern = [...patterns, ...userPatterns].find(({
2024
+ const __experimentalGetParsedPattern = (0, _data.createRegistrySelector)(select => (0, _rememo.default)((state, patternName) => {
2025
+ const {
2026
+ getAllPatterns
2027
+ } = (0, _lockUnlock.unlock)(select(_constants.STORE_NAME));
2028
+ const patterns = getAllPatterns();
2029
+ const pattern = patterns.find(({
2007
2030
  name
2008
2031
  }) => name === patternName);
2009
2032
  if (!pattern) {
@@ -2015,24 +2038,11 @@ const __experimentalGetParsedPattern = (0, _rememo.default)((state, patternName)
2015
2038
  __unstableSkipMigrationLogs: true
2016
2039
  })
2017
2040
  };
2018
- }, state => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state?.settings?.__experimentalUserPatternCategories]);
2041
+ }, _utils.getAllPatternsDependants));
2019
2042
  exports.__experimentalGetParsedPattern = __experimentalGetParsedPattern;
2020
- const getAllAllowedPatterns = (0, _rememo.default)(state => {
2021
- const patterns = state.settings.__experimentalBlockPatterns;
2022
- const userPatterns = (0, _utils.getUserPatterns)(state);
2023
- const {
2024
- allowedBlockTypes
2025
- } = getSettings(state);
2026
- const parsedPatterns = [...userPatterns, ...patterns].filter(({
2027
- inserter = true
2028
- }) => !!inserter).map(({
2029
- name
2030
- }) => __experimentalGetParsedPattern(state, name));
2031
- const allowedPatterns = parsedPatterns.filter(({
2032
- blocks
2033
- }) => (0, _utils.checkAllowListRecursive)(blocks, allowedBlockTypes));
2034
- return allowedPatterns;
2035
- }, state => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state.settings.allowedBlockTypes, state?.settings?.__experimentalUserPatternCategories]);
2043
+ const getAllowedPatternsDependants = (state, rootClientId) => {
2044
+ return [...(0, _utils.getAllPatternsDependants)(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)];
2045
+ };
2036
2046
 
2037
2047
  /**
2038
2048
  * Returns the list of allowed patterns for inner blocks children.
@@ -2042,15 +2052,32 @@ const getAllAllowedPatterns = (0, _rememo.default)(state => {
2042
2052
  *
2043
2053
  * @return {Array?} The list of allowed patterns.
2044
2054
  */
2045
- const __experimentalGetAllowedPatterns = (0, _rememo.default)((state, rootClientId = null) => {
2046
- const availableParsedPatterns = getAllAllowedPatterns(state);
2047
- const patternsAllowed = availableParsedPatterns.filter(({
2048
- blocks
2049
- }) => blocks.every(({
2050
- name
2051
- }) => canInsertBlockType(state, name, rootClientId)));
2052
- return patternsAllowed;
2053
- }, (state, rootClientId) => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)]);
2055
+ const __experimentalGetAllowedPatterns = (0, _data.createRegistrySelector)(select => {
2056
+ return (0, _rememo.default)((state, rootClientId = null) => {
2057
+ const {
2058
+ getAllPatterns,
2059
+ __experimentalGetParsedPattern: getParsedPattern
2060
+ } = (0, _lockUnlock.unlock)(select(_constants.STORE_NAME));
2061
+ const patterns = getAllPatterns();
2062
+ const {
2063
+ allowedBlockTypes
2064
+ } = getSettings(state);
2065
+ const parsedPatterns = patterns.filter(({
2066
+ inserter = true
2067
+ }) => !!inserter).map(({
2068
+ name
2069
+ }) => getParsedPattern(name));
2070
+ const availableParsedPatterns = parsedPatterns.filter(({
2071
+ blocks
2072
+ }) => (0, _utils.checkAllowListRecursive)(blocks, allowedBlockTypes));
2073
+ const patternsAllowed = availableParsedPatterns.filter(({
2074
+ blocks
2075
+ }) => blocks.every(({
2076
+ name
2077
+ }) => canInsertBlockType(state, name, rootClientId)));
2078
+ return patternsAllowed;
2079
+ }, getAllowedPatternsDependants);
2080
+ });
2054
2081
 
2055
2082
  /**
2056
2083
  * Returns the list of patterns based on their declared `blockTypes`
@@ -2066,25 +2093,25 @@ const __experimentalGetAllowedPatterns = (0, _rememo.default)((state, rootClient
2066
2093
  * @return {Array} The list of matched block patterns based on declared `blockTypes` and block name.
2067
2094
  */
2068
2095
  exports.__experimentalGetAllowedPatterns = __experimentalGetAllowedPatterns;
2069
- const getPatternsByBlockTypes = (0, _rememo.default)((state, blockNames, rootClientId = null) => {
2096
+ const getPatternsByBlockTypes = (0, _data.createRegistrySelector)(select => (0, _rememo.default)((state, blockNames, rootClientId = null) => {
2070
2097
  if (!blockNames) return EMPTY_ARRAY;
2071
- const patterns = __experimentalGetAllowedPatterns(state, rootClientId);
2098
+ const patterns = select(_constants.STORE_NAME).__experimentalGetAllowedPatterns(rootClientId);
2072
2099
  const normalizedBlockNames = Array.isArray(blockNames) ? blockNames : [blockNames];
2073
2100
  const filteredPatterns = patterns.filter(pattern => pattern?.blockTypes?.some?.(blockName => normalizedBlockNames.includes(blockName)));
2074
2101
  if (filteredPatterns.length === 0) {
2075
2102
  return EMPTY_ARRAY;
2076
2103
  }
2077
2104
  return filteredPatterns;
2078
- }, (state, blockNames, rootClientId) => [...__experimentalGetAllowedPatterns.getDependants(state, rootClientId)]);
2105
+ }, (state, blockNames, rootClientId) => getAllowedPatternsDependants(state, rootClientId)));
2079
2106
  exports.getPatternsByBlockTypes = getPatternsByBlockTypes;
2080
- const __experimentalGetPatternsByBlockTypes = (0, _rememo.default)((state, blockNames, rootClientId = null) => {
2107
+ const __experimentalGetPatternsByBlockTypes = (0, _data.createRegistrySelector)(select => {
2081
2108
  (0, _deprecated.default)('wp.data.select( "core/block-editor" ).__experimentalGetPatternsByBlockTypes', {
2082
2109
  alternative: 'wp.data.select( "core/block-editor" ).getPatternsByBlockTypes',
2083
2110
  since: '6.2',
2084
2111
  version: '6.4'
2085
2112
  });
2086
- return getPatternsByBlockTypes(state, blockNames, rootClientId);
2087
- }, (state, blockNames, rootClientId) => [...__experimentalGetAllowedPatterns.getDependants(state, rootClientId)]);
2113
+ return select(_constants.STORE_NAME).getPatternsByBlockTypes;
2114
+ });
2088
2115
 
2089
2116
  /**
2090
2117
  * Determines the items that appear in the available pattern transforms list.
@@ -2104,7 +2131,7 @@ const __experimentalGetPatternsByBlockTypes = (0, _rememo.default)((state, block
2104
2131
  * @return {WPBlockPattern[]} Items that are eligible for a pattern transformation.
2105
2132
  */
2106
2133
  exports.__experimentalGetPatternsByBlockTypes = __experimentalGetPatternsByBlockTypes;
2107
- const __experimentalGetPatternTransformItems = (0, _rememo.default)((state, blocks, rootClientId = null) => {
2134
+ const __experimentalGetPatternTransformItems = (0, _data.createRegistrySelector)(select => (0, _rememo.default)((state, blocks, rootClientId = null) => {
2108
2135
  if (!blocks) return EMPTY_ARRAY;
2109
2136
  /**
2110
2137
  * For now we only handle blocks without InnerBlocks and take into account
@@ -2130,8 +2157,8 @@ const __experimentalGetPatternTransformItems = (0, _rememo.default)((state, bloc
2130
2157
  * block pattern's blocks and try to find matches from the selected blocks.
2131
2158
  * Now this happens in the consumer to avoid heavy operations in the selector.
2132
2159
  */
2133
- return getPatternsByBlockTypes(state, selectedBlockNames, rootClientId);
2134
- }, (state, blocks, rootClientId) => [...getPatternsByBlockTypes.getDependants(state, rootClientId)]);
2160
+ return select(_constants.STORE_NAME).getPatternsByBlockTypes(selectedBlockNames, rootClientId);
2161
+ }, (state, blocks, rootClientId) => getAllowedPatternsDependants(state, rootClientId)));
2135
2162
 
2136
2163
  /**
2137
2164
  * Returns the Block List settings of a block, if any exist.
@@ -2249,7 +2276,7 @@ function __experimentalGetLastBlockAttributeChanges(state) {
2249
2276
  */
2250
2277
  function getReusableBlocks(state) {
2251
2278
  var _state$settings$__exp;
2252
- return (_state$settings$__exp = state?.settings?.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY;
2279
+ return (_state$settings$__exp = state.settings.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY;
2253
2280
  }
2254
2281
 
2255
2282
  /**
@@ -2402,7 +2429,7 @@ const __unstableGetContentLockingParent = (0, _rememo.default)((state, clientId)
2402
2429
  let result;
2403
2430
  while (state.blocks.parents.has(current)) {
2404
2431
  current = state.blocks.parents.get(current);
2405
- if (current && getBlockName(state, current) === 'core/block' && window.__experimentalPatternPartialSyncing || current && getTemplateLock(state, current) === 'contentOnly') {
2432
+ if (current && getBlockName(state, current) === 'core/block' || current && getTemplateLock(state, current) === 'contentOnly') {
2406
2433
  result = current;
2407
2434
  }
2408
2435
  }
@@ -2420,6 +2447,17 @@ exports.__unstableGetContentLockingParent = __unstableGetContentLockingParent;
2420
2447
  function __unstableGetTemporarilyEditingAsBlocks(state) {
2421
2448
  return state.temporarilyEditingAsBlocks;
2422
2449
  }
2450
+
2451
+ /**
2452
+ * DO-NOT-USE in production.
2453
+ * This selector is created for internal/experimental only usage and may be
2454
+ * removed anytime without any warning, causing breakage on any plugin or theme invoking it.
2455
+ *
2456
+ * @param {Object} state Global application state.
2457
+ */
2458
+ function __unstableGetTemporarilyEditingFocusModeToRevert(state) {
2459
+ return state.temporarilyEditingFocusModeRevert;
2460
+ }
2423
2461
  function __unstableHasActiveBlockOverlayActive(state, clientId) {
2424
2462
  // Prevent overlay on blocks with a non-default editing mode. If the mdoe is
2425
2463
  // 'disabled' then the overlay is redundant since the block can't be