@wordpress/block-editor 15.22.1 → 16.0.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 (700) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/build/autocompleters/block.cjs +10 -2
  3. package/build/autocompleters/block.cjs.map +2 -2
  4. package/build/components/background-image-control/index.cjs +0 -2
  5. package/build/components/background-image-control/index.cjs.map +2 -2
  6. package/build/components/block-canvas/index.cjs +6 -1
  7. package/build/components/block-canvas/index.cjs.map +2 -2
  8. package/build/components/block-controls/groups.cjs +3 -1
  9. package/build/components/block-controls/groups.cjs.map +2 -2
  10. package/build/components/block-edit/edit.cjs +10 -18
  11. package/build/components/block-edit/edit.cjs.map +2 -2
  12. package/build/components/block-inspector/edit-contents.cjs +3 -0
  13. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  14. package/build/components/block-inspector/index.cjs +18 -36
  15. package/build/components/block-inspector/index.cjs.map +2 -2
  16. package/build/components/block-list/block-invalid-warning.cjs +8 -19
  17. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  18. package/build/components/block-list/block.cjs +9 -3
  19. package/build/components/block-list/block.cjs.map +3 -3
  20. package/build/components/block-list/index.cjs +1 -3
  21. package/build/components/block-list/index.cjs.map +2 -2
  22. package/build/components/block-list/use-block-props/index.cjs +3 -1
  23. package/build/components/block-list/use-block-props/index.cjs.map +2 -2
  24. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
  25. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  26. package/build/components/block-list/use-block-props/use-focus-handler.cjs +12 -4
  27. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  28. package/build/components/block-styles/use-styles-for-block.cjs +2 -1
  29. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  30. package/build/components/block-title/use-block-display-title.cjs +7 -2
  31. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  32. package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
  33. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  34. package/build/components/block-toolbar/index.cjs +43 -24
  35. package/build/components/block-toolbar/index.cjs.map +2 -2
  36. package/build/components/block-tools/index.cjs +7 -2
  37. package/build/components/block-tools/index.cjs.map +2 -2
  38. package/build/components/block-variation-transforms/index.cjs +0 -1
  39. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  40. package/build/components/block-visibility/modal.cjs +20 -6
  41. package/build/components/block-visibility/modal.cjs.map +2 -2
  42. package/build/components/block-visibility/use-block-visibility.cjs +16 -6
  43. package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
  44. package/build/components/block-visibility/utils.cjs +15 -2
  45. package/build/components/block-visibility/utils.cjs.map +3 -3
  46. package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
  47. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  48. package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
  49. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  50. package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
  51. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  52. package/build/components/child-layout-control/index.cjs +0 -6
  53. package/build/components/child-layout-control/index.cjs.map +2 -2
  54. package/build/components/colors-gradients/control.cjs +5 -5
  55. package/build/components/colors-gradients/control.cjs.map +2 -2
  56. package/build/components/date-format-picker/index.cjs +0 -1
  57. package/build/components/date-format-picker/index.cjs.map +2 -2
  58. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
  59. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
  60. package/build/components/dimensions-tool/scale-tool.cjs +0 -1
  61. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  62. package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
  63. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  64. package/build/components/font-appearance-control/index.cjs +6 -25
  65. package/build/components/font-appearance-control/index.cjs.map +3 -3
  66. package/build/components/font-family/index.cjs +6 -15
  67. package/build/components/font-family/index.cjs.map +3 -3
  68. package/build/components/font-sizes/font-size-picker.cjs +1 -2
  69. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  70. package/build/components/global-styles/border-panel.cjs +0 -1
  71. package/build/components/global-styles/border-panel.cjs.map +2 -2
  72. package/build/components/global-styles/dimensions-panel.cjs +0 -3
  73. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  74. package/build/components/global-styles/state-control-badges.cjs +39 -3
  75. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  76. package/build/components/global-styles/typography-panel.cjs +4 -11
  77. package/build/components/global-styles/typography-panel.cjs.map +2 -2
  78. package/build/components/height-control/index.cjs +0 -2
  79. package/build/components/height-control/index.cjs.map +2 -2
  80. package/build/components/html-element-control/index.cjs +0 -1
  81. package/build/components/html-element-control/index.cjs.map +2 -2
  82. package/build/components/image-editor/index.cjs +5 -0
  83. package/build/components/image-editor/index.cjs.map +3 -3
  84. package/build/components/image-editor/zoom-dropdown.cjs +0 -1
  85. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  86. package/build/components/image-size-control/index.cjs +3 -7
  87. package/build/components/image-size-control/index.cjs.map +2 -2
  88. package/build/components/inner-content/index.cjs +107 -0
  89. package/build/components/inner-content/index.cjs.map +7 -0
  90. package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
  91. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  92. package/build/components/inserter/media-tab/hooks.cjs +67 -12
  93. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  94. package/build/components/inserter/media-tab/media-list.cjs +3 -1
  95. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  96. package/build/components/inserter/media-tab/media-panel.cjs +287 -28
  97. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  98. package/build/components/inserter/media-tab/media-preview.cjs +32 -17
  99. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  100. package/build/components/inserter/media-tab/media-tab.cjs +26 -6
  101. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  102. package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
  103. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  104. package/build/components/inserter/no-results.cjs +2 -2
  105. package/build/components/inserter/no-results.cjs.map +2 -2
  106. package/build/components/inserter/preview-panel.cjs +2 -1
  107. package/build/components/inserter/preview-panel.cjs.map +2 -2
  108. package/build/components/inserter-list-item/index.cjs +8 -2
  109. package/build/components/inserter-list-item/index.cjs.map +2 -2
  110. package/build/components/keyboard-shortcuts/index.cjs +19 -11
  111. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  112. package/build/components/letter-spacing-control/index.cjs +0 -24
  113. package/build/components/letter-spacing-control/index.cjs.map +3 -3
  114. package/build/components/line-height-control/index.cjs +6 -22
  115. package/build/components/line-height-control/index.cjs.map +3 -3
  116. package/build/components/list-view/block-select-button.cjs +90 -84
  117. package/build/components/list-view/block-select-button.cjs.map +2 -2
  118. package/build/components/list-view/block.cjs +61 -21
  119. package/build/components/list-view/block.cjs.map +2 -2
  120. package/build/components/list-view/expander.cjs +1 -1
  121. package/build/components/list-view/expander.cjs.map +2 -2
  122. package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
  123. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  124. package/build/components/media-placeholder/index.cjs +0 -1
  125. package/build/components/media-placeholder/index.cjs.map +2 -2
  126. package/build/components/observe-typing/index.cjs +4 -3
  127. package/build/components/observe-typing/index.cjs.map +2 -2
  128. package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
  129. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  130. package/build/components/preset-input-control/index.cjs +1 -3
  131. package/build/components/preset-input-control/index.cjs.map +2 -2
  132. package/build/components/resolution-tool/index.cjs +1 -2
  133. package/build/components/resolution-tool/index.cjs.map +2 -2
  134. package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
  135. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  136. package/build/components/rich-text/event-listeners/delete.cjs +2 -3
  137. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  138. package/build/components/rich-text/event-listeners/enter.cjs +3 -2
  139. package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
  140. package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
  141. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  142. package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
  143. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  144. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
  145. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  146. package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
  147. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
  148. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
  149. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  150. package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
  151. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  152. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
  153. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  154. package/build/components/rich-text/index.cjs +66 -17
  155. package/build/components/rich-text/index.cjs.map +2 -2
  156. package/build/components/text-alignment-control/index.cjs +0 -1
  157. package/build/components/text-alignment-control/index.cjs.map +2 -2
  158. package/build/components/text-decoration-control/index.cjs +0 -1
  159. package/build/components/text-decoration-control/index.cjs.map +2 -2
  160. package/build/components/text-indent-control/index.cjs +0 -8
  161. package/build/components/text-indent-control/index.cjs.map +2 -2
  162. package/build/components/text-transform-control/index.cjs +0 -1
  163. package/build/components/text-transform-control/index.cjs.map +2 -2
  164. package/build/components/typewriter/index.cjs +129 -136
  165. package/build/components/typewriter/index.cjs.map +3 -3
  166. package/build/components/use-block-commands/index.cjs +21 -17
  167. package/build/components/use-block-commands/index.cjs.map +2 -2
  168. package/build/components/use-block-display-information/index.cjs +10 -8
  169. package/build/components/use-block-display-information/index.cjs.map +2 -2
  170. package/build/components/use-on-block-drop/index.cjs +3 -7
  171. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  172. package/build/components/use-resize-canvas/index.cjs +16 -53
  173. package/build/components/use-resize-canvas/index.cjs.map +3 -3
  174. package/build/components/writing-flow/index.cjs +12 -1
  175. package/build/components/writing-flow/index.cjs.map +3 -3
  176. package/build/components/writing-flow/use-arrow-nav.cjs +18 -5
  177. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  178. package/build/components/writing-flow/use-click-selection.cjs +2 -2
  179. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  180. package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
  181. package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
  182. package/build/components/writing-flow/use-drag-selection.cjs +3 -8
  183. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  184. package/build/components/writing-flow/use-editable-root.cjs +112 -0
  185. package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
  186. package/build/components/writing-flow/use-home-end.cjs +64 -0
  187. package/build/components/writing-flow/use-home-end.cjs.map +7 -0
  188. package/build/components/writing-flow/use-input.cjs +15 -5
  189. package/build/components/writing-flow/use-input.cjs.map +2 -2
  190. package/build/components/writing-flow/use-multi-selection.cjs +2 -2
  191. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  192. package/build/components/writing-flow/use-select-all.cjs +14 -2
  193. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  194. package/build/components/writing-flow/use-selection-observer.cjs +126 -20
  195. package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
  196. package/build/components/writing-flow/utils.cjs +39 -2
  197. package/build/components/writing-flow/utils.cjs.map +2 -2
  198. package/build/components/writing-mode-control/index.cjs +0 -1
  199. package/build/components/writing-mode-control/index.cjs.map +2 -2
  200. package/build/hooks/background.cjs +3 -2
  201. package/build/hooks/background.cjs.map +2 -2
  202. package/build/hooks/block-fields/rich-text/index.cjs +2 -3
  203. package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
  204. package/build/hooks/elements.cjs +1 -1
  205. package/build/hooks/elements.cjs.map +2 -2
  206. package/build/hooks/font-size.cjs +1 -2
  207. package/build/hooks/font-size.cjs.map +2 -2
  208. package/build/hooks/grid-visualizer.cjs +5 -3
  209. package/build/hooks/grid-visualizer.cjs.map +2 -2
  210. package/build/hooks/layout-child.cjs +22 -12
  211. package/build/hooks/layout-child.cjs.map +3 -3
  212. package/build/hooks/layout.cjs +33 -16
  213. package/build/hooks/layout.cjs.map +3 -3
  214. package/build/hooks/position.cjs +36 -16
  215. package/build/hooks/position.cjs.map +2 -2
  216. package/build/hooks/states.cjs +32 -23
  217. package/build/hooks/states.cjs.map +3 -3
  218. package/build/hooks/style.cjs +31 -9
  219. package/build/hooks/style.cjs.map +3 -3
  220. package/build/hooks/text-align.cjs +36 -6
  221. package/build/hooks/text-align.cjs.map +3 -3
  222. package/build/hooks/typography.cjs +1 -1
  223. package/build/hooks/typography.cjs.map +2 -2
  224. package/build/layouts/constrained.cjs +35 -27
  225. package/build/layouts/constrained.cjs.map +2 -2
  226. package/build/layouts/flex.cjs +27 -22
  227. package/build/layouts/flex.cjs.map +2 -2
  228. package/build/layouts/grid.cjs +51 -11
  229. package/build/layouts/grid.cjs.map +2 -2
  230. package/build/private-apis.cjs +4 -2
  231. package/build/private-apis.cjs.map +3 -3
  232. package/build/store/actions.cjs +2 -2
  233. package/build/store/actions.cjs.map +2 -2
  234. package/build/store/private-actions.cjs +16 -0
  235. package/build/store/private-actions.cjs.map +2 -2
  236. package/build/store/private-keys.cjs +3 -3
  237. package/build/store/private-keys.cjs.map +2 -2
  238. package/build/store/private-selectors.cjs +109 -12
  239. package/build/store/private-selectors.cjs.map +3 -3
  240. package/build/store/reducer.cjs +19 -3
  241. package/build/store/reducer.cjs.map +2 -2
  242. package/build/store/selectors.cjs +13 -0
  243. package/build/store/selectors.cjs.map +2 -2
  244. package/build/utils/block-bindings.cjs +29 -0
  245. package/build/utils/block-bindings.cjs.map +2 -2
  246. package/build/utils/dom.cjs +14 -0
  247. package/build/utils/dom.cjs.map +2 -2
  248. package/build-module/autocompleters/block.mjs +10 -2
  249. package/build-module/autocompleters/block.mjs.map +2 -2
  250. package/build-module/components/background-image-control/index.mjs +0 -2
  251. package/build-module/components/background-image-control/index.mjs.map +2 -2
  252. package/build-module/components/block-canvas/index.mjs +7 -2
  253. package/build-module/components/block-canvas/index.mjs.map +2 -2
  254. package/build-module/components/block-controls/groups.mjs +3 -1
  255. package/build-module/components/block-controls/groups.mjs.map +2 -2
  256. package/build-module/components/block-edit/edit.mjs +11 -18
  257. package/build-module/components/block-edit/edit.mjs.map +2 -2
  258. package/build-module/components/block-inspector/edit-contents.mjs +4 -1
  259. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  260. package/build-module/components/block-inspector/index.mjs +18 -36
  261. package/build-module/components/block-inspector/index.mjs.map +2 -2
  262. package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
  263. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  264. package/build-module/components/block-list/block.mjs +9 -3
  265. package/build-module/components/block-list/block.mjs.map +3 -3
  266. package/build-module/components/block-list/index.mjs +1 -3
  267. package/build-module/components/block-list/index.mjs.map +2 -2
  268. package/build-module/components/block-list/use-block-props/index.mjs +3 -1
  269. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  270. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
  271. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  272. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +12 -4
  273. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  274. package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
  275. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  276. package/build-module/components/block-title/use-block-display-title.mjs +7 -2
  277. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  278. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
  279. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  280. package/build-module/components/block-toolbar/index.mjs +43 -24
  281. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  282. package/build-module/components/block-tools/index.mjs +7 -2
  283. package/build-module/components/block-tools/index.mjs.map +2 -2
  284. package/build-module/components/block-variation-transforms/index.mjs +0 -1
  285. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  286. package/build-module/components/block-visibility/modal.mjs +22 -10
  287. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  288. package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
  289. package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
  290. package/build-module/components/block-visibility/utils.mjs +18 -3
  291. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  292. package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
  293. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  294. package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
  295. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  296. package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
  297. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  298. package/build-module/components/child-layout-control/index.mjs +0 -6
  299. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  300. package/build-module/components/colors-gradients/control.mjs +5 -5
  301. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  302. package/build-module/components/date-format-picker/index.mjs +0 -1
  303. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  304. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
  305. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  306. package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
  307. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  308. package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
  309. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  310. package/build-module/components/font-appearance-control/index.mjs +6 -15
  311. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  312. package/build-module/components/font-family/index.mjs +6 -15
  313. package/build-module/components/font-family/index.mjs.map +2 -2
  314. package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
  315. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  316. package/build-module/components/global-styles/border-panel.mjs +0 -1
  317. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  318. package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
  319. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  320. package/build-module/components/global-styles/state-control-badges.mjs +41 -5
  321. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  322. package/build-module/components/global-styles/typography-panel.mjs +4 -11
  323. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  324. package/build-module/components/height-control/index.mjs +0 -2
  325. package/build-module/components/height-control/index.mjs.map +2 -2
  326. package/build-module/components/html-element-control/index.mjs +0 -1
  327. package/build-module/components/html-element-control/index.mjs.map +2 -2
  328. package/build-module/components/image-editor/index.mjs +5 -0
  329. package/build-module/components/image-editor/index.mjs.map +2 -2
  330. package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
  331. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  332. package/build-module/components/image-size-control/index.mjs +3 -7
  333. package/build-module/components/image-size-control/index.mjs.map +2 -2
  334. package/build-module/components/inner-content/index.mjs +82 -0
  335. package/build-module/components/inner-content/index.mjs.map +7 -0
  336. package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
  337. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  338. package/build-module/components/inserter/media-tab/hooks.mjs +66 -12
  339. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  340. package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
  341. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  342. package/build-module/components/inserter/media-tab/media-panel.mjs +297 -32
  343. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  344. package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
  345. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  346. package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
  347. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  348. package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
  349. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  350. package/build-module/components/inserter/no-results.mjs +2 -2
  351. package/build-module/components/inserter/no-results.mjs.map +2 -2
  352. package/build-module/components/inserter/preview-panel.mjs +2 -1
  353. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  354. package/build-module/components/inserter-list-item/index.mjs +8 -2
  355. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  356. package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
  357. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  358. package/build-module/components/letter-spacing-control/index.mjs +0 -14
  359. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  360. package/build-module/components/line-height-control/index.mjs +6 -12
  361. package/build-module/components/line-height-control/index.mjs.map +2 -2
  362. package/build-module/components/list-view/block-select-button.mjs +90 -84
  363. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  364. package/build-module/components/list-view/block.mjs +61 -21
  365. package/build-module/components/list-view/block.mjs.map +2 -2
  366. package/build-module/components/list-view/expander.mjs +1 -1
  367. package/build-module/components/list-view/expander.mjs.map +2 -2
  368. package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
  369. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  370. package/build-module/components/media-placeholder/index.mjs +0 -1
  371. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  372. package/build-module/components/observe-typing/index.mjs +4 -3
  373. package/build-module/components/observe-typing/index.mjs.map +2 -2
  374. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
  375. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  376. package/build-module/components/preset-input-control/index.mjs +1 -3
  377. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  378. package/build-module/components/resolution-tool/index.mjs +1 -2
  379. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  380. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
  381. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  382. package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
  383. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  384. package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
  385. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  386. package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
  387. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  388. package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
  389. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  390. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
  391. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  392. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
  393. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  394. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
  395. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  396. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
  397. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  398. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
  399. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  400. package/build-module/components/rich-text/index.mjs +64 -13
  401. package/build-module/components/rich-text/index.mjs.map +2 -2
  402. package/build-module/components/text-alignment-control/index.mjs +0 -1
  403. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  404. package/build-module/components/text-decoration-control/index.mjs +0 -1
  405. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  406. package/build-module/components/text-indent-control/index.mjs +0 -8
  407. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  408. package/build-module/components/text-transform-control/index.mjs +0 -1
  409. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  410. package/build-module/components/typewriter/index.mjs +129 -136
  411. package/build-module/components/typewriter/index.mjs.map +2 -2
  412. package/build-module/components/use-block-commands/index.mjs +21 -17
  413. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  414. package/build-module/components/use-block-display-information/index.mjs +10 -8
  415. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  416. package/build-module/components/use-on-block-drop/index.mjs +4 -7
  417. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  418. package/build-module/components/use-resize-canvas/index.mjs +6 -53
  419. package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
  420. package/build-module/components/writing-flow/index.mjs +12 -1
  421. package/build-module/components/writing-flow/index.mjs.map +2 -2
  422. package/build-module/components/writing-flow/use-arrow-nav.mjs +19 -6
  423. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  424. package/build-module/components/writing-flow/use-click-selection.mjs +2 -2
  425. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  426. package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
  427. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  428. package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
  429. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  430. package/build-module/components/writing-flow/use-editable-root.mjs +86 -0
  431. package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
  432. package/build-module/components/writing-flow/use-home-end.mjs +43 -0
  433. package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
  434. package/build-module/components/writing-flow/use-input.mjs +15 -5
  435. package/build-module/components/writing-flow/use-input.mjs.map +2 -2
  436. package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
  437. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  438. package/build-module/components/writing-flow/use-select-all.mjs +19 -3
  439. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  440. package/build-module/components/writing-flow/use-selection-observer.mjs +128 -19
  441. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  442. package/build-module/components/writing-flow/utils.mjs +35 -1
  443. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  444. package/build-module/components/writing-mode-control/index.mjs +0 -1
  445. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  446. package/build-module/hooks/background.mjs +3 -2
  447. package/build-module/hooks/background.mjs.map +2 -2
  448. package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
  449. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  450. package/build-module/hooks/elements.mjs +1 -1
  451. package/build-module/hooks/elements.mjs.map +2 -2
  452. package/build-module/hooks/font-size.mjs +1 -2
  453. package/build-module/hooks/font-size.mjs.map +2 -2
  454. package/build-module/hooks/grid-visualizer.mjs +5 -3
  455. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  456. package/build-module/hooks/layout-child.mjs +22 -12
  457. package/build-module/hooks/layout-child.mjs.map +2 -2
  458. package/build-module/hooks/layout.mjs +32 -16
  459. package/build-module/hooks/layout.mjs.map +2 -2
  460. package/build-module/hooks/position.mjs +38 -18
  461. package/build-module/hooks/position.mjs.map +2 -2
  462. package/build-module/hooks/states.mjs +32 -23
  463. package/build-module/hooks/states.mjs.map +2 -2
  464. package/build-module/hooks/style.mjs +40 -11
  465. package/build-module/hooks/style.mjs.map +2 -2
  466. package/build-module/hooks/text-align.mjs +39 -10
  467. package/build-module/hooks/text-align.mjs.map +2 -2
  468. package/build-module/hooks/typography.mjs +1 -1
  469. package/build-module/hooks/typography.mjs.map +2 -2
  470. package/build-module/layouts/constrained.mjs +35 -27
  471. package/build-module/layouts/constrained.mjs.map +2 -2
  472. package/build-module/layouts/flex.mjs +27 -22
  473. package/build-module/layouts/flex.mjs.map +2 -2
  474. package/build-module/layouts/grid.mjs +52 -11
  475. package/build-module/layouts/grid.mjs.map +2 -2
  476. package/build-module/private-apis.mjs +5 -3
  477. package/build-module/private-apis.mjs.map +2 -2
  478. package/build-module/store/actions.mjs +3 -3
  479. package/build-module/store/actions.mjs.map +2 -2
  480. package/build-module/store/private-actions.mjs +14 -0
  481. package/build-module/store/private-actions.mjs.map +2 -2
  482. package/build-module/store/private-keys.mjs +2 -2
  483. package/build-module/store/private-keys.mjs.map +2 -2
  484. package/build-module/store/private-selectors.mjs +106 -12
  485. package/build-module/store/private-selectors.mjs.map +2 -2
  486. package/build-module/store/reducer.mjs +17 -3
  487. package/build-module/store/reducer.mjs.map +2 -2
  488. package/build-module/store/selectors.mjs +13 -0
  489. package/build-module/store/selectors.mjs.map +2 -2
  490. package/build-module/utils/block-bindings.mjs +28 -0
  491. package/build-module/utils/block-bindings.mjs.map +2 -2
  492. package/build-module/utils/dom.mjs +13 -0
  493. package/build-module/utils/dom.mjs.map +2 -2
  494. package/build-style/content-rtl.css +15 -14
  495. package/build-style/content.css +15 -14
  496. package/build-style/default-editor-styles-rtl.css +1 -1
  497. package/build-style/default-editor-styles.css +1 -1
  498. package/build-style/style-rtl.css +144 -47
  499. package/build-style/style.css +144 -47
  500. package/build-types/components/block-context/index.d.ts +7 -0
  501. package/build-types/components/block-context/index.d.ts.map +1 -1
  502. package/build-types/utils/block-bindings.d.ts +19 -0
  503. package/build-types/utils/block-bindings.d.ts.map +1 -1
  504. package/build-types/utils/dom.d.ts +11 -0
  505. package/build-types/utils/dom.d.ts.map +1 -1
  506. package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
  507. package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
  508. package/build-types/utils/pasting.d.ts +1 -1
  509. package/build-types/utils/pasting.d.ts.map +1 -1
  510. package/package.json +46 -44
  511. package/src/autocompleters/block.js +10 -3
  512. package/src/autocompleters/test/block.js +53 -0
  513. package/src/components/background-image-control/index.js +0 -2
  514. package/src/components/block-canvas/index.js +9 -2
  515. package/src/components/block-card/style.scss +1 -1
  516. package/src/components/block-controls/groups.js +2 -0
  517. package/src/components/block-edit/edit.js +13 -31
  518. package/src/components/block-inspector/edit-contents.js +5 -1
  519. package/src/components/block-inspector/index.js +25 -44
  520. package/src/components/block-list/block-invalid-warning.js +8 -19
  521. package/src/components/block-list/block.js +6 -0
  522. package/src/components/block-list/index.js +0 -2
  523. package/src/components/block-list/use-block-props/index.js +2 -0
  524. package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
  525. package/src/components/block-list/use-block-props/use-focus-handler.js +34 -9
  526. package/src/components/block-lock/style.scss +1 -1
  527. package/src/components/block-manager/style.scss +1 -1
  528. package/src/components/block-navigation/style.scss +1 -1
  529. package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
  530. package/src/components/block-quick-navigation/style.scss +1 -3
  531. package/src/components/block-styles/style.scss +2 -2
  532. package/src/components/block-styles/use-styles-for-block.js +1 -0
  533. package/src/components/block-title/use-block-display-title.js +7 -2
  534. package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
  535. package/src/components/block-toolbar/index.js +41 -18
  536. package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
  537. package/src/components/block-tools/index.js +7 -0
  538. package/src/components/block-types-list/style.scss +0 -1
  539. package/src/components/block-variation-transforms/index.js +0 -1
  540. package/src/components/block-visibility/modal.js +24 -10
  541. package/src/components/block-visibility/style.scss +1 -1
  542. package/src/components/block-visibility/test/use-block-visibility.js +128 -35
  543. package/src/components/block-visibility/test/utils.js +11 -0
  544. package/src/components/block-visibility/use-block-visibility.js +33 -11
  545. package/src/components/block-visibility/utils.js +31 -6
  546. package/src/components/block-visibility/viewport-menu-item.js +10 -1
  547. package/src/components/block-visibility/viewport-toolbar.js +6 -0
  548. package/src/components/block-visibility/viewport-visibility-info.js +5 -1
  549. package/src/components/button-block-appender/content.scss +1 -7
  550. package/src/components/child-layout-control/index.js +0 -6
  551. package/src/components/color-palette/test/__snapshots__/control.js.snap +13 -108
  552. package/src/components/colors-gradients/control.js +4 -4
  553. package/src/components/colors-gradients/style.scss +2 -2
  554. package/src/components/date-format-picker/index.js +0 -1
  555. package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
  556. package/src/components/dimensions-tool/scale-tool.js +0 -1
  557. package/src/components/dimensions-tool/width-height-tool.js +0 -2
  558. package/src/components/font-appearance-control/index.js +6 -19
  559. package/src/components/font-family/README.md +0 -9
  560. package/src/components/font-family/index.js +6 -19
  561. package/src/components/font-family/stories/index.story.jsx +1 -2
  562. package/src/components/font-sizes/font-size-picker.js +0 -1
  563. package/src/components/global-styles/border-panel.js +0 -1
  564. package/src/components/global-styles/dimensions-panel.js +0 -3
  565. package/src/components/global-styles/state-control-badges.js +45 -6
  566. package/src/components/global-styles/style.scss +5 -0
  567. package/src/components/global-styles/test/state-control-badges.js +65 -0
  568. package/src/components/global-styles/typography-panel.js +0 -7
  569. package/src/components/height-control/index.js +0 -2
  570. package/src/components/html-element-control/index.js +0 -1
  571. package/src/components/iframe/content.scss +3 -3
  572. package/src/components/image-editor/index.js +22 -0
  573. package/src/components/image-editor/zoom-dropdown.js +0 -1
  574. package/src/components/image-size-control/index.js +0 -4
  575. package/src/components/inner-content/index.js +119 -0
  576. package/src/components/inner-content/test/index.js +81 -0
  577. package/src/components/inserter/hooks/use-block-types-state.js +10 -2
  578. package/src/components/inserter/media-tab/hooks.js +114 -16
  579. package/src/components/inserter/media-tab/media-list.js +2 -0
  580. package/src/components/inserter/media-tab/media-panel.js +354 -19
  581. package/src/components/inserter/media-tab/media-preview.js +34 -17
  582. package/src/components/inserter/media-tab/media-tab.js +20 -2
  583. package/src/components/inserter/media-tab/test/hooks.js +267 -0
  584. package/src/components/inserter/media-tab/test/media-panel.js +127 -0
  585. package/src/components/inserter/mobile-tab-navigation.js +6 -1
  586. package/src/components/inserter/no-results.js +2 -2
  587. package/src/components/inserter/preview-panel.js +1 -0
  588. package/src/components/inserter/style.scss +115 -3
  589. package/src/components/inserter-list-item/index.js +8 -2
  590. package/src/components/inserter-list-item/style.scss +0 -15
  591. package/src/components/keyboard-shortcuts/index.js +28 -11
  592. package/src/components/letter-spacing-control/README.md +0 -8
  593. package/src/components/letter-spacing-control/index.js +5 -23
  594. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
  595. package/src/components/line-height-control/README.md +0 -8
  596. package/src/components/line-height-control/index.js +6 -16
  597. package/src/components/line-height-control/stories/index.story.jsx +0 -1
  598. package/src/components/line-height-control/test/index.js +1 -7
  599. package/src/components/link-control/style.scss +2 -2
  600. package/src/components/link-control/test/index.js +6 -6
  601. package/src/components/link-picker/style.scss +1 -2
  602. package/src/components/link-picker/test/index.js +3 -1
  603. package/src/components/list-view/block-select-button.js +5 -1
  604. package/src/components/list-view/block.js +69 -23
  605. package/src/components/list-view/expander.js +5 -1
  606. package/src/components/list-view/style.scss +23 -5
  607. package/src/components/list-view/use-list-view-client-ids.js +2 -2
  608. package/src/components/media-placeholder/index.js +0 -1
  609. package/src/components/multi-selection-inspector/style.scss +1 -1
  610. package/src/components/observe-typing/index.js +9 -4
  611. package/src/components/preset-input-control/custom-value-controls.js +0 -2
  612. package/src/components/preset-input-control/index.js +0 -2
  613. package/src/components/resolution-tool/index.js +0 -1
  614. package/src/components/responsive-block-control/style.scss +1 -1
  615. package/src/components/responsive-block-control/test/index.js +1 -5
  616. package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
  617. package/src/components/rich-text/event-listeners/delete.js +7 -4
  618. package/src/components/rich-text/event-listeners/enter.js +10 -4
  619. package/src/components/rich-text/event-listeners/input-events.js +4 -3
  620. package/src/components/rich-text/event-listeners/input-rules.js +8 -5
  621. package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
  622. package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
  623. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
  624. package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
  625. package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
  626. package/src/components/rich-text/index.js +94 -25
  627. package/src/components/skip-to-selected-block/style.scss +1 -1
  628. package/src/components/text-alignment-control/index.js +0 -1
  629. package/src/components/text-decoration-control/index.js +0 -1
  630. package/src/components/text-indent-control/index.js +7 -16
  631. package/src/components/text-transform-control/index.js +0 -1
  632. package/src/components/typewriter/index.js +228 -224
  633. package/src/components/use-block-commands/index.js +27 -17
  634. package/src/components/use-block-display-information/index.js +9 -13
  635. package/src/components/use-block-display-information/test/index.js +47 -9
  636. package/src/components/use-on-block-drop/index.js +4 -7
  637. package/src/components/use-resize-canvas/index.js +10 -71
  638. package/src/components/writing-flow/index.js +15 -1
  639. package/src/components/writing-flow/use-arrow-nav.js +39 -12
  640. package/src/components/writing-flow/use-click-selection.js +2 -3
  641. package/src/components/writing-flow/use-clipboard-handler.js +5 -2
  642. package/src/components/writing-flow/use-drag-selection.js +1 -14
  643. package/src/components/writing-flow/use-editable-root.js +182 -0
  644. package/src/components/writing-flow/use-home-end.js +63 -0
  645. package/src/components/writing-flow/use-input.js +25 -8
  646. package/src/components/writing-flow/use-multi-selection.js +2 -3
  647. package/src/components/writing-flow/use-select-all.js +33 -3
  648. package/src/components/writing-flow/use-selection-observer.js +197 -38
  649. package/src/components/writing-flow/utils.js +83 -0
  650. package/src/components/writing-mode-control/index.js +0 -1
  651. package/src/hooks/background.js +7 -9
  652. package/src/hooks/block-fields/link/styles.scss +1 -6
  653. package/src/hooks/block-fields/media/styles.scss +1 -6
  654. package/src/hooks/block-fields/rich-text/index.js +6 -9
  655. package/src/hooks/block-hooks.scss +15 -0
  656. package/src/hooks/elements.js +0 -1
  657. package/src/hooks/font-size.js +0 -1
  658. package/src/hooks/grid-visualizer.js +40 -36
  659. package/src/hooks/layout-child.js +19 -9
  660. package/src/hooks/layout.js +53 -35
  661. package/src/hooks/position.js +44 -23
  662. package/src/hooks/states.js +55 -28
  663. package/src/hooks/style.js +67 -17
  664. package/src/hooks/test/cross-origin-isolation.js +0 -4
  665. package/src/hooks/test/layout.js +75 -1
  666. package/src/hooks/test/style.js +29 -0
  667. package/src/hooks/test/text-align.js +34 -1
  668. package/src/hooks/text-align.js +41 -10
  669. package/src/hooks/typography.js +0 -1
  670. package/src/layouts/constrained.js +56 -29
  671. package/src/layouts/flex.js +5 -4
  672. package/src/layouts/grid.js +59 -9
  673. package/src/layouts/test/constrained.js +91 -0
  674. package/src/layouts/test/grid.js +71 -0
  675. package/src/private-apis.js +4 -2
  676. package/src/store/actions.js +43 -14
  677. package/src/store/private-actions.js +31 -0
  678. package/src/store/private-keys.js +1 -1
  679. package/src/store/private-selectors.js +209 -16
  680. package/src/store/reducer.js +37 -2
  681. package/src/store/selectors.js +41 -0
  682. package/src/store/test/actions.js +1 -1
  683. package/src/store/test/private-selectors.js +547 -10
  684. package/src/store/test/reducer.js +41 -13
  685. package/src/store/test/selectors.js +133 -0
  686. package/src/style.scss +1 -0
  687. package/src/utils/block-bindings.ts +50 -0
  688. package/src/utils/dom.ts +33 -0
  689. package/src/utils/test/block-bindings.js +181 -0
  690. package/build/components/rich-text/input-event.cjs +0 -50
  691. package/build/components/rich-text/input-event.cjs.map +0 -7
  692. package/build/components/rich-text/shortcut.cjs +0 -51
  693. package/build/components/rich-text/shortcut.cjs.map +0 -7
  694. package/build-module/components/rich-text/input-event.mjs +0 -25
  695. package/build-module/components/rich-text/input-event.mjs.map +0 -7
  696. package/build-module/components/rich-text/shortcut.mjs +0 -26
  697. package/build-module/components/rich-text/shortcut.mjs.map +0 -7
  698. package/src/components/rich-text/input-event.js +0 -31
  699. package/src/components/rich-text/shortcut.js +0 -32
  700. package/src/components/use-resize-canvas/README.md +0 -37
@@ -43,6 +43,7 @@ import {
43
43
  withDerivedBlockEditingModes,
44
44
  viewportModalClientIds,
45
45
  selectedBlockStyleState,
46
+ styleStateViewport,
46
47
  } from '../reducer';
47
48
  import { getBlockOrder, getBlocks } from '../selectors';
48
49
  import { unlock } from '../../lock-unlock';
@@ -834,7 +835,7 @@ describe( 'state', () => {
834
835
  blocks: [
835
836
  {
836
837
  clientId: 'ribs',
837
- name: 'core/freeform',
838
+ name: 'core/registered-block',
838
839
  innerBlocks: [],
839
840
  },
840
841
  ],
@@ -880,7 +881,7 @@ describe( 'state', () => {
880
881
  blocks: [
881
882
  {
882
883
  clientId: 'wings',
883
- name: 'core/freeform',
884
+ name: 'core/registered-block',
884
885
  innerBlocks: [],
885
886
  },
886
887
  ],
@@ -888,7 +889,7 @@ describe( 'state', () => {
888
889
 
889
890
  expect( state.byClientId.size ).toBe( 1 );
890
891
  expect( state.byClientId.get( 'wings' ).name ).toBe(
891
- 'core/freeform'
892
+ 'core/registered-block'
892
893
  );
893
894
  expect( state.byClientId.get( 'wings' ).clientId ).toBe( 'wings' );
894
895
  expect( Object.fromEntries( state.order ) ).toEqual( {
@@ -903,7 +904,7 @@ describe( 'state', () => {
903
904
  );
904
905
  expect( state.tree.get( 'wings' ) ).toEqual( {
905
906
  clientId: 'wings',
906
- name: 'core/freeform',
907
+ name: 'core/registered-block',
907
908
  innerBlocks: [],
908
909
  } );
909
910
  } );
@@ -955,7 +956,7 @@ describe( 'state', () => {
955
956
  blocks: [
956
957
  {
957
958
  clientId: 'wings',
958
- name: 'core/freeform',
959
+ name: 'core/registered-block',
959
960
  innerBlocks: [],
960
961
  },
961
962
  ],
@@ -974,7 +975,7 @@ describe( 'state', () => {
974
975
  );
975
976
  expect( state.tree.get( 'wings' ) ).toEqual( {
976
977
  clientId: 'wings',
977
- name: 'core/freeform',
978
+ name: 'core/registered-block',
978
979
  innerBlocks: [],
979
980
  } );
980
981
  } );
@@ -1037,7 +1038,7 @@ describe( 'state', () => {
1037
1038
  blocks: [
1038
1039
  {
1039
1040
  clientId: 'chicken',
1040
- name: 'core/freeform',
1041
+ name: 'core/registered-block',
1041
1042
  innerBlocks: [],
1042
1043
  },
1043
1044
  ],
@@ -1048,7 +1049,7 @@ describe( 'state', () => {
1048
1049
  'core/test-block'
1049
1050
  );
1050
1051
  expect( replacedState.byClientId.get( 'chicken' ).name ).toBe(
1051
- 'core/freeform'
1052
+ 'core/registered-block'
1052
1053
  );
1053
1054
  expect( replacedState.byClientId.get( 'chicken' ).clientId ).toBe(
1054
1055
  'chicken'
@@ -1072,7 +1073,7 @@ describe( 'state', () => {
1072
1073
  ] );
1073
1074
  const replacementNestedBlock = {
1074
1075
  clientId: 'chicken',
1075
- name: 'core/freeform',
1076
+ name: 'core/registered-block',
1076
1077
  attributes: {},
1077
1078
  innerBlocks: [],
1078
1079
  };
@@ -1098,7 +1099,7 @@ describe( 'state', () => {
1098
1099
  'core/test-block'
1099
1100
  );
1100
1101
  expect( replacedNestedState.byClientId.get( 'chicken' ).name ).toBe(
1101
- 'core/freeform'
1102
+ 'core/registered-block'
1102
1103
  );
1103
1104
  } );
1104
1105
 
@@ -1603,7 +1604,7 @@ describe( 'state', () => {
1603
1604
  blocks: [
1604
1605
  {
1605
1606
  clientId: 'persimmon',
1606
- name: 'core/freeform',
1607
+ name: 'core/registered-block',
1607
1608
  innerBlocks: [],
1608
1609
  },
1609
1610
  ],
@@ -5948,7 +5949,6 @@ describe( 'state', () => {
5948
5949
  clientId: 'client-1',
5949
5950
  showStateOnCanvas: true,
5950
5951
  value: {
5951
- viewport: 'default',
5952
5952
  pseudo: ':hover',
5953
5953
  },
5954
5954
  } );
@@ -5994,7 +5994,6 @@ describe( 'state', () => {
5994
5994
  clientId: 'client-2',
5995
5995
  showStateOnCanvas: true,
5996
5996
  value: {
5997
- viewport: 'default',
5998
5997
  pseudo: ':focus',
5999
5998
  },
6000
5999
  } );
@@ -6275,6 +6274,35 @@ describe( 'state', () => {
6275
6274
  } );
6276
6275
  } );
6277
6276
 
6277
+ describe( 'styleStateViewport', () => {
6278
+ it( 'defaults to "default"', () => {
6279
+ expect( styleStateViewport( undefined, {} ) ).toBe( 'default' );
6280
+ } );
6281
+
6282
+ it( 'stores the selected viewport', () => {
6283
+ expect(
6284
+ styleStateViewport( 'default', {
6285
+ type: 'SET_STYLE_STATE_VIEWPORT',
6286
+ viewport: '@tablet',
6287
+ } )
6288
+ ).toBe( '@tablet' );
6289
+ } );
6290
+
6291
+ it( 'falls back to "default" when no viewport is provided', () => {
6292
+ expect(
6293
+ styleStateViewport( '@tablet', {
6294
+ type: 'SET_STYLE_STATE_VIEWPORT',
6295
+ } )
6296
+ ).toBe( 'default' );
6297
+ } );
6298
+
6299
+ it( 'ignores unrelated actions', () => {
6300
+ expect(
6301
+ styleStateViewport( '@mobile', { type: 'SOME_OTHER_ACTION' } )
6302
+ ).toBe( '@mobile' );
6303
+ } );
6304
+ } );
6305
+
6278
6306
  describe( 'viewportModalClientIds', () => {
6279
6307
  it( 'should default to null', () => {
6280
6308
  const state = viewportModalClientIds( undefined, {} );
@@ -7,6 +7,8 @@ import {
7
7
  setFreeformContentHandlerName,
8
8
  setDefaultBlockName,
9
9
  getDefaultBlockName,
10
+ createBlock,
11
+ createBlocksFromInnerBlocksTemplate,
10
12
  } from '@wordpress/blocks';
11
13
  import { RawHTML } from '@wordpress/element';
12
14
  import { symbol } from '@wordpress/icons';
@@ -3657,6 +3659,54 @@ describe( 'selectors', () => {
3657
3659
  } );
3658
3660
  } );
3659
3661
 
3662
+ it( 'surfaces innerContent on a block variation inserter item', () => {
3663
+ registerBlockType( 'core/html', {
3664
+ apiVersion: 3,
3665
+ save: () => null,
3666
+ category: 'widgets',
3667
+ title: 'Custom HTML',
3668
+ variations: [
3669
+ {
3670
+ name: 'card',
3671
+ title: 'Card',
3672
+ innerContent: [ '<div class="card">', null, '</div>' ],
3673
+ innerBlocks: [ [ 'core/test-block-a' ] ],
3674
+ },
3675
+ ],
3676
+ } );
3677
+
3678
+ const items = select( store ).getInserterItems();
3679
+ const variationItem = items.find(
3680
+ ( item ) => item.id === 'core/html/card'
3681
+ );
3682
+
3683
+ expect( variationItem.innerContent ).toEqual( [
3684
+ '<div class="card">',
3685
+ null,
3686
+ '</div>',
3687
+ ] );
3688
+
3689
+ // Replicate how `useBlockTypesState` builds the block on insert,
3690
+ // to guard the full path from variation to created block.
3691
+ const block = createBlock(
3692
+ variationItem.name,
3693
+ variationItem.initialAttributes,
3694
+ createBlocksFromInnerBlocksTemplate(
3695
+ variationItem.innerBlocks
3696
+ ),
3697
+ variationItem.innerContent
3698
+ );
3699
+ expect( block.innerContent ).toEqual( [
3700
+ '<div class="card">',
3701
+ null,
3702
+ '</div>',
3703
+ ] );
3704
+ expect( block.innerBlocks ).toHaveLength( 1 );
3705
+ expect( block.innerBlocks[ 0 ].name ).toBe( 'core/test-block-a' );
3706
+
3707
+ unregisterBlockType( 'core/html' );
3708
+ } );
3709
+
3660
3710
  it( 'should correctly cache the return values', async () => {
3661
3711
  await dispatch( store ).updateSettings( {
3662
3712
  __experimentalReusableBlocks: [
@@ -4802,6 +4852,89 @@ describe( 'selectors', () => {
4802
4852
  } );
4803
4853
  } );
4804
4854
 
4855
+ describe( 'static inner content (Custom HTML block)', () => {
4856
+ beforeEach( () => {
4857
+ registerBlockType( 'core/html', {
4858
+ apiVersion: 3,
4859
+ save: () => null,
4860
+ category: 'text',
4861
+ title: 'Custom HTML',
4862
+ icon: 'test',
4863
+ } );
4864
+ } );
4865
+
4866
+ afterEach( () => {
4867
+ unregisterBlockType( 'core/html' );
4868
+ } );
4869
+
4870
+ // The Custom HTML block parent with a child container, which has a
4871
+ // child of its own. The direct child is fixed in place; the grandchild
4872
+ // is regular, fully editable content.
4873
+ const buildState = () => ( {
4874
+ blocks: {
4875
+ byClientId: new Map(
4876
+ Object.entries( {
4877
+ parent: { name: 'core/html' },
4878
+ child: { name: 'core/test-block-b' },
4879
+ grandchild: { name: 'core/test-block-b' },
4880
+ } )
4881
+ ),
4882
+ attributes: new Map(
4883
+ Object.entries( {
4884
+ parent: {},
4885
+ child: {},
4886
+ grandchild: {},
4887
+ } )
4888
+ ),
4889
+ parents: new Map(
4890
+ Object.entries( {
4891
+ parent: '',
4892
+ child: 'parent',
4893
+ grandchild: 'child',
4894
+ } )
4895
+ ),
4896
+ order: new Map( [
4897
+ [ '', [ 'parent' ] ],
4898
+ [ 'parent', [ 'child' ] ],
4899
+ [ 'child', [ 'grandchild' ] ],
4900
+ ] ),
4901
+ blockEditingModes: new Map(),
4902
+ },
4903
+ blockListSettings: new Map( [
4904
+ [ 'parent', {} ],
4905
+ [ 'child', {} ],
4906
+ ] ),
4907
+ settings: {},
4908
+ derivedBlockEditingModes: new Map(),
4909
+ } );
4910
+
4911
+ it( 'prevents removing a direct child', () => {
4912
+ expect( canRemoveBlock( buildState(), 'child' ) ).toBe( false );
4913
+ } );
4914
+
4915
+ it( 'prevents moving a direct child', () => {
4916
+ expect( canMoveBlock( buildState(), 'child' ) ).toBe( false );
4917
+ } );
4918
+
4919
+ it( 'prevents insertion into the inner content root', () => {
4920
+ expect(
4921
+ canInsertBlockType(
4922
+ buildState(),
4923
+ 'core/test-block-b',
4924
+ 'parent'
4925
+ )
4926
+ ).toBe( false );
4927
+ } );
4928
+
4929
+ it( 'does not cascade to deeper descendants', () => {
4930
+ expect( canRemoveBlock( buildState(), 'grandchild' ) ).toBe( true );
4931
+ expect( canMoveBlock( buildState(), 'grandchild' ) ).toBe( true );
4932
+ expect(
4933
+ canInsertBlockType( buildState(), 'core/test-block-b', 'child' )
4934
+ ).toBe( true );
4935
+ } );
4936
+ } );
4937
+
4805
4938
  describe( 'canMoveBlock', () => {
4806
4939
  it( 'allows moving within a non-section contentOnly container', () => {
4807
4940
  // When the parent has contentOnly editing mode but is NOT
package/src/style.scss CHANGED
@@ -30,6 +30,7 @@
30
30
  @use "./components/border-radius-control/style.scss" as *;
31
31
  @use "./components/colors-gradients/style.scss" as *;
32
32
  @use "./components/date-format-picker/style.scss" as *;
33
+ @use "./components/dimension-control/style.scss" as *;
33
34
  @use "./components/duotone-control/style.scss" as *;
34
35
  @use "./components/fit-text-size-warning/style.scss" as *;
35
36
  @use "./components/font-appearance-control/style.scss" as *;
@@ -1,8 +1,58 @@
1
1
  type Binding = { source?: string };
2
2
  type Bindings = Record< string, Binding >;
3
+ type BlockBindingsSource = { usesContext?: readonly string[] };
3
4
 
4
5
  const DEFAULT_ATTRIBUTE = '__default';
5
6
  const PATTERN_OVERRIDES_SOURCE = 'core/pattern-overrides';
7
+ const EMPTY_CONTEXT: Record< string, unknown > = {};
8
+
9
+ /**
10
+ * Assembles the context made available to a block's bindings sources: the
11
+ * entries of the surrounding block context declared by the block type's
12
+ * `usesContext`, plus the entries declared by the given sources' `usesContext`.
13
+ *
14
+ * Only entries present in the surrounding block context are copied — a
15
+ * declared key with no provider never becomes an own (undefined-valued) key
16
+ * of the result, so `key in context` checks stay meaningful.
17
+ *
18
+ * @param blockContext The surrounding block context.
19
+ * @param blockTypeUsesContext The block type's declared context needs.
20
+ * @param sources Block-bindings sources whose declared context to add.
21
+ *
22
+ * @return The context for resolving the block's bindings.
23
+ */
24
+ export function getBlockBindingsContext(
25
+ blockContext: Record< string, unknown >,
26
+ blockTypeUsesContext: readonly string[] | undefined,
27
+ sources: readonly ( BlockBindingsSource | undefined )[] | undefined
28
+ ): Record< string, unknown > {
29
+ let context: Record< string, unknown > | undefined;
30
+ if ( blockTypeUsesContext ) {
31
+ for ( const [ key, value ] of Object.entries( blockContext ) ) {
32
+ if ( blockTypeUsesContext.includes( key ) ) {
33
+ if ( context === undefined ) {
34
+ context = {};
35
+ }
36
+ context[ key ] = value;
37
+ }
38
+ }
39
+ }
40
+ if ( sources ) {
41
+ for ( const source of sources ) {
42
+ source?.usesContext?.forEach( ( key ) => {
43
+ if ( key in blockContext ) {
44
+ if ( context === undefined ) {
45
+ context = {};
46
+ }
47
+ context[ key ] = blockContext[ key ];
48
+ }
49
+ } );
50
+ }
51
+ }
52
+ // A stable empty object avoids re-renders for consumers that compare the
53
+ // context by reference.
54
+ return context ?? EMPTY_CONTEXT;
55
+ }
6
56
 
7
57
  /**
8
58
  * Checks if the block has the `__default` binding for pattern overrides.
package/src/utils/dom.ts CHANGED
@@ -31,6 +31,39 @@ export function isInsideRootBlock( blockElement: Element, element: Element ) {
31
31
  return parentBlock === blockElement;
32
32
  }
33
33
 
34
+ /**
35
+ * Returns the editable element containing the selection, if the selection is
36
+ * fully contained within one. The root element (an editable wrapper) does not
37
+ * count as a containing editable element.
38
+ *
39
+ * @param selection The selection.
40
+ * @param root The editable wrapper element.
41
+ *
42
+ * @return The editable element containing the selection.
43
+ */
44
+ export function getSelectionEditableElement(
45
+ selection: Selection,
46
+ root: Element
47
+ ) {
48
+ const { anchorNode, focusNode } = selection;
49
+
50
+ if ( ! anchorNode || ! focusNode ) {
51
+ return;
52
+ }
53
+
54
+ const element =
55
+ anchorNode.nodeType === anchorNode.ELEMENT_NODE
56
+ ? ( anchorNode as Element )
57
+ : anchorNode.parentElement;
58
+ const editable = element?.closest( '[contenteditable="true"]' );
59
+
60
+ if ( ! editable || editable === root || ! editable.contains( focusNode ) ) {
61
+ return;
62
+ }
63
+
64
+ return editable;
65
+ }
66
+
34
67
  /**
35
68
  * Finds the block client ID given any DOM node inside the block.
36
69
  *
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import {
5
+ getBlockBindingsContext,
6
+ hasPatternOverridesDefaultBinding,
7
+ replacePatternOverridesDefaultBinding,
8
+ } from '../block-bindings';
9
+
10
+ describe( 'hasPatternOverridesDefaultBinding', () => {
11
+ it( 'returns true when the `__default` binding targets pattern overrides', () => {
12
+ expect(
13
+ hasPatternOverridesDefaultBinding( {
14
+ __default: { source: 'core/pattern-overrides' },
15
+ } )
16
+ ).toBe( true );
17
+ } );
18
+
19
+ it( 'returns false when there is no `__default` binding', () => {
20
+ expect(
21
+ hasPatternOverridesDefaultBinding( {
22
+ content: { source: 'core/pattern-overrides' },
23
+ } )
24
+ ).toBe( false );
25
+ } );
26
+
27
+ it( 'returns false when the `__default` binding targets another source', () => {
28
+ expect(
29
+ hasPatternOverridesDefaultBinding( {
30
+ __default: { source: 'core/post-meta' },
31
+ } )
32
+ ).toBe( false );
33
+ } );
34
+
35
+ it( 'returns false for undefined bindings', () => {
36
+ expect( hasPatternOverridesDefaultBinding( undefined ) ).toBe( false );
37
+ } );
38
+ } );
39
+
40
+ describe( 'replacePatternOverridesDefaultBinding', () => {
41
+ it( 'expands `__default` to a binding for each supported attribute', () => {
42
+ const result = replacePatternOverridesDefaultBinding(
43
+ { __default: { source: 'core/pattern-overrides' } },
44
+ [ 'content', 'url', 'alt' ]
45
+ );
46
+
47
+ expect( result ).toEqual( {
48
+ content: { source: 'core/pattern-overrides' },
49
+ url: { source: 'core/pattern-overrides' },
50
+ alt: { source: 'core/pattern-overrides' },
51
+ } );
52
+ } );
53
+
54
+ it( 'retains explicit non-pattern-override bindings while expanding `__default`', () => {
55
+ const result = replacePatternOverridesDefaultBinding(
56
+ {
57
+ __default: { source: 'core/pattern-overrides' },
58
+ url: { source: 'core/post-meta', args: { key: 'my_url' } },
59
+ },
60
+ [ 'content', 'url' ]
61
+ );
62
+
63
+ expect( result ).toEqual( {
64
+ content: { source: 'core/pattern-overrides' },
65
+ url: { source: 'core/post-meta', args: { key: 'my_url' } },
66
+ } );
67
+ } );
68
+
69
+ it( 'returns the bindings untouched when there is no `__default` pattern-override binding', () => {
70
+ const bindings = { content: { source: 'core/pattern-overrides' } };
71
+
72
+ expect(
73
+ replacePatternOverridesDefaultBinding( bindings, [ 'content' ] )
74
+ ).toBe( bindings );
75
+ } );
76
+
77
+ // Regression guard: the `__default` expansion only iterates the block
78
+ // type's supported *attributes*, so it can never synthesize an
79
+ // `innerBlocks` binding. Existing `__default` pattern-override blocks
80
+ // must not implicitly gain an inner-block binding.
81
+ it( 'never synthesizes an `innerBlocks` binding when expanding `__default`', () => {
82
+ // A realistic set of supported *attribute* names — `innerBlocks` is not
83
+ // an attribute and is therefore never present here.
84
+ const supportedAttributes = [ 'content', 'url', 'alt', 'title' ];
85
+
86
+ const result = replacePatternOverridesDefaultBinding(
87
+ { __default: { source: 'core/pattern-overrides' } },
88
+ supportedAttributes
89
+ );
90
+
91
+ // Every produced binding key corresponds to a supported attribute…
92
+ expect( Object.keys( result ) ).toEqual( supportedAttributes );
93
+ // …and `innerBlocks` is never among them.
94
+ expect( result ).not.toHaveProperty( 'innerBlocks' );
95
+ } );
96
+
97
+ it( 'does not add an `innerBlocks` binding even when supportedAttributes is empty', () => {
98
+ const result = replacePatternOverridesDefaultBinding(
99
+ { __default: { source: 'core/pattern-overrides' } },
100
+ []
101
+ );
102
+
103
+ expect( result ).toEqual( {} );
104
+ expect( result ).not.toHaveProperty( 'innerBlocks' );
105
+ } );
106
+ } );
107
+
108
+ describe( 'getBlockBindingsContext', () => {
109
+ const blockContext = {
110
+ postId: 1,
111
+ postType: 'post',
112
+ 'pattern/overrides': { content: 'x' },
113
+ };
114
+
115
+ it( 'copies the block-type-declared entries present in the block context', () => {
116
+ expect(
117
+ getBlockBindingsContext(
118
+ blockContext,
119
+ [ 'postId', 'postType' ],
120
+ undefined
121
+ )
122
+ ).toEqual( { postId: 1, postType: 'post' } );
123
+ } );
124
+
125
+ it( 'omits block-type-declared keys absent from the block context', () => {
126
+ const result = getBlockBindingsContext(
127
+ blockContext,
128
+ [ 'postId', 'core/missing' ],
129
+ undefined
130
+ );
131
+
132
+ expect( result ).toEqual( { postId: 1 } );
133
+ // The declared-but-unprovided key must not become an own
134
+ // (undefined-valued) key, so `key in context` checks stay meaningful.
135
+ expect( result ).not.toHaveProperty( 'core/missing' );
136
+ } );
137
+
138
+ it( 'adds source-declared entries present in the block context', () => {
139
+ expect(
140
+ getBlockBindingsContext(
141
+ blockContext,
142
+ [ 'postId' ],
143
+ [
144
+ { usesContext: [ 'pattern/overrides' ] },
145
+ { usesContext: [ 'postType' ] },
146
+ ]
147
+ )
148
+ ).toEqual( {
149
+ postId: 1,
150
+ postType: 'post',
151
+ 'pattern/overrides': { content: 'x' },
152
+ } );
153
+ } );
154
+
155
+ it( 'omits source-declared keys absent from the block context', () => {
156
+ const result = getBlockBindingsContext( blockContext, undefined, [
157
+ { usesContext: [ 'core/missing' ] },
158
+ ] );
159
+
160
+ expect( result ).toEqual( {} );
161
+ expect( result ).not.toHaveProperty( 'core/missing' );
162
+ } );
163
+
164
+ it( 'ignores unregistered (undefined) sources and sources without usesContext', () => {
165
+ expect(
166
+ getBlockBindingsContext( blockContext, undefined, [
167
+ undefined,
168
+ {},
169
+ { usesContext: [ 'postId' ] },
170
+ ] )
171
+ ).toEqual( { postId: 1 } );
172
+ } );
173
+
174
+ it( 'returns a stable empty object when nothing is declared', () => {
175
+ const first = getBlockBindingsContext( blockContext, undefined, [] );
176
+ const second = getBlockBindingsContext( blockContext, [], undefined );
177
+
178
+ expect( first ).toEqual( {} );
179
+ expect( second ).toBe( first );
180
+ } );
181
+ } );
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // packages/block-editor/src/components/rich-text/input-event.js
21
- var input_event_exports = {};
22
- __export(input_event_exports, {
23
- RichTextInputEvent: () => RichTextInputEvent
24
- });
25
- module.exports = __toCommonJS(input_event_exports);
26
- var import_element = require("@wordpress/element");
27
- var import__ = require("./index.cjs");
28
- function RichTextInputEvent({ inputType, onInput }) {
29
- const callbacks = (0, import_element.useContext)(import__.inputEventContext);
30
- const onInputRef = (0, import_element.useRef)();
31
- onInputRef.current = onInput;
32
- (0, import_element.useEffect)(() => {
33
- function callback(event) {
34
- if (event.inputType === inputType) {
35
- onInputRef.current();
36
- event.preventDefault();
37
- }
38
- }
39
- callbacks.current.add(callback);
40
- return () => {
41
- callbacks.current.delete(callback);
42
- };
43
- }, [inputType]);
44
- return null;
45
- }
46
- // Annotate the CommonJS export names for ESM import in node:
47
- 0 && (module.exports = {
48
- RichTextInputEvent
49
- });
50
- //# sourceMappingURL=input-event.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/rich-text/input-event.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useContext, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { inputEventContext } from './';\n\nexport function RichTextInputEvent( { inputType, onInput } ) {\n\tconst callbacks = useContext( inputEventContext );\n\tconst onInputRef = useRef();\n\tonInputRef.current = onInput;\n\n\tuseEffect( () => {\n\t\tfunction callback( event ) {\n\t\t\tif ( event.inputType === inputType ) {\n\t\t\t\tonInputRef.current();\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tcallbacks.current.add( callback );\n\t\treturn () => {\n\t\t\tcallbacks.current.delete( callback );\n\t\t};\n\t}, [ inputType ] );\n\n\treturn null;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA8C;AAK9C,eAAkC;AAE3B,SAAS,mBAAoB,EAAE,WAAW,QAAQ,GAAI;AAC5D,QAAM,gBAAY,2BAAY,0BAAkB;AAChD,QAAM,iBAAa,uBAAO;AAC1B,aAAW,UAAU;AAErB,gCAAW,MAAM;AAChB,aAAS,SAAU,OAAQ;AAC1B,UAAK,MAAM,cAAc,WAAY;AACpC,mBAAW,QAAQ;AACnB,cAAM,eAAe;AAAA,MACtB;AAAA,IACD;AAEA,cAAU,QAAQ,IAAK,QAAS;AAChC,WAAO,MAAM;AACZ,gBAAU,QAAQ,OAAQ,QAAS;AAAA,IACpC;AAAA,EACD,GAAG,CAAE,SAAU,CAAE;AAEjB,SAAO;AACR;",
6
- "names": []
7
- }