@wordpress/block-editor 16.0.1-next.v.202607070741.0 → 16.2.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 (2167) hide show
  1. package/CHANGELOG.md +66 -1
  2. package/README.md +21 -1
  3. package/build/autocompleters/block.cjs.map +2 -2
  4. package/build/components/alignment-control/index.cjs.map +2 -2
  5. package/build/components/alignment-control/ui.cjs +2 -4
  6. package/build/components/alignment-control/ui.cjs.map +2 -2
  7. package/build/components/autocomplete/index.cjs.map +2 -2
  8. package/build/components/background-image-control/index.cjs +40 -10
  9. package/build/components/background-image-control/index.cjs.map +2 -2
  10. package/build/components/block-actions/index.cjs +2 -1
  11. package/build/components/block-actions/index.cjs.map +2 -2
  12. package/build/components/block-alignment-control/constants.cjs.map +2 -2
  13. package/build/components/block-alignment-control/index.cjs.map +2 -2
  14. package/build/components/block-alignment-control/ui.cjs +5 -3
  15. package/build/components/block-alignment-control/ui.cjs.map +2 -2
  16. package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
  17. package/build/components/block-alignment-matrix-control/index.cjs.map +2 -2
  18. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
  19. package/build/components/block-allowed-blocks/modal.cjs.map +2 -2
  20. package/build/components/block-bindings/attribute-control.cjs.map +2 -2
  21. package/build/components/block-bindings/index.cjs.map +2 -2
  22. package/build/components/block-bindings/source-fields-list.cjs.map +2 -2
  23. package/build/components/block-bindings/use-block-bindings-utils.cjs.map +2 -2
  24. package/build/components/block-breadcrumb/index.cjs.map +2 -2
  25. package/build/components/block-canvas/index.cjs +6 -1
  26. package/build/components/block-canvas/index.cjs.map +2 -2
  27. package/build/components/block-card/index.cjs.map +2 -2
  28. package/build/components/block-compare/block-view.cjs.map +2 -2
  29. package/build/components/block-compare/index.cjs.map +2 -2
  30. package/build/components/block-content-overlay/index.cjs.map +2 -2
  31. package/build/components/block-context/index.cjs.map +2 -2
  32. package/build/components/block-controls/fill.cjs.map +2 -2
  33. package/build/components/block-controls/groups.cjs +3 -1
  34. package/build/components/block-controls/groups.cjs.map +2 -2
  35. package/build/components/block-controls/hook.cjs.map +2 -2
  36. package/build/components/block-controls/index.cjs.map +2 -2
  37. package/build/components/block-controls/slot.cjs.map +2 -2
  38. package/build/components/block-draggable/draggable-chip.cjs.map +2 -2
  39. package/build/components/block-draggable/index.cjs.map +2 -2
  40. package/build/components/block-draggable/use-scroll-when-dragging.cjs.map +2 -2
  41. package/build/components/block-edit/context.cjs.map +2 -2
  42. package/build/components/block-edit/edit.cjs +10 -18
  43. package/build/components/block-edit/edit.cjs.map +2 -2
  44. package/build/components/block-edit/index.cjs.map +2 -2
  45. package/build/components/block-edit/multiple-usage-warning.cjs.map +2 -2
  46. package/build/components/block-edit-visually-button/index.cjs.map +2 -2
  47. package/build/components/block-editing-mode/index.cjs.map +2 -2
  48. package/build/components/block-full-height-alignment-control/index.cjs.map +2 -2
  49. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +2 -2
  50. package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
  51. package/build/components/block-icon/index.cjs.map +2 -2
  52. package/build/components/block-inspector/edit-contents.cjs +48 -40
  53. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  54. package/build/components/block-inspector/index.cjs +82 -50
  55. package/build/components/block-inspector/index.cjs.map +2 -2
  56. package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +2 -2
  57. package/build/components/block-inspector/useBlockInspectorAnimationSettings.cjs.map +2 -2
  58. package/build/components/block-list/block-crash-boundary.cjs.map +2 -2
  59. package/build/components/block-list/block-crash-warning.cjs.map +2 -2
  60. package/build/components/block-list/block-html.cjs +4 -1
  61. package/build/components/block-list/block-html.cjs.map +2 -2
  62. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  63. package/build/components/block-list/block.cjs +45 -13
  64. package/build/components/block-list/block.cjs.map +3 -3
  65. package/build/components/block-list/index.cjs +34 -12
  66. package/build/components/block-list/index.cjs.map +2 -2
  67. package/build/components/block-list/layout.cjs.map +2 -2
  68. package/build/components/block-list/private-block-context.cjs.map +2 -2
  69. package/build/components/block-list/subdirectory-icon.cjs.map +2 -2
  70. package/build/components/block-list/use-block-props/index.cjs +41 -2
  71. package/build/components/block-list/use-block-props/index.cjs.map +3 -3
  72. package/build/components/block-list/use-block-props/use-block-refs.cjs.map +2 -2
  73. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.cjs.map +2 -2
  74. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
  75. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  76. package/build/components/block-list/use-block-props/use-focus-handler.cjs +11 -4
  77. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  78. package/build/components/block-list/use-block-props/use-intersection-observer.cjs.map +2 -2
  79. package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
  80. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs +48 -0
  81. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +7 -0
  82. package/build/components/block-list/use-block-props/use-scroll-into-view.cjs.map +2 -2
  83. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
  84. package/build/components/block-list/use-in-between-inserter.cjs.map +2 -2
  85. package/build/components/block-list/zoom-out-separator.cjs.map +2 -2
  86. package/build/components/block-list-appender/index.cjs.map +2 -2
  87. package/build/components/block-lock/menu-item.cjs.map +2 -2
  88. package/build/components/block-lock/modal.cjs.map +2 -2
  89. package/build/components/block-lock/toolbar.cjs.map +2 -2
  90. package/build/components/block-lock/use-block-lock.cjs.map +2 -2
  91. package/build/components/block-manager/category.cjs.map +2 -2
  92. package/build/components/block-manager/checklist.cjs.map +2 -2
  93. package/build/components/block-manager/index.cjs.map +2 -2
  94. package/build/components/block-mover/button.cjs +15 -9
  95. package/build/components/block-mover/button.cjs.map +2 -2
  96. package/build/components/block-mover/index.cjs.map +2 -2
  97. package/build/components/block-mover/mover-description.cjs.map +2 -2
  98. package/build/components/block-navigation/dropdown.cjs.map +2 -2
  99. package/build/components/block-parent-selector/index.cjs +2 -2
  100. package/build/components/block-parent-selector/index.cjs.map +2 -2
  101. package/build/components/block-pattern-setup/index.cjs.map +2 -2
  102. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +2 -2
  103. package/build/components/block-pattern-setup/use-patterns-setup.cjs.map +2 -2
  104. package/build/components/block-patterns-list/index.cjs.map +2 -2
  105. package/build/components/block-patterns-paging/index.cjs.map +2 -2
  106. package/build/components/block-popover/cover.cjs.map +2 -2
  107. package/build/components/block-popover/drop-zone.cjs.map +2 -2
  108. package/build/components/block-popover/inbetween.cjs.map +2 -2
  109. package/build/components/block-popover/index.cjs.map +2 -2
  110. package/build/components/block-popover/use-popover-scroll.cjs.map +2 -2
  111. package/build/components/block-preview/async.cjs.map +2 -2
  112. package/build/components/block-preview/auto.cjs.map +2 -2
  113. package/build/components/block-preview/index.cjs.map +2 -2
  114. package/build/components/block-quick-navigation/index.cjs.map +2 -2
  115. package/build/components/block-removal-warning-modal/index.cjs.map +2 -2
  116. package/build/components/block-rename/modal.cjs.map +2 -2
  117. package/build/components/block-rename/rename-control.cjs.map +2 -2
  118. package/build/components/block-rename/use-block-rename.cjs.map +2 -2
  119. package/build/components/block-selection-clearer/index.cjs.map +2 -2
  120. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +2 -2
  121. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +2 -2
  122. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +2 -2
  123. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  124. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
  125. package/build/components/block-settings-menu/block-settings-menu-first-item.cjs.map +2 -2
  126. package/build/components/block-settings-menu/index.cjs.map +2 -2
  127. package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
  128. package/build/components/block-styles/index.cjs.map +2 -2
  129. package/build/components/block-styles/menu-items.cjs.map +2 -2
  130. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  131. package/build/components/block-styles/utils.cjs.map +2 -2
  132. package/build/components/block-switcher/block-styles-menu.cjs.map +2 -2
  133. package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
  134. package/build/components/block-switcher/block-variation-transformations.cjs.map +2 -2
  135. package/build/components/block-switcher/index.cjs.map +2 -2
  136. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +2 -2
  137. package/build/components/block-switcher/preview-block-popover.cjs.map +2 -2
  138. package/build/components/block-switcher/use-transformed-patterns.cjs.map +2 -2
  139. package/build/components/block-switcher/utils.cjs.map +2 -2
  140. package/build/components/block-title/index.cjs.map +2 -2
  141. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  142. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +2 -2
  143. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  144. package/build/components/block-toolbar/block-toolbar-last-item.cjs.map +2 -2
  145. package/build/components/block-toolbar/change-design.cjs.map +2 -2
  146. package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
  147. package/build/components/block-toolbar/index.cjs +43 -24
  148. package/build/components/block-toolbar/index.cjs.map +2 -2
  149. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +2 -2
  150. package/build/components/block-toolbar/switch-section-style.cjs +4 -2
  151. package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
  152. package/build/components/block-toolbar/use-has-block-toolbar.cjs.map +2 -2
  153. package/build/components/block-toolbar/utils.cjs.map +2 -2
  154. package/build/components/block-tools/block-toolbar-popover.cjs.map +2 -2
  155. package/build/components/block-tools/empty-block-inserter.cjs +2 -7
  156. package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
  157. package/build/components/block-tools/index.cjs +9 -6
  158. package/build/components/block-tools/index.cjs.map +2 -2
  159. package/build/components/block-tools/insertion-point.cjs.map +2 -2
  160. package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
  161. package/build/components/block-tools/use-selected-block-tool-props.cjs.map +2 -2
  162. package/build/components/block-tools/use-show-block-tools.cjs.map +2 -2
  163. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +2 -2
  164. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +2 -2
  165. package/build/components/block-types-list/index.cjs.map +2 -2
  166. package/build/components/block-variation-picker/index.cjs.map +2 -2
  167. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  168. package/build/components/block-vertical-alignment-control/index.cjs.map +2 -2
  169. package/build/components/block-vertical-alignment-control/ui.cjs +3 -5
  170. package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
  171. package/build/components/block-visibility/constants.cjs +1 -1
  172. package/build/components/block-visibility/constants.cjs.map +3 -3
  173. package/build/components/block-visibility/modal.cjs +20 -6
  174. package/build/components/block-visibility/modal.cjs.map +2 -2
  175. package/build/components/block-visibility/use-block-visibility.cjs +28 -20
  176. package/build/components/block-visibility/use-block-visibility.cjs.map +4 -4
  177. package/build/components/block-visibility/utils.cjs +15 -2
  178. package/build/components/block-visibility/utils.cjs.map +3 -3
  179. package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
  180. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  181. package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
  182. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  183. package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
  184. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  185. package/build/components/border-radius-control/constants.cjs.map +2 -2
  186. package/build/components/border-radius-control/index.cjs.map +2 -2
  187. package/build/components/border-radius-control/linked-button.cjs.map +2 -2
  188. package/build/components/border-radius-control/utils.cjs +8 -58
  189. package/build/components/border-radius-control/utils.cjs.map +2 -2
  190. package/build/components/button-block-appender/index.cjs.map +2 -2
  191. package/build/components/child-layout-control/index.cjs +0 -4
  192. package/build/components/child-layout-control/index.cjs.map +2 -2
  193. package/build/components/collab/note-icon-slot.cjs.map +2 -2
  194. package/build/components/collab/note-icon-toolbar-slot.cjs.map +2 -2
  195. package/build/components/color-palette/control.cjs.map +2 -2
  196. package/build/components/color-palette/index.cjs.map +2 -2
  197. package/build/components/color-palette/with-color-context.cjs.map +2 -2
  198. package/build/components/color-style-selector/index.cjs.map +2 -2
  199. package/build/components/colors/utils.cjs +2 -4
  200. package/build/components/colors/utils.cjs.map +3 -3
  201. package/build/components/colors/with-colors.cjs +2 -4
  202. package/build/components/colors/with-colors.cjs.map +3 -3
  203. package/build/components/colors-gradients/control.cjs +5 -3
  204. package/build/components/colors-gradients/control.cjs.map +2 -2
  205. package/build/components/colors-gradients/dropdown.cjs.map +2 -2
  206. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +5 -5
  207. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +2 -2
  208. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.cjs.map +2 -2
  209. package/build/components/contrast-checker/index.cjs.map +2 -2
  210. package/build/components/convert-to-group-buttons/index.cjs +2 -5
  211. package/build/components/convert-to-group-buttons/index.cjs.map +2 -2
  212. package/build/components/convert-to-group-buttons/toolbar.cjs +2 -4
  213. package/build/components/convert-to-group-buttons/toolbar.cjs.map +2 -2
  214. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.cjs.map +2 -2
  215. package/build/components/copy-handler/index.cjs.map +2 -2
  216. package/build/components/date-format-picker/index.cjs.map +2 -2
  217. package/build/components/default-block-appender/index.cjs.map +2 -2
  218. package/build/components/dimension-control/index.cjs +30 -20
  219. package/build/components/dimension-control/index.cjs.map +3 -3
  220. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +9 -2
  221. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
  222. package/build/components/dimensions-tool/index.cjs.map +2 -2
  223. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  224. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  225. package/build/components/duotone-control/index.cjs.map +2 -2
  226. package/build/components/editable-text/index.cjs.map +2 -2
  227. package/build/components/editor-styles/index.cjs +9 -1
  228. package/build/components/editor-styles/index.cjs.map +2 -2
  229. package/build/components/fit-text-size-warning/index.cjs.map +2 -2
  230. package/build/components/floating-toolbar/nav-up-icon.cjs.map +2 -2
  231. package/build/components/font-appearance-control/index.cjs.map +2 -2
  232. package/build/components/font-family/index.cjs.map +2 -2
  233. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  234. package/build/components/font-sizes/utils.cjs +2 -4
  235. package/build/components/font-sizes/utils.cjs.map +3 -3
  236. package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
  237. package/build/components/global-styles/advanced-panel.cjs.map +2 -2
  238. package/build/components/global-styles/background-panel.cjs +66 -25
  239. package/build/components/global-styles/background-panel.cjs.map +3 -3
  240. package/build/components/global-styles/border-panel.cjs +153 -55
  241. package/build/components/global-styles/border-panel.cjs.map +3 -3
  242. package/build/components/global-styles/color-gradient-dropdown-item.cjs +46 -14
  243. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +3 -3
  244. package/build/components/global-styles/color-panel.cjs +63 -17
  245. package/build/components/global-styles/color-panel.cjs.map +2 -2
  246. package/build/components/global-styles/dimensions-panel.cjs +242 -64
  247. package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
  248. package/build/components/global-styles/filters-panel.cjs +59 -20
  249. package/build/components/global-styles/filters-panel.cjs.map +3 -3
  250. package/build/components/global-styles/hooks.cjs +4 -1
  251. package/build/components/global-styles/hooks.cjs.map +2 -2
  252. package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
  253. package/build/components/global-styles/inheritance/index.cjs +142 -0
  254. package/build/components/global-styles/inheritance/index.cjs.map +7 -0
  255. package/build/components/global-styles/inherited-value-context.cjs +173 -0
  256. package/build/components/global-styles/inherited-value-context.cjs.map +7 -0
  257. package/build/components/global-styles/shadow-panel-components.cjs +38 -20
  258. package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
  259. package/build/components/global-styles/state-control-badges.cjs +39 -3
  260. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  261. package/build/components/global-styles/state-control.cjs +1 -1
  262. package/build/components/global-styles/state-control.cjs.map +2 -2
  263. package/build/components/global-styles/typography-panel.cjs +271 -79
  264. package/build/components/global-styles/typography-panel.cjs.map +3 -3
  265. package/build/components/global-styles/typography-utils.cjs.map +2 -2
  266. package/build/components/global-styles/utils.cjs.map +2 -2
  267. package/build/components/gradients/use-gradient.cjs.map +2 -2
  268. package/build/components/gradients/with-gradient.cjs.map +2 -2
  269. package/build/components/grid/grid-item-movers.cjs.map +2 -2
  270. package/build/components/grid/grid-item-resizer.cjs.map +2 -2
  271. package/build/components/grid/grid-visualizer.cjs.map +2 -2
  272. package/build/components/grid/use-get-number-of-blocks-before-cell.cjs.map +2 -2
  273. package/build/components/grid/use-grid-layout-sync.cjs.map +2 -2
  274. package/build/components/height-control/index.cjs.map +2 -2
  275. package/build/components/html-element-control/index.cjs.map +2 -2
  276. package/build/components/html-element-control/messages.cjs.map +2 -2
  277. package/build/components/iframe/index.cjs +19 -24
  278. package/build/components/iframe/index.cjs.map +2 -2
  279. package/build/components/iframe/use-scale-canvas.cjs +20 -6
  280. package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
  281. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +2 -2
  282. package/build/components/image-editor/context.cjs.map +2 -2
  283. package/build/components/image-editor/cropper.cjs.map +2 -2
  284. package/build/components/image-editor/form-controls.cjs.map +2 -2
  285. package/build/components/image-editor/index.cjs.map +2 -2
  286. package/build/components/image-editor/rotation-button.cjs.map +2 -2
  287. package/build/components/image-editor/use-save-image.cjs.map +2 -2
  288. package/build/components/image-editor/use-transform-image.cjs.map +2 -2
  289. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  290. package/build/components/image-size-control/index.cjs +2 -4
  291. package/build/components/image-size-control/index.cjs.map +2 -2
  292. package/build/components/image-size-control/use-dimension-handler.cjs.map +2 -2
  293. package/build/components/inner-blocks/button-block-appender.cjs.map +2 -2
  294. package/build/components/inner-blocks/default-block-appender.cjs.map +2 -2
  295. package/build/components/inner-blocks/index.cjs.map +2 -2
  296. package/build/components/inner-blocks/use-block-context.cjs.map +2 -2
  297. package/build/components/inner-blocks/use-inner-block-template-sync.cjs +34 -7
  298. package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +3 -3
  299. package/build/components/inner-blocks/use-nested-settings-update.cjs.map +2 -2
  300. package/build/components/inner-content/index.cjs.map +2 -2
  301. package/build/components/inserter/block-patterns-explorer/index.cjs.map +2 -2
  302. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +2 -2
  303. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +2 -2
  304. package/build/components/inserter/block-patterns-tab/index.cjs.map +2 -2
  305. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +2 -2
  306. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +2 -2
  307. package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
  308. package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
  309. package/build/components/inserter/block-types-tab.cjs.map +2 -2
  310. package/build/components/inserter/category-tabs/index.cjs.map +2 -2
  311. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  312. package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
  313. package/build/components/inserter/hooks/use-patterns-paging.cjs.map +2 -2
  314. package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
  315. package/build/components/inserter/index.cjs +4 -13
  316. package/build/components/inserter/index.cjs.map +2 -2
  317. package/build/components/inserter/library.cjs.map +2 -2
  318. package/build/components/inserter/media-tab/hooks.cjs +33 -6
  319. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  320. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  321. package/build/components/inserter/media-tab/media-panel.cjs +78 -16
  322. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  323. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  324. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  325. package/build/components/inserter/media-tab/utils.cjs.map +2 -2
  326. package/build/components/inserter/menu.cjs.map +2 -2
  327. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  328. package/build/components/inserter/no-results.cjs.map +2 -2
  329. package/build/components/inserter/panel.cjs.map +2 -2
  330. package/build/components/inserter/preview-panel.cjs.map +2 -2
  331. package/build/components/inserter/quick-inserter.cjs.map +2 -2
  332. package/build/components/inserter/search-items.cjs.map +2 -2
  333. package/build/components/inserter/search-results.cjs.map +2 -2
  334. package/build/components/inserter/tips.cjs.map +2 -2
  335. package/build/components/inserter-button/sparkles.cjs.map +2 -2
  336. package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
  337. package/build/components/inserter-list-item/index.cjs.map +2 -2
  338. package/build/components/inserter-listbox/context.cjs.map +2 -2
  339. package/build/components/inserter-listbox/group.cjs.map +2 -2
  340. package/build/components/inserter-listbox/index.cjs.map +2 -2
  341. package/build/components/inserter-listbox/item.cjs.map +2 -2
  342. package/build/components/inserter-listbox/row.cjs.map +2 -2
  343. package/build/components/inserter-menu-extension/index.cjs.map +2 -2
  344. package/build/components/inspector-controls/block-support-slot-container.cjs.map +2 -2
  345. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
  346. package/build/components/inspector-controls/fill.cjs +15 -17
  347. package/build/components/inspector-controls/fill.cjs.map +2 -2
  348. package/build/components/inspector-controls/groups.cjs.map +2 -2
  349. package/build/components/inspector-controls/index.cjs.map +2 -2
  350. package/build/components/inspector-controls/last-item.cjs.map +2 -2
  351. package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
  352. package/build/components/inspector-controls/slot.cjs.map +2 -2
  353. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +2 -2
  354. package/build/components/inspector-controls-tabs/content-tab.cjs.map +2 -2
  355. package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
  356. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +2 -2
  357. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +2 -2
  358. package/build/components/inspector-controls-tabs/styles-tab.cjs +10 -1
  359. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
  360. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
  361. package/build/components/inspector-controls-tabs/utils.cjs.map +2 -2
  362. package/build/components/inspector-popover-header/index.cjs.map +2 -2
  363. package/build/components/justify-content-control/index.cjs.map +2 -2
  364. package/build/components/justify-content-control/ui.cjs.map +2 -2
  365. package/build/components/keyboard-shortcuts/index.cjs +19 -11
  366. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  367. package/build/components/letter-spacing-control/index.cjs.map +2 -2
  368. package/build/components/line-height-control/index.cjs +1 -2
  369. package/build/components/line-height-control/index.cjs.map +2 -2
  370. package/build/components/link-control/constants.cjs.map +2 -2
  371. package/build/components/link-control/index.cjs +3 -1
  372. package/build/components/link-control/index.cjs.map +2 -2
  373. package/build/components/link-control/is-url-like.cjs.map +2 -2
  374. package/build/components/link-control/link-preview.cjs.map +2 -2
  375. package/build/components/link-control/normalize-url.cjs.map +2 -2
  376. package/build/components/link-control/search-create-button.cjs.map +2 -2
  377. package/build/components/link-control/search-input.cjs.map +2 -2
  378. package/build/components/link-control/search-item.cjs.map +2 -2
  379. package/build/components/link-control/search-results.cjs +1 -1
  380. package/build/components/link-control/search-results.cjs.map +2 -2
  381. package/build/components/link-control/settings-drawer.cjs.map +2 -2
  382. package/build/components/link-control/settings.cjs.map +2 -2
  383. package/build/components/link-control/use-create-page.cjs.map +2 -2
  384. package/build/components/link-control/use-internal-value.cjs.map +2 -2
  385. package/build/components/link-control/use-rich-url-data.cjs +1 -1
  386. package/build/components/link-control/use-rich-url-data.cjs.map +2 -2
  387. package/build/components/link-control/use-search-handler.cjs.map +2 -2
  388. package/build/components/link-control/viewer-slot.cjs.map +2 -2
  389. package/build/components/link-picker/link-picker.cjs.map +2 -2
  390. package/build/components/link-picker/link-preview.cjs.map +2 -2
  391. package/build/components/list-view/appender.cjs +6 -3
  392. package/build/components/list-view/appender.cjs.map +2 -2
  393. package/build/components/list-view/aria-referenced-text.cjs +2 -9
  394. package/build/components/list-view/aria-referenced-text.cjs.map +2 -2
  395. package/build/components/list-view/block-contents.cjs +17 -20
  396. package/build/components/list-view/block-contents.cjs.map +2 -2
  397. package/build/components/list-view/block-select-button.cjs +40 -19
  398. package/build/components/list-view/block-select-button.cjs.map +3 -3
  399. package/build/components/list-view/block.cjs +48 -42
  400. package/build/components/list-view/block.cjs.map +3 -3
  401. package/build/components/list-view/branch.cjs +93 -77
  402. package/build/components/list-view/branch.cjs.map +3 -3
  403. package/build/components/list-view/context.cjs +16 -2
  404. package/build/components/list-view/context.cjs.map +2 -2
  405. package/build/components/list-view/drop-indicator.cjs +4 -3
  406. package/build/components/list-view/drop-indicator.cjs.map +3 -3
  407. package/build/components/list-view/expander.cjs.map +2 -2
  408. package/build/components/list-view/index.cjs +83 -96
  409. package/build/components/list-view/index.cjs.map +2 -2
  410. package/build/components/list-view/leaf.cjs.map +2 -2
  411. package/build/components/list-view/use-block-selection.cjs.map +2 -2
  412. package/build/components/list-view/use-clipboard-handler.cjs.map +2 -2
  413. package/build/components/list-view/use-list-view-block-indexes.cjs.map +2 -2
  414. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  415. package/build/components/list-view/use-list-view-collapse-items.cjs +3 -4
  416. package/build/components/list-view/use-list-view-collapse-items.cjs.map +2 -2
  417. package/build/components/list-view/use-list-view-drop-zone.cjs +7 -13
  418. package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
  419. package/build/components/list-view/use-list-view-expand-selected-item.cjs +3 -3
  420. package/build/components/list-view/use-list-view-expand-selected-item.cjs.map +2 -2
  421. package/build/components/list-view/use-list-view-images.cjs +4 -3
  422. package/build/components/list-view/use-list-view-images.cjs.map +2 -2
  423. package/build/components/list-view/use-list-view-scroll-into-view.cjs.map +2 -2
  424. package/build/components/list-view/utils.cjs +6 -3
  425. package/build/components/list-view/utils.cjs.map +2 -2
  426. package/build/components/media-placeholder/index.cjs +0 -1
  427. package/build/components/media-placeholder/index.cjs.map +2 -2
  428. package/build/components/media-replace-flow/index.cjs.map +2 -2
  429. package/build/components/media-upload/check.cjs.map +2 -2
  430. package/build/components/media-upload/index.cjs.map +2 -2
  431. package/build/components/multi-selection-inspector/index.cjs +33 -12
  432. package/build/components/multi-selection-inspector/index.cjs.map +3 -3
  433. package/build/components/navigable-toolbar/index.cjs +29 -18
  434. package/build/components/navigable-toolbar/index.cjs.map +2 -2
  435. package/build/components/observe-typing/index.cjs.map +2 -2
  436. package/build/components/panel-color-settings/index.cjs.map +2 -2
  437. package/build/components/plain-text/index.cjs.map +2 -2
  438. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  439. package/build/components/preset-input-control/index.cjs +2 -1
  440. package/build/components/preset-input-control/index.cjs.map +2 -2
  441. package/build/components/preview-options/index.cjs.map +2 -2
  442. package/build/components/provider/block-refs-provider.cjs +8 -2
  443. package/build/components/provider/block-refs-provider.cjs.map +2 -2
  444. package/build/components/provider/index.cjs +1 -1
  445. package/build/components/provider/index.cjs.map +2 -2
  446. package/build/components/provider/selection-context.cjs.map +2 -2
  447. package/build/components/provider/use-block-sync.cjs +18 -6
  448. package/build/components/provider/use-block-sync.cjs.map +2 -2
  449. package/build/components/provider/use-media-upload-settings.cjs +3 -1
  450. package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
  451. package/build/components/provider/with-registry-provider.cjs.map +2 -2
  452. package/build/components/publish-date-time-picker/index.cjs.map +2 -2
  453. package/build/components/recursion-provider/index.cjs.map +2 -2
  454. package/build/components/resizable-box-popover/index.cjs.map +2 -2
  455. package/build/components/resolution-tool/index.cjs.map +2 -2
  456. package/build/components/responsive-block-control/index.cjs.map +2 -2
  457. package/build/components/responsive-block-control/label.cjs.map +2 -2
  458. package/build/components/rich-text/content.cjs.map +2 -2
  459. package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
  460. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  461. package/build/components/rich-text/event-listeners/delete.cjs +2 -3
  462. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  463. package/build/components/rich-text/event-listeners/enter.cjs +3 -2
  464. package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
  465. package/build/components/rich-text/event-listeners/firefox-compat.cjs.map +2 -2
  466. package/build/components/rich-text/event-listeners/index.cjs.map +2 -2
  467. package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
  468. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  469. package/build/components/rich-text/event-listeners/input-rules.cjs +16 -14
  470. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  471. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
  472. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  473. package/build/components/rich-text/event-listeners/paste-handler.cjs +10 -2
  474. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
  475. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
  476. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  477. package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
  478. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  479. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
  480. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  481. package/build/components/rich-text/format-edit.cjs.map +2 -2
  482. package/build/components/rich-text/format-toolbar/index.cjs.map +2 -2
  483. package/build/components/rich-text/format-toolbar-container.cjs.map +2 -2
  484. package/build/components/rich-text/get-rich-text-values.cjs.map +2 -2
  485. package/build/components/rich-text/index.cjs +76 -17
  486. package/build/components/rich-text/index.cjs.map +2 -2
  487. package/build/components/rich-text/multiline.cjs.map +2 -2
  488. package/build/components/rich-text/prevent-event-discovery.cjs.map +2 -2
  489. package/build/components/rich-text/toolbar-button.cjs.map +2 -2
  490. package/build/components/rich-text/use-mark-persistent.cjs.map +2 -2
  491. package/build/components/rich-text/utils.cjs.map +2 -2
  492. package/build/components/rich-text/with-deprecations.cjs.map +2 -2
  493. package/build/components/selection-scroll-into-view/index.cjs.map +2 -2
  494. package/build/components/skip-to-selected-block/index.cjs.map +2 -2
  495. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
  496. package/build/components/spacing-sizes-control/index.cjs +2 -2
  497. package/build/components/spacing-sizes-control/index.cjs.map +2 -2
  498. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +2 -2
  499. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +2 -2
  500. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +2 -2
  501. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +2 -2
  502. package/build/components/spacing-sizes-control/linked-button.cjs.map +2 -2
  503. package/build/components/spacing-sizes-control/utils.cjs +6 -19
  504. package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
  505. package/build/components/tabbed-sidebar/index.cjs.map +2 -2
  506. package/build/components/text-alignment-control/index.cjs.map +2 -2
  507. package/build/components/text-decoration-control/index.cjs.map +2 -2
  508. package/build/components/text-indent-control/index.cjs +8 -2
  509. package/build/components/text-indent-control/index.cjs.map +2 -2
  510. package/build/components/text-transform-control/index.cjs.map +2 -2
  511. package/build/components/tool-selector/index.cjs.map +2 -2
  512. package/build/components/typewriter/index.cjs +129 -136
  513. package/build/components/typewriter/index.cjs.map +3 -3
  514. package/build/components/unit-control/index.cjs.map +2 -2
  515. package/build/components/url-input/button.cjs.map +2 -2
  516. package/build/components/url-input/index.cjs +314 -373
  517. package/build/components/url-input/index.cjs.map +3 -3
  518. package/build/components/url-popover/image-url-input-ui.cjs +2 -2
  519. package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
  520. package/build/components/url-popover/index.cjs.map +2 -2
  521. package/build/components/url-popover/link-editor.cjs.map +2 -2
  522. package/build/components/url-popover/link-viewer-url.cjs.map +2 -2
  523. package/build/components/url-popover/link-viewer.cjs.map +2 -2
  524. package/build/components/use-block-commands/index.cjs +23 -18
  525. package/build/components/use-block-commands/index.cjs.map +2 -2
  526. package/build/components/use-block-display-information/index.cjs +6 -1
  527. package/build/components/use-block-display-information/index.cjs.map +2 -2
  528. package/build/components/use-block-drop-zone/index.cjs.map +2 -2
  529. package/build/components/use-flash-editable-blocks/index.cjs.map +2 -2
  530. package/build/components/use-list-view-panel-state/index.cjs.map +2 -2
  531. package/build/components/use-moving-animation/index.cjs +2 -2
  532. package/build/components/use-moving-animation/index.cjs.map +2 -2
  533. package/build/components/use-on-block-drop/index.cjs +1 -1
  534. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  535. package/build/components/use-paste-styles/index.cjs.map +2 -2
  536. package/build/components/use-resize-canvas/index.cjs.map +2 -2
  537. package/build/components/use-settings/index.cjs.map +2 -2
  538. package/build/components/warning/index.cjs.map +2 -2
  539. package/build/components/writing-flow/index.cjs +14 -1
  540. package/build/components/writing-flow/index.cjs.map +3 -3
  541. package/build/components/writing-flow/use-arrow-nav.cjs +48 -7
  542. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  543. package/build/components/writing-flow/use-click-selection.cjs +29 -3
  544. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  545. package/build/components/writing-flow/use-clipboard-handler.cjs +33 -5
  546. package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
  547. package/build/components/writing-flow/use-drag-selection.cjs +3 -8
  548. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  549. package/build/components/writing-flow/use-editable-root-event-handlers.cjs +179 -0
  550. package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +7 -0
  551. package/build/components/writing-flow/use-editable-root.cjs +75 -0
  552. package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
  553. package/build/components/writing-flow/use-home-end.cjs +64 -0
  554. package/build/components/writing-flow/use-home-end.cjs.map +7 -0
  555. package/build/components/writing-flow/use-input.cjs +15 -5
  556. package/build/components/writing-flow/use-input.cjs.map +2 -2
  557. package/build/components/writing-flow/use-multi-selection.cjs +2 -2
  558. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  559. package/build/components/writing-flow/use-preview-mode-nav.cjs.map +2 -2
  560. package/build/components/writing-flow/use-select-all.cjs +14 -2
  561. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  562. package/build/components/writing-flow/use-selection-observer.cjs +132 -22
  563. package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
  564. package/build/components/writing-flow/use-tab-nav.cjs +3 -1
  565. package/build/components/writing-flow/use-tab-nav.cjs.map +2 -2
  566. package/build/components/writing-flow/utils.cjs +28 -2
  567. package/build/components/writing-flow/utils.cjs.map +2 -2
  568. package/build/components/writing-mode-control/index.cjs.map +2 -2
  569. package/build/hooks/align.cjs.map +2 -2
  570. package/build/hooks/allowed-blocks.cjs.map +2 -2
  571. package/build/hooks/anchor.cjs.map +2 -2
  572. package/build/hooks/aria-label.cjs.map +2 -2
  573. package/build/hooks/auto-inspector-controls.cjs.map +2 -2
  574. package/build/hooks/background.cjs +13 -12
  575. package/build/hooks/background.cjs.map +2 -2
  576. package/build/hooks/block-bindings.cjs.map +2 -2
  577. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +2 -2
  578. package/build/hooks/block-fields/index.cjs.map +2 -2
  579. package/build/hooks/block-fields/link/index.cjs.map +2 -2
  580. package/build/hooks/block-fields/media/index.cjs.map +2 -2
  581. package/build/hooks/block-fields/rich-text/index.cjs +2 -3
  582. package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
  583. package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +2 -2
  584. package/build/hooks/block-hooks.cjs.map +2 -2
  585. package/build/hooks/block-renaming.cjs.map +2 -2
  586. package/build/hooks/block-style-state.cjs.map +2 -2
  587. package/build/hooks/block-style-variation.cjs +4 -45
  588. package/build/hooks/block-style-variation.cjs.map +3 -3
  589. package/build/hooks/border.cjs +19 -4
  590. package/build/hooks/border.cjs.map +2 -2
  591. package/build/hooks/color.cjs.map +2 -2
  592. package/build/hooks/compat.cjs.map +2 -2
  593. package/build/hooks/contrast-checker.cjs.map +2 -2
  594. package/build/hooks/custom-class-name.cjs.map +2 -2
  595. package/build/hooks/custom-css.cjs +6 -2
  596. package/build/hooks/custom-css.cjs.map +2 -2
  597. package/build/hooks/dimensions.cjs +15 -4
  598. package/build/hooks/dimensions.cjs.map +2 -2
  599. package/build/hooks/duotone.cjs +26 -14
  600. package/build/hooks/duotone.cjs.map +3 -3
  601. package/build/hooks/elements.cjs +15 -5
  602. package/build/hooks/elements.cjs.map +2 -2
  603. package/build/hooks/fit-text.cjs.map +2 -2
  604. package/build/hooks/font-family.cjs +2 -4
  605. package/build/hooks/font-family.cjs.map +3 -3
  606. package/build/hooks/font-size.cjs.map +2 -2
  607. package/build/hooks/gap.cjs.map +2 -2
  608. package/build/hooks/generated-class-name.cjs.map +2 -2
  609. package/build/hooks/grid-visualizer.cjs +5 -3
  610. package/build/hooks/grid-visualizer.cjs.map +2 -2
  611. package/build/hooks/index.cjs.map +2 -2
  612. package/build/hooks/layout-child.cjs +22 -12
  613. package/build/hooks/layout-child.cjs.map +3 -3
  614. package/build/hooks/layout.cjs +32 -17
  615. package/build/hooks/layout.cjs.map +3 -3
  616. package/build/hooks/line-height.cjs +1 -2
  617. package/build/hooks/line-height.cjs.map +2 -2
  618. package/build/hooks/list-view.cjs.map +2 -2
  619. package/build/hooks/lock.cjs.map +2 -2
  620. package/build/hooks/metadata.cjs.map +2 -2
  621. package/build/hooks/position.cjs.map +2 -2
  622. package/build/hooks/settings.cjs.map +2 -2
  623. package/build/hooks/spacing-visualizer.cjs.map +2 -2
  624. package/build/hooks/state-utils.cjs.map +2 -2
  625. package/build/hooks/states.cjs +27 -7
  626. package/build/hooks/states.cjs.map +3 -3
  627. package/build/hooks/style.cjs +31 -9
  628. package/build/hooks/style.cjs.map +3 -3
  629. package/build/hooks/supports.cjs.map +2 -2
  630. package/build/hooks/text-align.cjs +36 -6
  631. package/build/hooks/text-align.cjs.map +3 -3
  632. package/build/hooks/typography.cjs +14 -5
  633. package/build/hooks/typography.cjs.map +2 -2
  634. package/build/hooks/use-border-props.cjs.map +2 -2
  635. package/build/hooks/use-cached-truthy.cjs.map +2 -2
  636. package/build/hooks/use-color-props.cjs.map +2 -2
  637. package/build/hooks/use-content-only-section-edit.cjs.map +2 -2
  638. package/build/hooks/use-dimensions-props.cjs.map +2 -2
  639. package/build/hooks/use-shadow-props.cjs.map +2 -2
  640. package/build/hooks/use-spacing-props.cjs.map +2 -2
  641. package/build/hooks/use-typography-props.cjs +2 -4
  642. package/build/hooks/use-typography-props.cjs.map +3 -3
  643. package/build/hooks/use-zoom-out.cjs.map +2 -2
  644. package/build/hooks/utils.cjs.map +2 -2
  645. package/build/index.cjs.map +2 -2
  646. package/build/layouts/constrained.cjs +14 -6
  647. package/build/layouts/constrained.cjs.map +2 -2
  648. package/build/layouts/flex.cjs +27 -19
  649. package/build/layouts/flex.cjs.map +2 -2
  650. package/build/layouts/flow.cjs.map +2 -2
  651. package/build/layouts/grid.cjs +0 -2
  652. package/build/layouts/grid.cjs.map +2 -2
  653. package/build/layouts/index.cjs.map +2 -2
  654. package/build/layouts/utils.cjs.map +2 -2
  655. package/build/lock-unlock.cjs.map +2 -2
  656. package/build/private-apis.cjs +9 -5
  657. package/build/private-apis.cjs.map +3 -3
  658. package/build/store/actions.cjs +115 -42
  659. package/build/store/actions.cjs.map +3 -3
  660. package/build/store/defaults.cjs +2 -0
  661. package/build/store/defaults.cjs.map +2 -2
  662. package/build/store/get-block-settings.cjs.map +2 -2
  663. package/build/store/index.cjs.map +2 -2
  664. package/build/store/private-actions.cjs +19 -2
  665. package/build/store/private-actions.cjs.map +2 -2
  666. package/build/store/private-selectors.cjs +69 -13
  667. package/build/store/private-selectors.cjs.map +3 -3
  668. package/build/store/reducer.cjs +9 -7
  669. package/build/store/reducer.cjs.map +2 -2
  670. package/build/store/selectors.cjs +44 -8
  671. package/build/store/selectors.cjs.map +2 -2
  672. package/build/store/utils.cjs.map +2 -2
  673. package/build/utils/block-bindings.cjs +29 -0
  674. package/build/utils/block-bindings.cjs.map +2 -2
  675. package/build/utils/dom.cjs +14 -0
  676. package/build/utils/dom.cjs.map +2 -2
  677. package/build/utils/fit-text-frontend.cjs.map +2 -2
  678. package/build/utils/format-font-style.cjs.map +2 -2
  679. package/build/utils/format-font-weight.cjs.map +2 -2
  680. package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
  681. package/build/utils/group-blocks.cjs +42 -0
  682. package/build/utils/group-blocks.cjs.map +7 -0
  683. package/build/{components/rich-text/input-event.cjs → utils/native-undo.cjs} +29 -24
  684. package/build/utils/native-undo.cjs.map +7 -0
  685. package/build/utils/pasting.cjs.map +2 -2
  686. package/build/utils/selection.cjs.map +2 -2
  687. package/build/utils/sibling-block-attributes.cjs +45 -0
  688. package/build/utils/sibling-block-attributes.cjs.map +7 -0
  689. package/build/utils/transform-styles/index.cjs.map +2 -2
  690. package/build/utils/use-notify-copy.cjs.map +2 -2
  691. package/build-module/autocompleters/block.mjs.map +2 -2
  692. package/build-module/components/alignment-control/index.mjs.map +2 -2
  693. package/build-module/components/alignment-control/ui.mjs +2 -4
  694. package/build-module/components/alignment-control/ui.mjs.map +2 -2
  695. package/build-module/components/autocomplete/index.mjs.map +2 -2
  696. package/build-module/components/background-image-control/index.mjs +43 -10
  697. package/build-module/components/background-image-control/index.mjs.map +2 -2
  698. package/build-module/components/block-actions/index.mjs +3 -6
  699. package/build-module/components/block-actions/index.mjs.map +2 -2
  700. package/build-module/components/block-alignment-control/constants.mjs.map +2 -2
  701. package/build-module/components/block-alignment-control/index.mjs.map +2 -2
  702. package/build-module/components/block-alignment-control/ui.mjs +5 -3
  703. package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
  704. package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
  705. package/build-module/components/block-alignment-matrix-control/index.mjs.map +2 -2
  706. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
  707. package/build-module/components/block-allowed-blocks/modal.mjs.map +2 -2
  708. package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
  709. package/build-module/components/block-bindings/index.mjs.map +2 -2
  710. package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
  711. package/build-module/components/block-bindings/use-block-bindings-utils.mjs.map +2 -2
  712. package/build-module/components/block-breadcrumb/index.mjs.map +2 -2
  713. package/build-module/components/block-canvas/index.mjs +7 -2
  714. package/build-module/components/block-canvas/index.mjs.map +2 -2
  715. package/build-module/components/block-card/index.mjs.map +2 -2
  716. package/build-module/components/block-compare/block-view.mjs.map +2 -2
  717. package/build-module/components/block-compare/index.mjs.map +2 -2
  718. package/build-module/components/block-content-overlay/index.mjs.map +2 -2
  719. package/build-module/components/block-context/index.mjs.map +2 -2
  720. package/build-module/components/block-controls/fill.mjs.map +2 -2
  721. package/build-module/components/block-controls/groups.mjs +3 -1
  722. package/build-module/components/block-controls/groups.mjs.map +2 -2
  723. package/build-module/components/block-controls/hook.mjs.map +2 -2
  724. package/build-module/components/block-controls/index.mjs.map +2 -2
  725. package/build-module/components/block-controls/slot.mjs.map +2 -2
  726. package/build-module/components/block-draggable/draggable-chip.mjs.map +2 -2
  727. package/build-module/components/block-draggable/index.mjs.map +2 -2
  728. package/build-module/components/block-draggable/use-scroll-when-dragging.mjs.map +2 -2
  729. package/build-module/components/block-edit/context.mjs.map +2 -2
  730. package/build-module/components/block-edit/edit.mjs +11 -18
  731. package/build-module/components/block-edit/edit.mjs.map +2 -2
  732. package/build-module/components/block-edit/index.mjs.map +2 -2
  733. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +2 -2
  734. package/build-module/components/block-edit-visually-button/index.mjs.map +2 -2
  735. package/build-module/components/block-editing-mode/index.mjs.map +2 -2
  736. package/build-module/components/block-full-height-alignment-control/index.mjs.map +2 -2
  737. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
  738. package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
  739. package/build-module/components/block-icon/index.mjs.map +2 -2
  740. package/build-module/components/block-inspector/edit-contents.mjs +49 -41
  741. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  742. package/build-module/components/block-inspector/index.mjs +83 -50
  743. package/build-module/components/block-inspector/index.mjs.map +2 -2
  744. package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +2 -2
  745. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.mjs.map +2 -2
  746. package/build-module/components/block-list/block-crash-boundary.mjs.map +2 -2
  747. package/build-module/components/block-list/block-crash-warning.mjs.map +2 -2
  748. package/build-module/components/block-list/block-html.mjs +4 -1
  749. package/build-module/components/block-list/block-html.mjs.map +2 -2
  750. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  751. package/build-module/components/block-list/block.mjs +45 -13
  752. package/build-module/components/block-list/block.mjs.map +3 -3
  753. package/build-module/components/block-list/index.mjs +35 -13
  754. package/build-module/components/block-list/index.mjs.map +2 -2
  755. package/build-module/components/block-list/layout.mjs.map +2 -2
  756. package/build-module/components/block-list/private-block-context.mjs.map +2 -2
  757. package/build-module/components/block-list/subdirectory-icon.mjs.map +2 -2
  758. package/build-module/components/block-list/use-block-props/index.mjs +41 -2
  759. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  760. package/build-module/components/block-list/use-block-props/use-block-refs.mjs.map +2 -2
  761. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.mjs.map +2 -2
  762. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
  763. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  764. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +11 -4
  765. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  766. package/build-module/components/block-list/use-block-props/use-intersection-observer.mjs.map +2 -2
  767. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
  768. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs +28 -0
  769. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +7 -0
  770. package/build-module/components/block-list/use-block-props/use-scroll-into-view.mjs.map +2 -2
  771. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
  772. package/build-module/components/block-list/use-in-between-inserter.mjs.map +2 -2
  773. package/build-module/components/block-list/zoom-out-separator.mjs.map +2 -2
  774. package/build-module/components/block-list-appender/index.mjs.map +2 -2
  775. package/build-module/components/block-lock/menu-item.mjs.map +2 -2
  776. package/build-module/components/block-lock/modal.mjs.map +2 -2
  777. package/build-module/components/block-lock/toolbar.mjs.map +2 -2
  778. package/build-module/components/block-lock/use-block-lock.mjs.map +2 -2
  779. package/build-module/components/block-manager/category.mjs.map +2 -2
  780. package/build-module/components/block-manager/checklist.mjs.map +2 -2
  781. package/build-module/components/block-manager/index.mjs.map +2 -2
  782. package/build-module/components/block-mover/button.mjs +17 -11
  783. package/build-module/components/block-mover/button.mjs.map +2 -2
  784. package/build-module/components/block-mover/index.mjs.map +2 -2
  785. package/build-module/components/block-mover/mover-description.mjs.map +2 -2
  786. package/build-module/components/block-navigation/dropdown.mjs.map +2 -2
  787. package/build-module/components/block-parent-selector/index.mjs +2 -2
  788. package/build-module/components/block-parent-selector/index.mjs.map +2 -2
  789. package/build-module/components/block-pattern-setup/index.mjs.map +2 -2
  790. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +2 -2
  791. package/build-module/components/block-pattern-setup/use-patterns-setup.mjs.map +2 -2
  792. package/build-module/components/block-patterns-list/index.mjs.map +2 -2
  793. package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
  794. package/build-module/components/block-popover/cover.mjs.map +2 -2
  795. package/build-module/components/block-popover/drop-zone.mjs.map +2 -2
  796. package/build-module/components/block-popover/inbetween.mjs.map +2 -2
  797. package/build-module/components/block-popover/index.mjs.map +2 -2
  798. package/build-module/components/block-popover/use-popover-scroll.mjs.map +2 -2
  799. package/build-module/components/block-preview/async.mjs.map +2 -2
  800. package/build-module/components/block-preview/auto.mjs.map +2 -2
  801. package/build-module/components/block-preview/index.mjs.map +2 -2
  802. package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
  803. package/build-module/components/block-removal-warning-modal/index.mjs.map +2 -2
  804. package/build-module/components/block-rename/modal.mjs.map +2 -2
  805. package/build-module/components/block-rename/rename-control.mjs.map +2 -2
  806. package/build-module/components/block-rename/use-block-rename.mjs.map +2 -2
  807. package/build-module/components/block-selection-clearer/index.mjs.map +2 -2
  808. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +2 -2
  809. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +2 -2
  810. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +2 -2
  811. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  812. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
  813. package/build-module/components/block-settings-menu/block-settings-menu-first-item.mjs.map +2 -2
  814. package/build-module/components/block-settings-menu/index.mjs.map +2 -2
  815. package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
  816. package/build-module/components/block-styles/index.mjs.map +2 -2
  817. package/build-module/components/block-styles/menu-items.mjs.map +2 -2
  818. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  819. package/build-module/components/block-styles/utils.mjs.map +2 -2
  820. package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
  821. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
  822. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +2 -2
  823. package/build-module/components/block-switcher/index.mjs.map +2 -2
  824. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +2 -2
  825. package/build-module/components/block-switcher/preview-block-popover.mjs.map +2 -2
  826. package/build-module/components/block-switcher/use-transformed-patterns.mjs.map +2 -2
  827. package/build-module/components/block-switcher/utils.mjs.map +2 -2
  828. package/build-module/components/block-title/index.mjs.map +2 -2
  829. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  830. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +2 -2
  831. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  832. package/build-module/components/block-toolbar/block-toolbar-last-item.mjs.map +2 -2
  833. package/build-module/components/block-toolbar/change-design.mjs.map +2 -2
  834. package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
  835. package/build-module/components/block-toolbar/index.mjs +43 -24
  836. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  837. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +2 -2
  838. package/build-module/components/block-toolbar/switch-section-style.mjs +4 -2
  839. package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
  840. package/build-module/components/block-toolbar/use-has-block-toolbar.mjs.map +2 -2
  841. package/build-module/components/block-toolbar/utils.mjs.map +2 -2
  842. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +2 -2
  843. package/build-module/components/block-tools/empty-block-inserter.mjs +2 -7
  844. package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
  845. package/build-module/components/block-tools/index.mjs +10 -11
  846. package/build-module/components/block-tools/index.mjs.map +2 -2
  847. package/build-module/components/block-tools/insertion-point.mjs.map +2 -2
  848. package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
  849. package/build-module/components/block-tools/use-selected-block-tool-props.mjs.map +2 -2
  850. package/build-module/components/block-tools/use-show-block-tools.mjs.map +2 -2
  851. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +2 -2
  852. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +2 -2
  853. package/build-module/components/block-types-list/index.mjs.map +2 -2
  854. package/build-module/components/block-variation-picker/index.mjs.map +2 -2
  855. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  856. package/build-module/components/block-vertical-alignment-control/index.mjs.map +2 -2
  857. package/build-module/components/block-vertical-alignment-control/ui.mjs +4 -6
  858. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
  859. package/build-module/components/block-visibility/constants.mjs +1 -1
  860. package/build-module/components/block-visibility/constants.mjs.map +3 -3
  861. package/build-module/components/block-visibility/modal.mjs +22 -10
  862. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  863. package/build-module/components/block-visibility/use-block-visibility.mjs +29 -21
  864. package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
  865. package/build-module/components/block-visibility/utils.mjs +18 -3
  866. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  867. package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
  868. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  869. package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
  870. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  871. package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
  872. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  873. package/build-module/components/border-radius-control/constants.mjs.map +2 -2
  874. package/build-module/components/border-radius-control/index.mjs.map +2 -2
  875. package/build-module/components/border-radius-control/linked-button.mjs.map +2 -2
  876. package/build-module/components/border-radius-control/utils.mjs +11 -53
  877. package/build-module/components/border-radius-control/utils.mjs.map +2 -2
  878. package/build-module/components/button-block-appender/index.mjs.map +2 -2
  879. package/build-module/components/child-layout-control/index.mjs +0 -4
  880. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  881. package/build-module/components/collab/note-icon-slot.mjs.map +2 -2
  882. package/build-module/components/collab/note-icon-toolbar-slot.mjs.map +2 -2
  883. package/build-module/components/color-palette/control.mjs.map +2 -2
  884. package/build-module/components/color-palette/index.mjs.map +2 -2
  885. package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
  886. package/build-module/components/color-style-selector/index.mjs.map +2 -2
  887. package/build-module/components/colors/utils.mjs +1 -3
  888. package/build-module/components/colors/utils.mjs.map +2 -2
  889. package/build-module/components/colors/with-colors.mjs +1 -3
  890. package/build-module/components/colors/with-colors.mjs.map +2 -2
  891. package/build-module/components/colors-gradients/control.mjs +5 -3
  892. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  893. package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
  894. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +5 -5
  895. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +2 -2
  896. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs.map +2 -2
  897. package/build-module/components/contrast-checker/index.mjs.map +2 -2
  898. package/build-module/components/convert-to-group-buttons/index.mjs +2 -5
  899. package/build-module/components/convert-to-group-buttons/index.mjs.map +2 -2
  900. package/build-module/components/convert-to-group-buttons/toolbar.mjs +3 -5
  901. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +2 -2
  902. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.mjs.map +2 -2
  903. package/build-module/components/copy-handler/index.mjs.map +2 -2
  904. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  905. package/build-module/components/default-block-appender/index.mjs.map +2 -2
  906. package/build-module/components/dimension-control/index.mjs +30 -20
  907. package/build-module/components/dimension-control/index.mjs.map +2 -2
  908. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +10 -6
  909. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  910. package/build-module/components/dimensions-tool/index.mjs.map +2 -2
  911. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  912. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  913. package/build-module/components/duotone-control/index.mjs.map +2 -2
  914. package/build-module/components/editable-text/index.mjs.map +2 -2
  915. package/build-module/components/editor-styles/index.mjs +9 -1
  916. package/build-module/components/editor-styles/index.mjs.map +2 -2
  917. package/build-module/components/fit-text-size-warning/index.mjs.map +2 -2
  918. package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +2 -2
  919. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  920. package/build-module/components/font-family/index.mjs.map +2 -2
  921. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  922. package/build-module/components/font-sizes/utils.mjs +1 -3
  923. package/build-module/components/font-sizes/utils.mjs.map +2 -2
  924. package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
  925. package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
  926. package/build-module/components/global-styles/background-panel.mjs +71 -29
  927. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  928. package/build-module/components/global-styles/border-panel.mjs +157 -56
  929. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  930. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +51 -15
  931. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
  932. package/build-module/components/global-styles/color-panel.mjs +63 -17
  933. package/build-module/components/global-styles/color-panel.mjs.map +2 -2
  934. package/build-module/components/global-styles/dimensions-panel.mjs +248 -66
  935. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  936. package/build-module/components/global-styles/filters-panel.mjs +64 -21
  937. package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
  938. package/build-module/components/global-styles/hooks.mjs +4 -1
  939. package/build-module/components/global-styles/hooks.mjs.map +2 -2
  940. package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
  941. package/build-module/components/global-styles/inheritance/index.mjs +108 -0
  942. package/build-module/components/global-styles/inheritance/index.mjs.map +7 -0
  943. package/build-module/components/global-styles/inherited-value-context.mjs +141 -0
  944. package/build-module/components/global-styles/inherited-value-context.mjs.map +7 -0
  945. package/build-module/components/global-styles/shadow-panel-components.mjs +38 -20
  946. package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
  947. package/build-module/components/global-styles/state-control-badges.mjs +41 -5
  948. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  949. package/build-module/components/global-styles/state-control.mjs +1 -1
  950. package/build-module/components/global-styles/state-control.mjs.map +2 -2
  951. package/build-module/components/global-styles/typography-panel.mjs +276 -80
  952. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  953. package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
  954. package/build-module/components/global-styles/utils.mjs.map +2 -2
  955. package/build-module/components/gradients/use-gradient.mjs.map +2 -2
  956. package/build-module/components/gradients/with-gradient.mjs.map +2 -2
  957. package/build-module/components/grid/grid-item-movers.mjs.map +2 -2
  958. package/build-module/components/grid/grid-item-resizer.mjs.map +2 -2
  959. package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
  960. package/build-module/components/grid/use-get-number-of-blocks-before-cell.mjs.map +2 -2
  961. package/build-module/components/grid/use-grid-layout-sync.mjs.map +2 -2
  962. package/build-module/components/height-control/index.mjs.map +2 -2
  963. package/build-module/components/html-element-control/index.mjs.map +2 -2
  964. package/build-module/components/html-element-control/messages.mjs.map +2 -2
  965. package/build-module/components/iframe/index.mjs +19 -24
  966. package/build-module/components/iframe/index.mjs.map +2 -2
  967. package/build-module/components/iframe/use-scale-canvas.mjs +21 -7
  968. package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
  969. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +2 -2
  970. package/build-module/components/image-editor/context.mjs.map +2 -2
  971. package/build-module/components/image-editor/cropper.mjs.map +2 -2
  972. package/build-module/components/image-editor/form-controls.mjs.map +2 -2
  973. package/build-module/components/image-editor/index.mjs.map +2 -2
  974. package/build-module/components/image-editor/rotation-button.mjs.map +2 -2
  975. package/build-module/components/image-editor/use-save-image.mjs.map +2 -2
  976. package/build-module/components/image-editor/use-transform-image.mjs.map +2 -2
  977. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  978. package/build-module/components/image-size-control/index.mjs +2 -4
  979. package/build-module/components/image-size-control/index.mjs.map +2 -2
  980. package/build-module/components/image-size-control/use-dimension-handler.mjs.map +2 -2
  981. package/build-module/components/inner-blocks/button-block-appender.mjs.map +2 -2
  982. package/build-module/components/inner-blocks/default-block-appender.mjs.map +2 -2
  983. package/build-module/components/inner-blocks/index.mjs.map +2 -2
  984. package/build-module/components/inner-blocks/use-block-context.mjs.map +2 -2
  985. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +35 -8
  986. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
  987. package/build-module/components/inner-blocks/use-nested-settings-update.mjs.map +2 -2
  988. package/build-module/components/inner-content/index.mjs.map +2 -2
  989. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +2 -2
  990. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +2 -2
  991. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +2 -2
  992. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +2 -2
  993. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +2 -2
  994. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +2 -2
  995. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
  996. package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
  997. package/build-module/components/inserter/block-types-tab.mjs.map +2 -2
  998. package/build-module/components/inserter/category-tabs/index.mjs.map +2 -2
  999. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  1000. package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
  1001. package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +2 -2
  1002. package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
  1003. package/build-module/components/inserter/index.mjs +4 -13
  1004. package/build-module/components/inserter/index.mjs.map +2 -2
  1005. package/build-module/components/inserter/library.mjs.map +2 -2
  1006. package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
  1007. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  1008. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  1009. package/build-module/components/inserter/media-tab/media-panel.mjs +86 -18
  1010. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  1011. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  1012. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  1013. package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
  1014. package/build-module/components/inserter/menu.mjs.map +2 -2
  1015. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  1016. package/build-module/components/inserter/no-results.mjs.map +2 -2
  1017. package/build-module/components/inserter/panel.mjs.map +2 -2
  1018. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  1019. package/build-module/components/inserter/quick-inserter.mjs.map +2 -2
  1020. package/build-module/components/inserter/search-items.mjs.map +2 -2
  1021. package/build-module/components/inserter/search-results.mjs.map +2 -2
  1022. package/build-module/components/inserter/tips.mjs.map +2 -2
  1023. package/build-module/components/inserter-button/sparkles.mjs.map +2 -2
  1024. package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
  1025. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  1026. package/build-module/components/inserter-listbox/context.mjs.map +2 -2
  1027. package/build-module/components/inserter-listbox/group.mjs.map +2 -2
  1028. package/build-module/components/inserter-listbox/index.mjs.map +2 -2
  1029. package/build-module/components/inserter-listbox/item.mjs.map +2 -2
  1030. package/build-module/components/inserter-listbox/row.mjs.map +2 -2
  1031. package/build-module/components/inserter-menu-extension/index.mjs.map +2 -2
  1032. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +2 -2
  1033. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
  1034. package/build-module/components/inspector-controls/fill.mjs +15 -17
  1035. package/build-module/components/inspector-controls/fill.mjs.map +2 -2
  1036. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  1037. package/build-module/components/inspector-controls/index.mjs.map +2 -2
  1038. package/build-module/components/inspector-controls/last-item.mjs.map +2 -2
  1039. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
  1040. package/build-module/components/inspector-controls/slot.mjs.map +2 -2
  1041. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +2 -2
  1042. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +2 -2
  1043. package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
  1044. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +2 -2
  1045. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
  1046. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +6 -1
  1047. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
  1048. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
  1049. package/build-module/components/inspector-controls-tabs/utils.mjs.map +2 -2
  1050. package/build-module/components/inspector-popover-header/index.mjs.map +2 -2
  1051. package/build-module/components/justify-content-control/index.mjs.map +2 -2
  1052. package/build-module/components/justify-content-control/ui.mjs.map +2 -2
  1053. package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
  1054. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  1055. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  1056. package/build-module/components/line-height-control/index.mjs +1 -2
  1057. package/build-module/components/line-height-control/index.mjs.map +2 -2
  1058. package/build-module/components/link-control/constants.mjs.map +2 -2
  1059. package/build-module/components/link-control/index.mjs +4 -2
  1060. package/build-module/components/link-control/index.mjs.map +2 -2
  1061. package/build-module/components/link-control/is-url-like.mjs.map +2 -2
  1062. package/build-module/components/link-control/link-preview.mjs.map +2 -2
  1063. package/build-module/components/link-control/normalize-url.mjs.map +2 -2
  1064. package/build-module/components/link-control/search-create-button.mjs.map +2 -2
  1065. package/build-module/components/link-control/search-input.mjs.map +2 -2
  1066. package/build-module/components/link-control/search-item.mjs.map +2 -2
  1067. package/build-module/components/link-control/search-results.mjs +1 -1
  1068. package/build-module/components/link-control/search-results.mjs.map +2 -2
  1069. package/build-module/components/link-control/settings-drawer.mjs.map +2 -2
  1070. package/build-module/components/link-control/settings.mjs.map +2 -2
  1071. package/build-module/components/link-control/use-create-page.mjs.map +2 -2
  1072. package/build-module/components/link-control/use-internal-value.mjs.map +2 -2
  1073. package/build-module/components/link-control/use-rich-url-data.mjs +1 -1
  1074. package/build-module/components/link-control/use-rich-url-data.mjs.map +2 -2
  1075. package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
  1076. package/build-module/components/link-control/viewer-slot.mjs.map +2 -2
  1077. package/build-module/components/link-picker/link-picker.mjs.map +2 -2
  1078. package/build-module/components/link-picker/link-preview.mjs.map +2 -2
  1079. package/build-module/components/list-view/appender.mjs +7 -4
  1080. package/build-module/components/list-view/appender.mjs.map +2 -2
  1081. package/build-module/components/list-view/aria-referenced-text.mjs +2 -9
  1082. package/build-module/components/list-view/aria-referenced-text.mjs.map +2 -2
  1083. package/build-module/components/list-view/block-contents.mjs +18 -21
  1084. package/build-module/components/list-view/block-contents.mjs.map +2 -2
  1085. package/build-module/components/list-view/block-select-button.mjs +49 -26
  1086. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  1087. package/build-module/components/list-view/block.mjs +50 -48
  1088. package/build-module/components/list-view/block.mjs.map +2 -2
  1089. package/build-module/components/list-view/branch.mjs +100 -80
  1090. package/build-module/components/list-view/branch.mjs.map +2 -2
  1091. package/build-module/components/list-view/context.mjs +11 -1
  1092. package/build-module/components/list-view/context.mjs.map +2 -2
  1093. package/build-module/components/list-view/drop-indicator.mjs +6 -6
  1094. package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
  1095. package/build-module/components/list-view/expander.mjs.map +2 -2
  1096. package/build-module/components/list-view/index.mjs +87 -95
  1097. package/build-module/components/list-view/index.mjs.map +2 -2
  1098. package/build-module/components/list-view/leaf.mjs.map +2 -2
  1099. package/build-module/components/list-view/use-block-selection.mjs.map +2 -2
  1100. package/build-module/components/list-view/use-clipboard-handler.mjs.map +2 -2
  1101. package/build-module/components/list-view/use-list-view-block-indexes.mjs.map +2 -2
  1102. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  1103. package/build-module/components/list-view/use-list-view-collapse-items.mjs +3 -4
  1104. package/build-module/components/list-view/use-list-view-collapse-items.mjs.map +2 -2
  1105. package/build-module/components/list-view/use-list-view-drop-zone.mjs +7 -13
  1106. package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
  1107. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs +3 -3
  1108. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs.map +2 -2
  1109. package/build-module/components/list-view/use-list-view-images.mjs +4 -3
  1110. package/build-module/components/list-view/use-list-view-images.mjs.map +2 -2
  1111. package/build-module/components/list-view/use-list-view-scroll-into-view.mjs.map +2 -2
  1112. package/build-module/components/list-view/utils.mjs +5 -3
  1113. package/build-module/components/list-view/utils.mjs.map +2 -2
  1114. package/build-module/components/media-placeholder/index.mjs +0 -1
  1115. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  1116. package/build-module/components/media-replace-flow/index.mjs.map +2 -2
  1117. package/build-module/components/media-upload/check.mjs.map +2 -2
  1118. package/build-module/components/media-upload/index.mjs.map +2 -2
  1119. package/build-module/components/multi-selection-inspector/index.mjs +33 -12
  1120. package/build-module/components/multi-selection-inspector/index.mjs.map +2 -2
  1121. package/build-module/components/navigable-toolbar/index.mjs +30 -18
  1122. package/build-module/components/navigable-toolbar/index.mjs.map +2 -2
  1123. package/build-module/components/observe-typing/index.mjs.map +2 -2
  1124. package/build-module/components/panel-color-settings/index.mjs.map +2 -2
  1125. package/build-module/components/plain-text/index.mjs.map +2 -2
  1126. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  1127. package/build-module/components/preset-input-control/index.mjs +2 -1
  1128. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  1129. package/build-module/components/preview-options/index.mjs.map +2 -2
  1130. package/build-module/components/provider/block-refs-provider.mjs +8 -2
  1131. package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
  1132. package/build-module/components/provider/index.mjs +1 -1
  1133. package/build-module/components/provider/index.mjs.map +2 -2
  1134. package/build-module/components/provider/selection-context.mjs.map +2 -2
  1135. package/build-module/components/provider/use-block-sync.mjs +18 -6
  1136. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  1137. package/build-module/components/provider/use-media-upload-settings.mjs +3 -1
  1138. package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
  1139. package/build-module/components/provider/with-registry-provider.mjs.map +2 -2
  1140. package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
  1141. package/build-module/components/recursion-provider/index.mjs.map +2 -2
  1142. package/build-module/components/resizable-box-popover/index.mjs.map +2 -2
  1143. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  1144. package/build-module/components/responsive-block-control/index.mjs.map +2 -2
  1145. package/build-module/components/responsive-block-control/label.mjs.map +2 -2
  1146. package/build-module/components/rich-text/content.mjs.map +2 -2
  1147. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
  1148. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  1149. package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
  1150. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  1151. package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
  1152. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  1153. package/build-module/components/rich-text/event-listeners/firefox-compat.mjs.map +2 -2
  1154. package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
  1155. package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
  1156. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  1157. package/build-module/components/rich-text/event-listeners/input-rules.mjs +21 -15
  1158. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  1159. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
  1160. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  1161. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +16 -3
  1162. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  1163. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
  1164. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  1165. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
  1166. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  1167. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
  1168. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  1169. package/build-module/components/rich-text/format-edit.mjs.map +2 -2
  1170. package/build-module/components/rich-text/format-toolbar/index.mjs.map +2 -2
  1171. package/build-module/components/rich-text/format-toolbar-container.mjs.map +2 -2
  1172. package/build-module/components/rich-text/get-rich-text-values.mjs.map +2 -2
  1173. package/build-module/components/rich-text/index.mjs +79 -14
  1174. package/build-module/components/rich-text/index.mjs.map +2 -2
  1175. package/build-module/components/rich-text/multiline.mjs.map +2 -2
  1176. package/build-module/components/rich-text/prevent-event-discovery.mjs.map +2 -2
  1177. package/build-module/components/rich-text/toolbar-button.mjs.map +2 -2
  1178. package/build-module/components/rich-text/use-mark-persistent.mjs.map +2 -2
  1179. package/build-module/components/rich-text/utils.mjs.map +2 -2
  1180. package/build-module/components/rich-text/with-deprecations.mjs.map +2 -2
  1181. package/build-module/components/selection-scroll-into-view/index.mjs.map +2 -2
  1182. package/build-module/components/skip-to-selected-block/index.mjs.map +2 -2
  1183. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
  1184. package/build-module/components/spacing-sizes-control/index.mjs +2 -2
  1185. package/build-module/components/spacing-sizes-control/index.mjs.map +2 -2
  1186. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +2 -2
  1187. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +2 -2
  1188. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +2 -2
  1189. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +2 -2
  1190. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +2 -2
  1191. package/build-module/components/spacing-sizes-control/utils.mjs +6 -18
  1192. package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
  1193. package/build-module/components/tabbed-sidebar/index.mjs.map +2 -2
  1194. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  1195. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  1196. package/build-module/components/text-indent-control/index.mjs +8 -2
  1197. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  1198. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  1199. package/build-module/components/tool-selector/index.mjs.map +2 -2
  1200. package/build-module/components/typewriter/index.mjs +129 -136
  1201. package/build-module/components/typewriter/index.mjs.map +2 -2
  1202. package/build-module/components/unit-control/index.mjs.map +2 -2
  1203. package/build-module/components/url-input/button.mjs.map +2 -2
  1204. package/build-module/components/url-input/index.mjs +317 -382
  1205. package/build-module/components/url-input/index.mjs.map +2 -2
  1206. package/build-module/components/url-popover/image-url-input-ui.mjs +2 -2
  1207. package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
  1208. package/build-module/components/url-popover/index.mjs.map +2 -2
  1209. package/build-module/components/url-popover/link-editor.mjs.map +2 -2
  1210. package/build-module/components/url-popover/link-viewer-url.mjs.map +2 -2
  1211. package/build-module/components/url-popover/link-viewer.mjs.map +2 -2
  1212. package/build-module/components/use-block-commands/index.mjs +23 -18
  1213. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  1214. package/build-module/components/use-block-display-information/index.mjs +2 -1
  1215. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  1216. package/build-module/components/use-block-drop-zone/index.mjs.map +2 -2
  1217. package/build-module/components/use-flash-editable-blocks/index.mjs.map +2 -2
  1218. package/build-module/components/use-list-view-panel-state/index.mjs.map +2 -2
  1219. package/build-module/components/use-moving-animation/index.mjs +2 -2
  1220. package/build-module/components/use-moving-animation/index.mjs.map +2 -2
  1221. package/build-module/components/use-on-block-drop/index.mjs +2 -2
  1222. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  1223. package/build-module/components/use-paste-styles/index.mjs.map +2 -2
  1224. package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
  1225. package/build-module/components/use-settings/index.mjs.map +2 -2
  1226. package/build-module/components/warning/index.mjs.map +2 -2
  1227. package/build-module/components/writing-flow/index.mjs +14 -1
  1228. package/build-module/components/writing-flow/index.mjs.map +2 -2
  1229. package/build-module/components/writing-flow/use-arrow-nav.mjs +53 -8
  1230. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  1231. package/build-module/components/writing-flow/use-click-selection.mjs +29 -3
  1232. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  1233. package/build-module/components/writing-flow/use-clipboard-handler.mjs +36 -7
  1234. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  1235. package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
  1236. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  1237. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs +154 -0
  1238. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +7 -0
  1239. package/build-module/components/writing-flow/use-editable-root.mjs +54 -0
  1240. package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
  1241. package/build-module/components/writing-flow/use-home-end.mjs +43 -0
  1242. package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
  1243. package/build-module/components/writing-flow/use-input.mjs +15 -5
  1244. package/build-module/components/writing-flow/use-input.mjs.map +2 -2
  1245. package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
  1246. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  1247. package/build-module/components/writing-flow/use-preview-mode-nav.mjs.map +2 -2
  1248. package/build-module/components/writing-flow/use-select-all.mjs +19 -3
  1249. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  1250. package/build-module/components/writing-flow/use-selection-observer.mjs +134 -21
  1251. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  1252. package/build-module/components/writing-flow/use-tab-nav.mjs +3 -1
  1253. package/build-module/components/writing-flow/use-tab-nav.mjs.map +2 -2
  1254. package/build-module/components/writing-flow/utils.mjs +26 -1
  1255. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  1256. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  1257. package/build-module/hooks/align.mjs.map +2 -2
  1258. package/build-module/hooks/allowed-blocks.mjs.map +2 -2
  1259. package/build-module/hooks/anchor.mjs.map +2 -2
  1260. package/build-module/hooks/aria-label.mjs.map +2 -2
  1261. package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
  1262. package/build-module/hooks/background.mjs +13 -12
  1263. package/build-module/hooks/background.mjs.map +2 -2
  1264. package/build-module/hooks/block-bindings.mjs.map +2 -2
  1265. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +2 -2
  1266. package/build-module/hooks/block-fields/index.mjs.map +2 -2
  1267. package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
  1268. package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
  1269. package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
  1270. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  1271. package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +2 -2
  1272. package/build-module/hooks/block-hooks.mjs.map +2 -2
  1273. package/build-module/hooks/block-renaming.mjs.map +2 -2
  1274. package/build-module/hooks/block-style-state.mjs.map +2 -2
  1275. package/build-module/hooks/block-style-variation.mjs +8 -44
  1276. package/build-module/hooks/block-style-variation.mjs.map +2 -2
  1277. package/build-module/hooks/border.mjs +19 -4
  1278. package/build-module/hooks/border.mjs.map +2 -2
  1279. package/build-module/hooks/color.mjs.map +2 -2
  1280. package/build-module/hooks/compat.mjs.map +2 -2
  1281. package/build-module/hooks/contrast-checker.mjs.map +2 -2
  1282. package/build-module/hooks/custom-class-name.mjs.map +2 -2
  1283. package/build-module/hooks/custom-css.mjs +7 -3
  1284. package/build-module/hooks/custom-css.mjs.map +2 -2
  1285. package/build-module/hooks/dimensions.mjs +15 -4
  1286. package/build-module/hooks/dimensions.mjs.map +2 -2
  1287. package/build-module/hooks/duotone.mjs +20 -9
  1288. package/build-module/hooks/duotone.mjs.map +2 -2
  1289. package/build-module/hooks/elements.mjs +15 -5
  1290. package/build-module/hooks/elements.mjs.map +2 -2
  1291. package/build-module/hooks/fit-text.mjs.map +2 -2
  1292. package/build-module/hooks/font-family.mjs +1 -3
  1293. package/build-module/hooks/font-family.mjs.map +2 -2
  1294. package/build-module/hooks/font-size.mjs.map +2 -2
  1295. package/build-module/hooks/gap.mjs.map +2 -2
  1296. package/build-module/hooks/generated-class-name.mjs.map +2 -2
  1297. package/build-module/hooks/grid-visualizer.mjs +5 -3
  1298. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1299. package/build-module/hooks/index.mjs.map +2 -2
  1300. package/build-module/hooks/layout-child.mjs +22 -12
  1301. package/build-module/hooks/layout-child.mjs.map +2 -2
  1302. package/build-module/hooks/layout.mjs +30 -16
  1303. package/build-module/hooks/layout.mjs.map +2 -2
  1304. package/build-module/hooks/line-height.mjs +1 -2
  1305. package/build-module/hooks/line-height.mjs.map +2 -2
  1306. package/build-module/hooks/list-view.mjs.map +2 -2
  1307. package/build-module/hooks/lock.mjs.map +2 -2
  1308. package/build-module/hooks/metadata.mjs.map +2 -2
  1309. package/build-module/hooks/position.mjs.map +2 -2
  1310. package/build-module/hooks/settings.mjs.map +2 -2
  1311. package/build-module/hooks/spacing-visualizer.mjs.map +2 -2
  1312. package/build-module/hooks/state-utils.mjs.map +2 -2
  1313. package/build-module/hooks/states.mjs +27 -7
  1314. package/build-module/hooks/states.mjs.map +2 -2
  1315. package/build-module/hooks/style.mjs +40 -11
  1316. package/build-module/hooks/style.mjs.map +2 -2
  1317. package/build-module/hooks/supports.mjs.map +2 -2
  1318. package/build-module/hooks/text-align.mjs +39 -10
  1319. package/build-module/hooks/text-align.mjs.map +2 -2
  1320. package/build-module/hooks/typography.mjs +14 -5
  1321. package/build-module/hooks/typography.mjs.map +2 -2
  1322. package/build-module/hooks/use-border-props.mjs.map +2 -2
  1323. package/build-module/hooks/use-cached-truthy.mjs.map +2 -2
  1324. package/build-module/hooks/use-color-props.mjs.map +2 -2
  1325. package/build-module/hooks/use-content-only-section-edit.mjs.map +2 -2
  1326. package/build-module/hooks/use-dimensions-props.mjs.map +2 -2
  1327. package/build-module/hooks/use-shadow-props.mjs.map +2 -2
  1328. package/build-module/hooks/use-spacing-props.mjs.map +2 -2
  1329. package/build-module/hooks/use-typography-props.mjs +1 -3
  1330. package/build-module/hooks/use-typography-props.mjs.map +2 -2
  1331. package/build-module/hooks/use-zoom-out.mjs.map +2 -2
  1332. package/build-module/hooks/utils.mjs.map +2 -2
  1333. package/build-module/index.mjs.map +2 -2
  1334. package/build-module/layouts/constrained.mjs +14 -6
  1335. package/build-module/layouts/constrained.mjs.map +2 -2
  1336. package/build-module/layouts/flex.mjs +27 -19
  1337. package/build-module/layouts/flex.mjs.map +2 -2
  1338. package/build-module/layouts/flow.mjs.map +2 -2
  1339. package/build-module/layouts/grid.mjs +0 -2
  1340. package/build-module/layouts/grid.mjs.map +2 -2
  1341. package/build-module/layouts/index.mjs.map +2 -2
  1342. package/build-module/layouts/utils.mjs.map +2 -2
  1343. package/build-module/lock-unlock.mjs.map +2 -2
  1344. package/build-module/private-apis.mjs +7 -3
  1345. package/build-module/private-apis.mjs.map +2 -2
  1346. package/build-module/store/actions.mjs +116 -43
  1347. package/build-module/store/actions.mjs.map +3 -3
  1348. package/build-module/store/defaults.mjs +2 -0
  1349. package/build-module/store/defaults.mjs.map +2 -2
  1350. package/build-module/store/get-block-settings.mjs.map +2 -2
  1351. package/build-module/store/index.mjs.map +2 -2
  1352. package/build-module/store/private-actions.mjs +19 -2
  1353. package/build-module/store/private-actions.mjs.map +2 -2
  1354. package/build-module/store/private-selectors.mjs +69 -13
  1355. package/build-module/store/private-selectors.mjs.map +2 -2
  1356. package/build-module/store/reducer.mjs +9 -7
  1357. package/build-module/store/reducer.mjs.map +2 -2
  1358. package/build-module/store/selectors.mjs +44 -8
  1359. package/build-module/store/selectors.mjs.map +2 -2
  1360. package/build-module/store/utils.mjs.map +2 -2
  1361. package/build-module/utils/block-bindings.mjs +28 -0
  1362. package/build-module/utils/block-bindings.mjs.map +2 -2
  1363. package/build-module/utils/dom.mjs +13 -0
  1364. package/build-module/utils/dom.mjs.map +2 -2
  1365. package/build-module/utils/fit-text-frontend.mjs.map +2 -2
  1366. package/build-module/utils/format-font-style.mjs.map +2 -2
  1367. package/build-module/utils/format-font-weight.mjs.map +2 -2
  1368. package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
  1369. package/build-module/utils/group-blocks.mjs +21 -0
  1370. package/build-module/utils/group-blocks.mjs.map +7 -0
  1371. package/build-module/utils/native-undo.mjs +29 -0
  1372. package/build-module/utils/native-undo.mjs.map +7 -0
  1373. package/build-module/utils/pasting.mjs.map +2 -2
  1374. package/build-module/utils/selection.mjs.map +2 -2
  1375. package/build-module/utils/sibling-block-attributes.mjs +20 -0
  1376. package/build-module/utils/sibling-block-attributes.mjs.map +7 -0
  1377. package/build-module/utils/transform-styles/index.mjs.map +2 -2
  1378. package/build-module/utils/use-notify-copy.mjs.map +2 -2
  1379. package/build-style/content-rtl.css +16 -29
  1380. package/build-style/content.css +16 -29
  1381. package/build-style/default-editor-styles-rtl.css +1 -1
  1382. package/build-style/default-editor-styles.css +1 -1
  1383. package/build-style/style-rtl.css +228 -66
  1384. package/build-style/style.css +228 -66
  1385. package/build-types/components/block-context/index.d.ts +7 -0
  1386. package/build-types/components/block-context/index.d.ts.map +1 -1
  1387. package/build-types/components/block-visibility/constants.d.ts +44 -0
  1388. package/build-types/components/block-visibility/constants.d.ts.map +1 -0
  1389. package/build-types/components/block-visibility/use-block-visibility.d.ts +35 -0
  1390. package/build-types/components/block-visibility/use-block-visibility.d.ts.map +1 -0
  1391. package/build-types/lock-unlock.d.ts +2 -0
  1392. package/build-types/lock-unlock.d.ts.map +1 -0
  1393. package/build-types/utils/block-bindings.d.ts +19 -0
  1394. package/build-types/utils/block-bindings.d.ts.map +1 -1
  1395. package/build-types/utils/dom.d.ts +11 -0
  1396. package/build-types/utils/dom.d.ts.map +1 -1
  1397. package/build-types/utils/fit-text-frontend.d.ts +0 -5
  1398. package/build-types/utils/fit-text-frontend.d.ts.map +1 -1
  1399. package/build-types/utils/format-font-style.d.ts +0 -3
  1400. package/build-types/utils/format-font-style.d.ts.map +1 -1
  1401. package/build-types/utils/format-font-weight.d.ts +0 -3
  1402. package/build-types/utils/format-font-weight.d.ts.map +1 -1
  1403. package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -1
  1404. package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
  1405. package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
  1406. package/build-types/utils/pasting.d.ts +1 -1
  1407. package/build-types/utils/pasting.d.ts.map +1 -1
  1408. package/build-types/utils/selection.d.ts.map +1 -1
  1409. package/build-types/utils/transform-styles/index.d.ts +0 -3
  1410. package/build-types/utils/transform-styles/index.d.ts.map +1 -1
  1411. package/package.json +45 -45
  1412. package/src/autocompleters/block.js +0 -7
  1413. package/src/autocompleters/test/block.js +0 -7
  1414. package/src/components/alignment-control/index.js +0 -3
  1415. package/src/components/alignment-control/stories/aliginment-toolbar.story.jsx +0 -7
  1416. package/src/components/alignment-control/stories/index.story.jsx +0 -7
  1417. package/src/components/alignment-control/test/__snapshots__/index.js.snap +1 -1
  1418. package/src/components/alignment-control/test/index.js +0 -11
  1419. package/src/components/alignment-control/ui.js +2 -7
  1420. package/src/components/autocomplete/index.js +0 -7
  1421. package/src/components/background-image-control/index.js +74 -49
  1422. package/src/components/background-image-control/style.scss +13 -4
  1423. package/src/components/background-image-control/test/index.js +0 -4
  1424. package/src/components/block-actions/README.md +67 -0
  1425. package/src/components/block-actions/index.js +3 -14
  1426. package/src/components/block-alignment-control/constants.js +0 -3
  1427. package/src/components/block-alignment-control/index.js +0 -3
  1428. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +3 -3
  1429. package/src/components/block-alignment-control/test/index.js +1 -8
  1430. package/src/components/block-alignment-control/ui.js +4 -13
  1431. package/src/components/block-alignment-control/use-available-alignments.js +0 -7
  1432. package/src/components/block-alignment-matrix-control/index.js +0 -3
  1433. package/src/components/block-alignment-matrix-control/stories/index.story.jsx +0 -7
  1434. package/src/components/block-allowed-blocks/allowed-blocks-control.js +0 -7
  1435. package/src/components/block-allowed-blocks/modal.js +0 -7
  1436. package/src/components/block-bindings/attribute-control.js +10 -11
  1437. package/src/components/block-bindings/index.js +0 -3
  1438. package/src/components/block-bindings/source-fields-list.js +0 -11
  1439. package/src/components/block-bindings/test/use-block-bindings-utils.js +1 -12
  1440. package/src/components/block-bindings/use-block-bindings-utils.js +0 -7
  1441. package/src/components/block-breadcrumb/index.js +0 -7
  1442. package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +1 -1
  1443. package/src/components/block-breadcrumb/test/index.js +0 -7
  1444. package/src/components/block-canvas/index.js +9 -9
  1445. package/src/components/block-card/index.js +0 -11
  1446. package/src/components/block-card/style.scss +1 -1
  1447. package/src/components/block-compare/block-view.js +0 -3
  1448. package/src/components/block-compare/index.js +0 -11
  1449. package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
  1450. package/src/components/block-compare/test/block-view.js +0 -7
  1451. package/src/components/block-content-overlay/index.js +0 -7
  1452. package/src/components/block-context/README.md +0 -1
  1453. package/src/components/block-context/index.js +0 -3
  1454. package/src/components/block-controls/README.md +0 -3
  1455. package/src/components/block-controls/fill.js +0 -7
  1456. package/src/components/block-controls/groups.js +2 -3
  1457. package/src/components/block-controls/hook.js +0 -7
  1458. package/src/components/block-controls/index.js +0 -3
  1459. package/src/components/block-controls/slot.js +0 -7
  1460. package/src/components/block-controls/test/index.js +0 -11
  1461. package/src/components/block-draggable/draggable-chip.js +0 -7
  1462. package/src/components/block-draggable/index.js +0 -7
  1463. package/src/components/block-draggable/stories/index.story.jsx +0 -3
  1464. package/src/components/block-draggable/use-scroll-when-dragging.js +0 -3
  1465. package/src/components/block-edit/context.js +0 -3
  1466. package/src/components/block-edit/edit.js +13 -42
  1467. package/src/components/block-edit/index.js +0 -7
  1468. package/src/components/block-edit/multiple-usage-warning.js +0 -7
  1469. package/src/components/block-edit/test/edit.js +0 -11
  1470. package/src/components/block-edit-visually-button/index.js +0 -7
  1471. package/src/components/block-editing-mode/index.js +0 -7
  1472. package/src/components/block-full-height-alignment-control/index.js +0 -3
  1473. package/src/components/block-heading-level-dropdown/heading-level-icon.js +0 -3
  1474. package/src/components/block-heading-level-dropdown/index.js +0 -7
  1475. package/src/components/block-heading-level-dropdown/stories/index.story.jsx +0 -7
  1476. package/src/components/block-icon/index.js +0 -7
  1477. package/src/components/block-icon/stories/index.story.ts +0 -7
  1478. package/src/components/block-icon/test/__snapshots__/index.js.snap +1 -1
  1479. package/src/components/block-icon/test/index.js +0 -11
  1480. package/src/components/block-inspector/edit-contents.js +27 -32
  1481. package/src/components/block-inspector/index.js +67 -39
  1482. package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +0 -3
  1483. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +0 -7
  1484. package/src/components/block-list/README.md +98 -0
  1485. package/src/components/block-list/block-crash-boundary.js +0 -3
  1486. package/src/components/block-list/block-crash-warning.js +0 -7
  1487. package/src/components/block-list/block-html.js +5 -11
  1488. package/src/components/block-list/block-invalid-warning.js +0 -7
  1489. package/src/components/block-list/block.js +63 -23
  1490. package/src/components/block-list/content.scss +1 -11
  1491. package/src/components/block-list/index.js +62 -26
  1492. package/src/components/block-list/layout.js +0 -7
  1493. package/src/components/block-list/private-block-context.js +0 -3
  1494. package/src/components/block-list/subdirectory-icon.js +0 -3
  1495. package/src/components/block-list/use-block-props/index.js +63 -12
  1496. package/src/components/block-list/use-block-props/use-block-refs.js +0 -7
  1497. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +0 -3
  1498. package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -11
  1499. package/src/components/block-list/use-block-props/use-focus-handler.js +35 -16
  1500. package/src/components/block-list/use-block-props/use-intersection-observer.js +0 -7
  1501. package/src/components/block-list/use-block-props/use-is-hovered.js +0 -7
  1502. package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +38 -0
  1503. package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -3
  1504. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +0 -7
  1505. package/src/components/block-list/use-in-between-inserter.js +0 -7
  1506. package/src/components/block-list/zoom-out-separator.js +0 -11
  1507. package/src/components/block-list-appender/index.js +0 -11
  1508. package/src/components/block-lock/README.md +66 -0
  1509. package/src/components/block-lock/menu-item.js +0 -7
  1510. package/src/components/block-lock/modal.js +0 -7
  1511. package/src/components/block-lock/style.scss +1 -1
  1512. package/src/components/block-lock/toolbar.js +0 -7
  1513. package/src/components/block-lock/use-block-lock.js +0 -7
  1514. package/src/components/block-manager/category.js +0 -7
  1515. package/src/components/block-manager/checklist.js +0 -7
  1516. package/src/components/block-manager/index.js +0 -7
  1517. package/src/components/block-manager/style.scss +1 -1
  1518. package/src/components/block-mover/button.js +17 -26
  1519. package/src/components/block-mover/index.js +0 -12
  1520. package/src/components/block-mover/mover-description.js +0 -3
  1521. package/src/components/block-mover/stories/index.story.jsx +0 -7
  1522. package/src/components/block-mover/test/mover-description.js +0 -3
  1523. package/src/components/block-navigation/dropdown.js +0 -11
  1524. package/src/components/block-navigation/style.scss +1 -1
  1525. package/src/components/block-parent-selector/index.js +5 -9
  1526. package/src/components/block-pattern-setup/index.js +0 -8
  1527. package/src/components/block-pattern-setup/setup-toolbar.js +0 -7
  1528. package/src/components/block-pattern-setup/use-patterns-setup.js +0 -7
  1529. package/src/components/block-patterns-list/index.js +0 -11
  1530. package/src/components/block-patterns-list/stories/index.story.jsx +3 -10
  1531. package/src/components/block-patterns-paging/index.js +0 -3
  1532. package/src/components/block-popover/cover.js +0 -7
  1533. package/src/components/block-popover/drop-zone.js +0 -7
  1534. package/src/components/block-popover/inbetween.js +0 -11
  1535. package/src/components/block-popover/index.js +0 -11
  1536. package/src/components/block-popover/use-popover-scroll.js +0 -3
  1537. package/src/components/block-preview/async.js +0 -3
  1538. package/src/components/block-preview/auto.js +0 -7
  1539. package/src/components/block-preview/index.js +0 -11
  1540. package/src/components/block-preview/test/index.js +0 -11
  1541. package/src/components/block-quick-navigation/index.js +0 -7
  1542. package/src/components/block-quick-navigation/style.scss +1 -3
  1543. package/src/components/block-removal-warning-modal/index.js +0 -7
  1544. package/src/components/block-rename/modal.js +0 -7
  1545. package/src/components/block-rename/rename-control.js +0 -7
  1546. package/src/components/block-rename/use-block-rename.js +0 -3
  1547. package/src/components/block-selection-clearer/index.js +0 -7
  1548. package/src/components/block-selection-clearer/test/index.js +0 -11
  1549. package/src/components/block-settings-menu/block-html-convert-button.js +0 -7
  1550. package/src/components/block-settings-menu/block-mode-toggle.js +0 -7
  1551. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +0 -7
  1552. package/src/components/block-settings-menu/block-settings-dropdown.js +1 -8
  1553. package/src/components/block-settings-menu/block-settings-menu-first-item.js +0 -3
  1554. package/src/components/block-settings-menu/index.js +0 -7
  1555. package/src/components/block-settings-menu/test/block-mode-toggle.js +0 -11
  1556. package/src/components/block-settings-menu-controls/index.js +0 -7
  1557. package/src/components/block-styles/index.js +0 -11
  1558. package/src/components/block-styles/menu-items.js +0 -3
  1559. package/src/components/block-styles/style.scss +2 -2
  1560. package/src/components/block-styles/test/utils.js +0 -3
  1561. package/src/components/block-styles/use-styles-for-block.js +0 -7
  1562. package/src/components/block-styles/utils.js +0 -3
  1563. package/src/components/block-switcher/block-styles-menu.js +0 -7
  1564. package/src/components/block-switcher/block-transformations-menu.js +0 -7
  1565. package/src/components/block-switcher/block-variation-transformations.js +0 -7
  1566. package/src/components/block-switcher/index.js +0 -7
  1567. package/src/components/block-switcher/pattern-transformations-menu.js +0 -8
  1568. package/src/components/block-switcher/preview-block-popover.js +0 -7
  1569. package/src/components/block-switcher/test/index.js +0 -11
  1570. package/src/components/block-switcher/test/use-transformed.patterns.js +0 -7
  1571. package/src/components/block-switcher/test/utils.js +0 -7
  1572. package/src/components/block-switcher/use-transformed-patterns.js +0 -7
  1573. package/src/components/block-switcher/utils.js +0 -3
  1574. package/src/components/block-title/index.js +0 -4
  1575. package/src/components/block-title/stories/index.story.jsx +0 -7
  1576. package/src/components/block-title/test/index.js +0 -11
  1577. package/src/components/block-title/use-block-display-title.js +0 -7
  1578. package/src/components/block-toolbar/block-styles-dropdown.js +0 -7
  1579. package/src/components/block-toolbar/block-toolbar-icon.js +0 -7
  1580. package/src/components/block-toolbar/block-toolbar-last-item.js +0 -3
  1581. package/src/components/block-toolbar/change-design.js +0 -7
  1582. package/src/components/block-toolbar/edit-section-button.js +0 -7
  1583. package/src/components/block-toolbar/index.js +41 -29
  1584. package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
  1585. package/src/components/block-toolbar/switch-section-style.js +5 -9
  1586. package/src/components/block-toolbar/test/block-toolbar-icon.js +0 -11
  1587. package/src/components/block-toolbar/use-has-block-toolbar.js +0 -6
  1588. package/src/components/block-toolbar/utils.js +0 -7
  1589. package/src/components/block-tools/block-toolbar-popover.js +0 -9
  1590. package/src/components/block-tools/empty-block-inserter.js +3 -14
  1591. package/src/components/block-tools/index.js +10 -20
  1592. package/src/components/block-tools/insertion-point.js +0 -11
  1593. package/src/components/block-tools/use-block-toolbar-popover-props.js +0 -7
  1594. package/src/components/block-tools/use-selected-block-tool-props.js +0 -7
  1595. package/src/components/block-tools/use-show-block-tools.js +0 -7
  1596. package/src/components/block-tools/zoom-out-mode-inserter-button.js +0 -7
  1597. package/src/components/block-tools/zoom-out-mode-inserters.js +0 -7
  1598. package/src/components/block-types-list/index.js +0 -7
  1599. package/src/components/block-types-list/style.scss +0 -1
  1600. package/src/components/block-variation-picker/index.js +0 -7
  1601. package/src/components/block-variation-transforms/index.js +0 -7
  1602. package/src/components/block-vertical-alignment-control/index.js +0 -3
  1603. package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
  1604. package/src/components/block-vertical-alignment-control/test/index.js +18 -9
  1605. package/src/components/block-vertical-alignment-control/ui.js +3 -8
  1606. package/src/components/block-visibility/{constants.js → constants.ts} +10 -4
  1607. package/src/components/block-visibility/modal.js +24 -21
  1608. package/src/components/block-visibility/style.scss +1 -1
  1609. package/src/components/block-visibility/test/use-block-visibility.js +128 -47
  1610. package/src/components/block-visibility/test/utils.js +11 -3
  1611. package/src/components/block-visibility/use-block-visibility.ts +92 -0
  1612. package/src/components/block-visibility/utils.js +31 -13
  1613. package/src/components/block-visibility/viewport-menu-item.js +10 -8
  1614. package/src/components/block-visibility/viewport-toolbar.js +6 -7
  1615. package/src/components/block-visibility/viewport-visibility-info.js +5 -8
  1616. package/src/components/border-radius-control/README.md +0 -3
  1617. package/src/components/border-radius-control/constants.js +0 -3
  1618. package/src/components/border-radius-control/index.js +0 -7
  1619. package/src/components/border-radius-control/linked-button.js +0 -3
  1620. package/src/components/border-radius-control/stories/index.story.jsx +0 -7
  1621. package/src/components/border-radius-control/test/index.js +0 -12
  1622. package/src/components/border-radius-control/test/utils.js +0 -44
  1623. package/src/components/border-radius-control/utils.js +12 -110
  1624. package/src/components/button-block-appender/content.scss +7 -9
  1625. package/src/components/button-block-appender/index.js +0 -11
  1626. package/src/components/child-layout-control/index.js +0 -11
  1627. package/src/components/child-layout-control/test/index.js +0 -11
  1628. package/src/components/collab/note-icon-slot.js +0 -3
  1629. package/src/components/collab/note-icon-toolbar-slot.js +0 -3
  1630. package/src/components/color-palette/control.js +0 -3
  1631. package/src/components/color-palette/index.js +0 -7
  1632. package/src/components/color-palette/stories/control.story.jsx +0 -7
  1633. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -3
  1634. package/src/components/color-palette/test/control.js +0 -7
  1635. package/src/components/color-palette/with-color-context.js +0 -7
  1636. package/src/components/color-style-selector/index.js +0 -3
  1637. package/src/components/colors/test/utils.js +0 -3
  1638. package/src/components/colors/test/with-colors.js +0 -7
  1639. package/src/components/colors/utils.js +1 -15
  1640. package/src/components/colors/with-colors.js +1 -11
  1641. package/src/components/colors-gradients/control.js +6 -14
  1642. package/src/components/colors-gradients/dropdown.js +0 -15
  1643. package/src/components/colors-gradients/panel-color-gradient-settings.js +21 -28
  1644. package/src/components/colors-gradients/style.scss +17 -7
  1645. package/src/components/colors-gradients/test/control.js +0 -7
  1646. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -7
  1647. package/src/components/contrast-checker/index.js +0 -7
  1648. package/src/components/contrast-checker/stories/index.story.ts +0 -3
  1649. package/src/components/contrast-checker/test/index.js +0 -11
  1650. package/src/components/convert-to-group-buttons/index.js +2 -13
  1651. package/src/components/convert-to-group-buttons/toolbar.js +3 -12
  1652. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +0 -7
  1653. package/src/components/copy-handler/index.js +0 -7
  1654. package/src/components/date-format-picker/index.js +0 -3
  1655. package/src/components/date-format-picker/stories/index.story.jsx +0 -7
  1656. package/src/components/default-block-appender/content.scss +6 -3
  1657. package/src/components/default-block-appender/index.js +0 -11
  1658. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +1 -1
  1659. package/src/components/default-block-appender/test/index.js +0 -7
  1660. package/src/components/dimension-control/index.js +9 -8
  1661. package/src/components/dimension-control/stories/index.story.jsx +0 -7
  1662. package/src/components/dimensions-tool/aspect-ratio-tool.js +13 -12
  1663. package/src/components/dimensions-tool/index.js +0 -7
  1664. package/src/components/dimensions-tool/scale-tool.js +0 -3
  1665. package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.jsx +0 -7
  1666. package/src/components/dimensions-tool/stories/index.story.jsx +0 -7
  1667. package/src/components/dimensions-tool/stories/scale-tool.story.jsx +0 -7
  1668. package/src/components/dimensions-tool/stories/width-height-tool.story.jsx +0 -7
  1669. package/src/components/dimensions-tool/test/index.js +0 -11
  1670. package/src/components/dimensions-tool/width-height-tool.js +0 -3
  1671. package/src/components/duotone-control/index.js +0 -3
  1672. package/src/components/editable-text/index.js +0 -7
  1673. package/src/components/editor-styles/index.js +16 -12
  1674. package/src/components/fit-text-size-warning/index.js +0 -3
  1675. package/src/components/floating-toolbar/nav-up-icon.js +0 -3
  1676. package/src/components/font-appearance-control/index.js +0 -7
  1677. package/src/components/font-family/index.js +0 -11
  1678. package/src/components/font-family/stories/index.story.jsx +1 -8
  1679. package/src/components/font-sizes/font-size-picker.js +0 -7
  1680. package/src/components/font-sizes/test/fluid-utils.js +0 -7
  1681. package/src/components/font-sizes/test/utils.js +0 -7
  1682. package/src/components/font-sizes/utils.js +1 -11
  1683. package/src/components/font-sizes/with-font-sizes.js +0 -7
  1684. package/src/components/global-styles/advanced-panel.js +0 -7
  1685. package/src/components/global-styles/background-panel.js +107 -41
  1686. package/src/components/global-styles/border-panel.js +219 -55
  1687. package/src/components/global-styles/color-gradient-dropdown-item.js +93 -39
  1688. package/src/components/global-styles/color-panel.js +92 -18
  1689. package/src/components/global-styles/dimensions-panel.js +422 -82
  1690. package/src/components/global-styles/filters-panel.js +88 -39
  1691. package/src/components/global-styles/hooks.js +8 -8
  1692. package/src/components/global-styles/image-settings-panel.js +0 -7
  1693. package/src/components/global-styles/inheritance/index.js +197 -0
  1694. package/src/components/global-styles/inheritance/style.scss +184 -0
  1695. package/src/components/global-styles/inheritance/test/index.js +270 -0
  1696. package/src/components/global-styles/inherited-value-context.js +264 -0
  1697. package/src/components/global-styles/shadow-panel-components.js +44 -34
  1698. package/src/components/global-styles/state-control-badges.js +45 -13
  1699. package/src/components/global-styles/state-control.js +2 -5
  1700. package/src/components/global-styles/style.scss +5 -0
  1701. package/src/components/global-styles/test/background-panel.js +334 -5
  1702. package/src/components/global-styles/test/border-panel.js +434 -0
  1703. package/src/components/global-styles/test/color-panel.js +182 -9
  1704. package/src/components/global-styles/test/dimensions-panel.js +746 -0
  1705. package/src/components/global-styles/test/filters-panel.js +187 -0
  1706. package/src/components/global-styles/test/inherited-value-context-core.js +87 -0
  1707. package/src/components/global-styles/test/inherited-value-context.js +442 -0
  1708. package/src/components/global-styles/test/state-control-badges.js +58 -0
  1709. package/src/components/global-styles/test/typography-panel-core.js +178 -0
  1710. package/src/components/global-styles/test/typography-panel.js +845 -15
  1711. package/src/components/global-styles/test/typography-utils.js +0 -3
  1712. package/src/components/global-styles/typography-panel.js +449 -108
  1713. package/src/components/global-styles/typography-utils.js +0 -3
  1714. package/src/components/global-styles/utils.js +0 -3
  1715. package/src/components/gradients/use-gradient.js +0 -7
  1716. package/src/components/gradients/with-gradient.js +0 -3
  1717. package/src/components/grid/grid-item-movers.js +0 -11
  1718. package/src/components/grid/grid-item-resizer.js +0 -7
  1719. package/src/components/grid/grid-visualizer.js +0 -11
  1720. package/src/components/grid/use-get-number-of-blocks-before-cell.js +0 -7
  1721. package/src/components/grid/use-grid-layout-sync.js +0 -7
  1722. package/src/components/height-control/index.js +0 -7
  1723. package/src/components/height-control/stories/index.story.jsx +0 -7
  1724. package/src/components/html-element-control/index.js +0 -7
  1725. package/src/components/html-element-control/messages.js +0 -3
  1726. package/src/components/iframe/index.js +4 -16
  1727. package/src/components/iframe/use-scale-canvas.js +38 -14
  1728. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -7
  1729. package/src/components/image-editor/context.js +0 -7
  1730. package/src/components/image-editor/cropper.js +0 -11
  1731. package/src/components/image-editor/form-controls.js +0 -7
  1732. package/src/components/image-editor/index.js +0 -7
  1733. package/src/components/image-editor/rotation-button.js +0 -8
  1734. package/src/components/image-editor/style.scss +33 -0
  1735. package/src/components/image-editor/test/index.js +0 -3
  1736. package/src/components/image-editor/use-save-image.js +0 -7
  1737. package/src/components/image-editor/use-transform-image.js +0 -3
  1738. package/src/components/image-editor/zoom-dropdown.js +0 -7
  1739. package/src/components/image-size-control/index.js +0 -9
  1740. package/src/components/image-size-control/test/index.js +0 -7
  1741. package/src/components/image-size-control/use-dimension-handler.js +0 -3
  1742. package/src/components/inner-blocks/README.md +2 -0
  1743. package/src/components/inner-blocks/button-block-appender.js +0 -7
  1744. package/src/components/inner-blocks/default-block-appender.js +0 -3
  1745. package/src/components/inner-blocks/index.js +0 -11
  1746. package/src/components/inner-blocks/test/__snapshots__/index.js.snap +1 -1
  1747. package/src/components/inner-blocks/test/index.js +0 -8
  1748. package/src/components/inner-blocks/use-block-context.js +0 -7
  1749. package/src/components/inner-blocks/use-inner-block-template-sync.js +47 -23
  1750. package/src/components/inner-blocks/use-nested-settings-update.js +0 -7
  1751. package/src/components/inner-content/index.js +0 -7
  1752. package/src/components/inner-content/test/index.js +0 -11
  1753. package/src/components/inserter/block-patterns-explorer/index.js +0 -7
  1754. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -3
  1755. package/src/components/inserter/block-patterns-explorer/pattern-list.js +0 -7
  1756. package/src/components/inserter/block-patterns-tab/index.js +0 -7
  1757. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -8
  1758. package/src/components/inserter/block-patterns-tab/patterns-filter.js +0 -7
  1759. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -8
  1760. package/src/components/inserter/block-patterns-tab/utils.js +0 -4
  1761. package/src/components/inserter/block-types-tab.js +0 -7
  1762. package/src/components/inserter/category-tabs/index.js +0 -7
  1763. package/src/components/inserter/hooks/use-block-types-state.js +0 -7
  1764. package/src/components/inserter/hooks/use-insertion-point.js +0 -7
  1765. package/src/components/inserter/hooks/use-patterns-paging.js +0 -3
  1766. package/src/components/inserter/hooks/use-patterns-state.js +0 -7
  1767. package/src/components/inserter/index.js +4 -28
  1768. package/src/components/inserter/library.js +0 -7
  1769. package/src/components/inserter/media-tab/hooks.js +55 -14
  1770. package/src/components/inserter/media-tab/media-list.js +0 -7
  1771. package/src/components/inserter/media-tab/media-panel.js +117 -32
  1772. package/src/components/inserter/media-tab/media-preview.js +0 -12
  1773. package/src/components/inserter/media-tab/media-tab.js +0 -7
  1774. package/src/components/inserter/media-tab/test/hooks.js +63 -7
  1775. package/src/components/inserter/media-tab/test/media-panel.js +120 -0
  1776. package/src/components/inserter/media-tab/utils.js +0 -3
  1777. package/src/components/inserter/menu.js +0 -11
  1778. package/src/components/inserter/mobile-tab-navigation.js +0 -3
  1779. package/src/components/inserter/no-results.js +0 -3
  1780. package/src/components/inserter/panel.js +0 -3
  1781. package/src/components/inserter/preview-panel.js +0 -7
  1782. package/src/components/inserter/quick-inserter.js +0 -11
  1783. package/src/components/inserter/search-items.js +0 -3
  1784. package/src/components/inserter/search-results.js +0 -7
  1785. package/src/components/inserter/stories/index.story.jsx +0 -7
  1786. package/src/components/inserter/style.scss +19 -16
  1787. package/src/components/inserter/test/get-appender-label.js +0 -3
  1788. package/src/components/inserter/test/search-items.js +0 -3
  1789. package/src/components/inserter/tips.js +0 -3
  1790. package/src/components/inserter-button/sparkles.js +0 -3
  1791. package/src/components/inserter-draggable-blocks/index.js +0 -7
  1792. package/src/components/inserter-list-item/index.js +0 -11
  1793. package/src/components/inserter-list-item/style.scss +0 -15
  1794. package/src/components/inserter-listbox/context.js +0 -3
  1795. package/src/components/inserter-listbox/group.js +0 -3
  1796. package/src/components/inserter-listbox/index.js +0 -8
  1797. package/src/components/inserter-listbox/item.js +0 -3
  1798. package/src/components/inserter-listbox/row.js +0 -3
  1799. package/src/components/inserter-menu-extension/index.js +0 -3
  1800. package/src/components/inspector-controls/block-support-slot-container.js +0 -3
  1801. package/src/components/inspector-controls/block-support-tools-panel.js +0 -7
  1802. package/src/components/inspector-controls/fill.js +22 -37
  1803. package/src/components/inspector-controls/groups.js +0 -3
  1804. package/src/components/inspector-controls/index.js +0 -3
  1805. package/src/components/inspector-controls/last-item.js +0 -7
  1806. package/src/components/inspector-controls/list-view-content-popover.js +0 -7
  1807. package/src/components/inspector-controls/slot.js +0 -7
  1808. package/src/components/inspector-controls-tabs/advanced-controls-panel.js +0 -7
  1809. package/src/components/inspector-controls-tabs/content-tab.js +0 -7
  1810. package/src/components/inspector-controls-tabs/index.js +0 -8
  1811. package/src/components/inspector-controls-tabs/position-controls-panel.js +0 -7
  1812. package/src/components/inspector-controls-tabs/settings-tab.js +0 -7
  1813. package/src/components/inspector-controls-tabs/styles-tab.js +5 -8
  1814. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -7
  1815. package/src/components/inspector-controls-tabs/utils.js +0 -3
  1816. package/src/components/inspector-popover-header/index.js +0 -3
  1817. package/src/components/justify-content-control/index.js +0 -3
  1818. package/src/components/justify-content-control/ui.js +0 -3
  1819. package/src/components/keyboard-shortcuts/index.js +24 -14
  1820. package/src/components/letter-spacing-control/index.js +0 -7
  1821. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -7
  1822. package/src/components/line-height-control/index.js +1 -9
  1823. package/src/components/line-height-control/stories/index.story.jsx +0 -7
  1824. package/src/components/line-height-control/test/index.js +0 -11
  1825. package/src/components/link-control/constants.js +0 -3
  1826. package/src/components/link-control/index.js +7 -13
  1827. package/src/components/link-control/is-url-like.js +0 -3
  1828. package/src/components/link-control/link-preview.js +0 -13
  1829. package/src/components/link-control/normalize-url.js +0 -7
  1830. package/src/components/link-control/search-create-button.js +0 -3
  1831. package/src/components/link-control/search-input.js +0 -7
  1832. package/src/components/link-control/search-item.js +0 -3
  1833. package/src/components/link-control/search-results.js +1 -12
  1834. package/src/components/link-control/settings-drawer.js +0 -3
  1835. package/src/components/link-control/settings.js +0 -3
  1836. package/src/components/link-control/style.scss +3 -3
  1837. package/src/components/link-control/test/index.js +6 -17
  1838. package/src/components/link-control/test/is-url-like.js +0 -3
  1839. package/src/components/link-control/test/url-normalization.test.js +0 -11
  1840. package/src/components/link-control/use-create-page.js +0 -3
  1841. package/src/components/link-control/use-internal-value.js +0 -7
  1842. package/src/components/link-control/use-rich-url-data.js +1 -8
  1843. package/src/components/link-control/use-search-handler.js +0 -7
  1844. package/src/components/link-control/viewer-slot.js +0 -3
  1845. package/src/components/link-picker/link-picker.js +0 -7
  1846. package/src/components/link-picker/link-preview.js +0 -7
  1847. package/src/components/link-picker/style.scss +1 -2
  1848. package/src/components/link-picker/test/index.js +0 -11
  1849. package/src/components/list-view/appender.js +7 -11
  1850. package/src/components/list-view/aria-referenced-text.js +12 -19
  1851. package/src/components/list-view/block-contents.js +28 -28
  1852. package/src/components/list-view/block-select-button.js +62 -40
  1853. package/src/components/list-view/block.js +53 -61
  1854. package/src/components/list-view/branch.js +179 -169
  1855. package/src/components/list-view/context.js +24 -3
  1856. package/src/components/list-view/drop-indicator.js +6 -18
  1857. package/src/components/list-view/expander.js +0 -3
  1858. package/src/components/list-view/index.js +95 -110
  1859. package/src/components/list-view/leaf.js +0 -11
  1860. package/src/components/list-view/style.scss +28 -9
  1861. package/src/components/list-view/test/use-list-view-drop-zone.js +0 -3
  1862. package/src/components/list-view/test/utils.js +0 -3
  1863. package/src/components/list-view/use-block-selection.js +0 -7
  1864. package/src/components/list-view/use-clipboard-handler.js +0 -7
  1865. package/src/components/list-view/use-list-view-block-indexes.js +0 -3
  1866. package/src/components/list-view/use-list-view-client-ids.js +0 -8
  1867. package/src/components/list-view/use-list-view-collapse-items.js +3 -11
  1868. package/src/components/list-view/use-list-view-drop-zone.js +11 -28
  1869. package/src/components/list-view/use-list-view-expand-selected-item.js +3 -10
  1870. package/src/components/list-view/use-list-view-images.js +6 -10
  1871. package/src/components/list-view/use-list-view-scroll-into-view.js +0 -3
  1872. package/src/components/list-view/utils.js +7 -6
  1873. package/src/components/media-placeholder/index.js +0 -12
  1874. package/src/components/media-placeholder/test/get-computed-accept-attribute.js +0 -3
  1875. package/src/components/media-placeholder/test/index.js +0 -7
  1876. package/src/components/media-replace-flow/index.js +0 -11
  1877. package/src/components/media-replace-flow/test/index.js +0 -10
  1878. package/src/components/media-upload/check.js +0 -7
  1879. package/src/components/media-upload/index.js +0 -3
  1880. package/src/components/multi-selection-inspector/index.js +42 -21
  1881. package/src/components/multi-selection-inspector/style.scss +6 -1
  1882. package/src/components/navigable-toolbar/index.js +38 -27
  1883. package/src/components/observe-typing/index.js +0 -7
  1884. package/src/components/panel-color-settings/README.md +0 -7
  1885. package/src/components/panel-color-settings/index.js +0 -3
  1886. package/src/components/panel-color-settings/test/index.js +0 -7
  1887. package/src/components/plain-text/index.js +0 -11
  1888. package/src/components/plain-text/stories/index.story.jsx +0 -7
  1889. package/src/components/preset-input-control/custom-value-controls.js +0 -4
  1890. package/src/components/preset-input-control/index.js +4 -8
  1891. package/src/components/preset-input-control/test/index.js +0 -7
  1892. package/src/components/preset-input-control/test/utils.js +0 -3
  1893. package/src/components/preview-options/index.js +0 -3
  1894. package/src/components/provider/block-refs-provider.js +12 -5
  1895. package/src/components/provider/index.js +2 -9
  1896. package/src/components/provider/selection-context.js +0 -3
  1897. package/src/components/provider/test/experimental-provider.js +0 -10
  1898. package/src/components/provider/test/use-block-sync.js +0 -12
  1899. package/src/components/provider/use-block-sync.js +18 -13
  1900. package/src/components/provider/use-media-upload-settings.js +2 -3
  1901. package/src/components/provider/with-registry-provider.js +0 -7
  1902. package/src/components/publish-date-time-picker/index.js +0 -7
  1903. package/src/components/recursion-provider/README.md +0 -3
  1904. package/src/components/recursion-provider/index.js +0 -7
  1905. package/src/components/recursion-provider/test/index.js +0 -7
  1906. package/src/components/resizable-box-popover/index.js +0 -7
  1907. package/src/components/resolution-tool/index.js +0 -3
  1908. package/src/components/resolution-tool/stories/index.story.jsx +0 -7
  1909. package/src/components/responsive-block-control/index.js +0 -11
  1910. package/src/components/responsive-block-control/label.js +0 -3
  1911. package/src/components/responsive-block-control/style.scss +1 -1
  1912. package/src/components/responsive-block-control/test/index.js +0 -11
  1913. package/src/components/rich-text/content.js +0 -11
  1914. package/src/components/rich-text/event-listeners/before-input-rules.js +8 -12
  1915. package/src/components/rich-text/event-listeners/delete.js +7 -11
  1916. package/src/components/rich-text/event-listeners/enter.js +10 -11
  1917. package/src/components/rich-text/event-listeners/firefox-compat.js +0 -3
  1918. package/src/components/rich-text/event-listeners/index.js +0 -7
  1919. package/src/components/rich-text/event-listeners/input-events.js +3 -10
  1920. package/src/components/rich-text/event-listeners/input-rules.js +23 -25
  1921. package/src/components/rich-text/event-listeners/insert-replacement-text.js +3 -10
  1922. package/src/components/rich-text/event-listeners/paste-handler.js +29 -11
  1923. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +3 -10
  1924. package/src/components/rich-text/event-listeners/shortcuts.js +3 -10
  1925. package/src/components/rich-text/event-listeners/undo-automatic-change.js +3 -10
  1926. package/src/components/rich-text/format-edit.js +0 -7
  1927. package/src/components/rich-text/format-toolbar/index.js +0 -11
  1928. package/src/components/rich-text/format-toolbar-container.js +0 -7
  1929. package/src/components/rich-text/get-rich-text-values.js +0 -7
  1930. package/src/components/rich-text/index.js +116 -37
  1931. package/src/components/rich-text/multiline.js +0 -7
  1932. package/src/components/rich-text/prevent-event-discovery.js +0 -3
  1933. package/src/components/rich-text/toolbar-button.js +0 -3
  1934. package/src/components/rich-text/use-mark-persistent.js +0 -7
  1935. package/src/components/rich-text/utils.js +0 -3
  1936. package/src/components/rich-text/with-deprecations.js +0 -7
  1937. package/src/components/selection-scroll-into-view/index.js +0 -3
  1938. package/src/components/skip-to-selected-block/index.js +0 -7
  1939. package/src/components/skip-to-selected-block/style.scss +1 -1
  1940. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -7
  1941. package/src/components/spacing-sizes-control/index.js +2 -9
  1942. package/src/components/spacing-sizes-control/input-controls/axial.js +0 -3
  1943. package/src/components/spacing-sizes-control/input-controls/separated.js +0 -3
  1944. package/src/components/spacing-sizes-control/input-controls/single.js +0 -3
  1945. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -7
  1946. package/src/components/spacing-sizes-control/linked-button.js +0 -3
  1947. package/src/components/spacing-sizes-control/test/index.js +0 -12
  1948. package/src/components/spacing-sizes-control/test/utils.js +16 -8
  1949. package/src/components/spacing-sizes-control/utils.js +7 -31
  1950. package/src/components/tabbed-sidebar/index.js +0 -7
  1951. package/src/components/tabbed-sidebar/stories/index.story.jsx +0 -7
  1952. package/src/components/text-alignment-control/index.js +0 -7
  1953. package/src/components/text-alignment-control/stories/index.story.jsx +0 -7
  1954. package/src/components/text-decoration-control/index.js +0 -7
  1955. package/src/components/text-decoration-control/stories/index.story.jsx +0 -7
  1956. package/src/components/text-indent-control/index.js +8 -7
  1957. package/src/components/text-transform-control/index.js +0 -7
  1958. package/src/components/text-transform-control/stories/index.story.jsx +0 -7
  1959. package/src/components/tool-selector/index.js +0 -3
  1960. package/src/components/typewriter/index.js +228 -227
  1961. package/src/components/unit-control/index.js +0 -7
  1962. package/src/components/unit-control/stories/index.story.jsx +0 -7
  1963. package/src/components/url-input/button.js +0 -7
  1964. package/src/components/url-input/index.js +400 -488
  1965. package/src/components/url-input/test/button.js +0 -11
  1966. package/src/components/url-input/test/index.js +666 -0
  1967. package/src/components/url-popover/image-url-input-ui.js +2 -9
  1968. package/src/components/url-popover/index.js +0 -7
  1969. package/src/components/url-popover/link-editor.js +0 -11
  1970. package/src/components/url-popover/link-viewer-url.js +0 -7
  1971. package/src/components/url-popover/link-viewer.js +0 -11
  1972. package/src/components/url-popover/stories/index.story.jsx +0 -7
  1973. package/src/components/url-popover/style.scss +5 -0
  1974. package/src/components/use-block-commands/index.js +29 -26
  1975. package/src/components/use-block-display-information/index.js +1 -8
  1976. package/src/components/use-block-display-information/test/index.js +0 -11
  1977. package/src/components/use-block-drop-zone/index.js +0 -7
  1978. package/src/components/use-block-drop-zone/test/index.js +0 -3
  1979. package/src/components/use-flash-editable-blocks/index.js +0 -7
  1980. package/src/components/use-list-view-panel-state/index.js +0 -7
  1981. package/src/components/use-moving-animation/index.js +9 -14
  1982. package/src/components/use-on-block-drop/index.js +2 -9
  1983. package/src/components/use-on-block-drop/test/index.js +1 -7
  1984. package/src/components/use-paste-styles/index.js +0 -7
  1985. package/src/components/use-resize-canvas/index.js +0 -3
  1986. package/src/components/use-settings/index.js +0 -7
  1987. package/src/components/warning/index.js +0 -7
  1988. package/src/components/warning/stories/index.story.jsx +0 -7
  1989. package/src/components/warning/test/__snapshots__/index.js.snap +1 -1
  1990. package/src/components/warning/test/index.js +0 -7
  1991. package/src/components/writing-flow/index.js +17 -12
  1992. package/src/components/writing-flow/test/index.js +0 -7
  1993. package/src/components/writing-flow/use-arrow-nav.js +112 -28
  1994. package/src/components/writing-flow/use-click-selection.js +55 -12
  1995. package/src/components/writing-flow/use-clipboard-handler.js +70 -13
  1996. package/src/components/writing-flow/use-drag-selection.js +1 -21
  1997. package/src/components/writing-flow/use-editable-root-event-handlers.js +259 -0
  1998. package/src/components/writing-flow/use-editable-root.js +105 -0
  1999. package/src/components/writing-flow/use-home-end.js +64 -0
  2000. package/src/components/writing-flow/use-input.js +25 -15
  2001. package/src/components/writing-flow/use-multi-selection.js +2 -10
  2002. package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
  2003. package/src/components/writing-flow/use-select-all.js +33 -10
  2004. package/src/components/writing-flow/use-selection-observer.js +218 -49
  2005. package/src/components/writing-flow/use-tab-nav.js +7 -8
  2006. package/src/components/writing-flow/utils.js +62 -7
  2007. package/src/components/writing-mode-control/index.js +0 -7
  2008. package/src/components/writing-mode-control/stories/index.story.jsx +0 -7
  2009. package/src/elements/test/index.js +0 -3
  2010. package/src/hooks/align.js +0 -11
  2011. package/src/hooks/allowed-blocks.js +0 -7
  2012. package/src/hooks/anchor.js +0 -7
  2013. package/src/hooks/aria-label.js +0 -7
  2014. package/src/hooks/auto-inspector-controls.js +0 -7
  2015. package/src/hooks/background.js +28 -37
  2016. package/src/hooks/block-bindings.js +0 -7
  2017. package/src/hooks/block-fields/fields-dropdown-menu.js +0 -7
  2018. package/src/hooks/block-fields/index.js +0 -1
  2019. package/src/hooks/block-fields/link/index.js +0 -7
  2020. package/src/hooks/block-fields/link/styles.scss +1 -6
  2021. package/src/hooks/block-fields/media/index.js +0 -7
  2022. package/src/hooks/block-fields/media/styles.scss +1 -6
  2023. package/src/hooks/block-fields/rich-text/index.js +6 -16
  2024. package/src/hooks/block-fields/rich-text/styles.scss +1 -1
  2025. package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -3
  2026. package/src/hooks/block-hooks.js +0 -7
  2027. package/src/hooks/block-renaming.js +0 -3
  2028. package/src/hooks/block-style-state.js +0 -7
  2029. package/src/hooks/block-style-variation.js +8 -81
  2030. package/src/hooks/border.js +19 -15
  2031. package/src/hooks/color.js +0 -11
  2032. package/src/hooks/compat.js +0 -3
  2033. package/src/hooks/contrast-checker.js +0 -8
  2034. package/src/hooks/custom-class-name.js +0 -11
  2035. package/src/hooks/custom-css.js +15 -6
  2036. package/src/hooks/dimensions.js +17 -15
  2037. package/src/hooks/duotone.js +26 -19
  2038. package/src/hooks/elements.js +14 -11
  2039. package/src/hooks/fit-text.js +0 -8
  2040. package/src/hooks/font-family.js +1 -10
  2041. package/src/hooks/font-size.js +0 -7
  2042. package/src/hooks/gap.js +0 -3
  2043. package/src/hooks/generated-class-name.js +0 -3
  2044. package/src/hooks/grid-visualizer.js +40 -43
  2045. package/src/hooks/index.js +0 -3
  2046. package/src/hooks/layout-child.js +19 -16
  2047. package/src/hooks/layout.js +49 -44
  2048. package/src/hooks/line-height.js +0 -8
  2049. package/src/hooks/list-view.js +0 -8
  2050. package/src/hooks/lock.js +0 -3
  2051. package/src/hooks/metadata.js +0 -3
  2052. package/src/hooks/position.js +0 -11
  2053. package/src/hooks/settings.js +0 -3
  2054. package/src/hooks/spacing-visualizer.js +0 -7
  2055. package/src/hooks/state-utils.js +0 -3
  2056. package/src/hooks/states.js +38 -16
  2057. package/src/hooks/style.js +67 -24
  2058. package/src/hooks/supports.js +0 -3
  2059. package/src/hooks/test/align.js +0 -7
  2060. package/src/hooks/test/allowed-blocks.js +0 -7
  2061. package/src/hooks/test/anchor.js +0 -7
  2062. package/src/hooks/test/auto-inspector-controls.js +0 -7
  2063. package/src/hooks/test/background.js +115 -3
  2064. package/src/hooks/test/block-style-state.js +0 -3
  2065. package/src/hooks/test/custom-class-name.js +0 -7
  2066. package/src/hooks/test/dimensions.js +0 -7
  2067. package/src/hooks/test/duotone.js +0 -3
  2068. package/src/hooks/test/font-size.js +0 -11
  2069. package/src/hooks/test/gap.js +0 -3
  2070. package/src/hooks/test/generate-fields-from-attributes.js +0 -3
  2071. package/src/hooks/test/generated-class-name.js +0 -7
  2072. package/src/hooks/test/inherited-value-wiring.js +408 -0
  2073. package/src/hooks/test/layout-child.js +0 -3
  2074. package/src/hooks/test/layout.js +0 -3
  2075. package/src/hooks/test/metadata.js +0 -7
  2076. package/src/hooks/test/preset-round-trip.js +450 -0
  2077. package/src/hooks/test/settings.js +0 -7
  2078. package/src/hooks/test/state-utils.js +0 -7
  2079. package/src/hooks/test/style.js +29 -7
  2080. package/src/hooks/test/text-align.js +34 -8
  2081. package/src/hooks/test/use-typography-props.js +0 -3
  2082. package/src/hooks/test/utils.js +0 -3
  2083. package/src/hooks/text-align.js +41 -21
  2084. package/src/hooks/typography.js +35 -32
  2085. package/src/hooks/use-border-props.js +0 -3
  2086. package/src/hooks/use-cached-truthy.js +0 -3
  2087. package/src/hooks/use-color-props.js +0 -11
  2088. package/src/hooks/use-content-only-section-edit.js +0 -7
  2089. package/src/hooks/use-dimensions-props.js +0 -3
  2090. package/src/hooks/use-shadow-props.js +0 -3
  2091. package/src/hooks/use-spacing-props.js +0 -3
  2092. package/src/hooks/use-typography-props.js +1 -15
  2093. package/src/hooks/use-zoom-out.js +0 -7
  2094. package/src/hooks/utils.js +0 -11
  2095. package/src/index.js +0 -3
  2096. package/src/layouts/constrained.js +5 -8
  2097. package/src/layouts/flex.js +5 -8
  2098. package/src/layouts/flow.js +0 -7
  2099. package/src/layouts/grid.js +0 -10
  2100. package/src/layouts/index.js +0 -3
  2101. package/src/layouts/test/constrained.js +0 -11
  2102. package/src/layouts/test/flex.js +0 -11
  2103. package/src/layouts/test/flow.js +0 -3
  2104. package/src/layouts/test/grid.js +0 -11
  2105. package/src/layouts/test/utils.js +0 -3
  2106. package/src/layouts/utils.js +0 -7
  2107. package/src/lock-unlock.ts +0 -3
  2108. package/src/private-apis.js +7 -5
  2109. package/src/store/actions.js +215 -72
  2110. package/src/store/defaults.js +4 -3
  2111. package/src/store/get-block-settings.js +0 -7
  2112. package/src/store/index.js +0 -7
  2113. package/src/store/private-actions.js +33 -5
  2114. package/src/store/private-selectors.js +125 -23
  2115. package/src/store/reducer.js +17 -21
  2116. package/src/store/selectors.js +100 -29
  2117. package/src/store/test/actions.js +204 -27
  2118. package/src/store/test/array.js +0 -3
  2119. package/src/store/test/get-block-settings.js +0 -7
  2120. package/src/store/test/performance.js +0 -3
  2121. package/src/store/test/private-actions.js +0 -3
  2122. package/src/store/test/private-selectors.js +426 -18
  2123. package/src/store/test/reducer.js +30 -11
  2124. package/src/store/test/registry-selectors.js +0 -7
  2125. package/src/store/test/selectors.js +143 -7
  2126. package/src/store/utils.js +0 -7
  2127. package/src/style.scss +2 -0
  2128. package/src/utils/block-bindings.ts +50 -0
  2129. package/src/utils/dom.ts +33 -0
  2130. package/src/utils/fit-text-frontend.ts +0 -8
  2131. package/src/utils/format-font-style.ts +0 -7
  2132. package/src/utils/format-font-weight.ts +0 -7
  2133. package/src/utils/get-font-styles-and-weights.ts +0 -7
  2134. package/src/utils/group-blocks.js +36 -0
  2135. package/src/utils/native-undo.js +53 -0
  2136. package/src/utils/pasting.ts +0 -3
  2137. package/src/utils/selection.ts +0 -3
  2138. package/src/utils/sibling-block-attributes.js +30 -0
  2139. package/src/utils/test/block-bindings.js +178 -0
  2140. package/src/utils/test/color-values.js +0 -3
  2141. package/src/utils/test/format-font-style.js +0 -3
  2142. package/src/utils/test/format-font-weight.js +0 -3
  2143. package/src/utils/test/get-font-styles-and-weights.js +0 -3
  2144. package/src/utils/test/math.js +0 -3
  2145. package/src/utils/test/object.js +0 -3
  2146. package/src/utils/test/pasting.js +0 -3
  2147. package/src/utils/test/selection.js +0 -3
  2148. package/src/utils/test/sorting.js +0 -3
  2149. package/src/utils/test/transform-styles.js +0 -3
  2150. package/src/utils/transform-styles/index.ts +0 -8
  2151. package/src/utils/use-notify-copy.js +0 -7
  2152. package/build/components/duotone/utils.cjs +0 -87
  2153. package/build/components/duotone/utils.cjs.map +0 -7
  2154. package/build/components/rich-text/input-event.cjs.map +0 -7
  2155. package/build/components/rich-text/shortcut.cjs +0 -51
  2156. package/build/components/rich-text/shortcut.cjs.map +0 -7
  2157. package/build-module/components/duotone/utils.mjs +0 -59
  2158. package/build-module/components/duotone/utils.mjs.map +0 -7
  2159. package/build-module/components/rich-text/input-event.mjs +0 -25
  2160. package/build-module/components/rich-text/input-event.mjs.map +0 -7
  2161. package/build-module/components/rich-text/shortcut.mjs +0 -26
  2162. package/build-module/components/rich-text/shortcut.mjs.map +0 -7
  2163. package/src/components/block-visibility/use-block-visibility.js +0 -54
  2164. package/src/components/duotone/utils.js +0 -90
  2165. package/src/components/rich-text/input-event.js +0 -31
  2166. package/src/components/rich-text/shortcut.js +0 -32
  2167. package/src/hooks/test/get-variation-styles-with-ref-values.js +0 -91
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/fit-text.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { useEffect, useCallback, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nconst EMPTY_OBJECT = {};\nconst MIN_FONT_SIZE_FOR_WARNING = 12;\n\n/**\n * Internal dependencies\n */\nimport { optimizeFitText } from '../utils/fit-text-utils';\nimport { store as blockEditorStore } from '../store';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport InspectorControls from '../components/inspector-controls';\nimport FitTextSizeWarning from '../components/fit-text-size-warning';\nimport { unlock } from '../lock-unlock';\n\nexport const FIT_TEXT_SUPPORT_KEY = 'typography.fitText';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fitText` attribute.\n *\n * @param {Object} settings Original block settings.\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition.\n\tif ( settings.attributes?.fitText ) {\n\t\treturn settings;\n\t}\n\n\t// Add fitText attribute.\n\treturn {\n\t\t...settings,\n\t\tattributes: {\n\t\t\t...settings.attributes,\n\t\t\tfitText: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Custom hook to handle fit text functionality in the editor.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.fitText Fit text attribute.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n */\nfunction useFitText( { fitText, name, clientId } ) {\n\tconst [ fontSize, setFontSize ] = useState( null );\n\tconst hasFitTextSupport = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\tconst blockElement = useBlockElement( clientId );\n\n\t// Monitor block attribute changes, parent changes, and block mode.\n\t// Any attribute or parent change may change the available space.\n\t// Block mode is needed to disable fit text when in HTML editing mode.\n\tconst { blockAttributes, parentId, blockMode } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId || ! hasFitTextSupport || ! fitText ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst _blockMode =\n\t\t\t\tselect( blockEditorStore ).getBlockMode( clientId );\n\t\t\tif ( _blockMode === 'html' ) {\n\t\t\t\treturn { blockMode: _blockMode };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tblockAttributes:\n\t\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ),\n\t\t\t\tparentId:\n\t\t\t\t\tselect( blockEditorStore ).getBlockRootClientId( clientId ),\n\t\t\t\tblockMode: _blockMode,\n\t\t\t};\n\t\t},\n\t\t[ clientId, hasFitTextSupport, fitText ]\n\t);\n\n\tconst applyFitText = useCallback( () => {\n\t\tif ( ! blockElement || ! hasFitTextSupport || ! fitText ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get or create style element with unique ID\n\t\tconst styleId = `fit-text-${ clientId }`;\n\t\tlet styleElement = blockElement.ownerDocument.getElementById( styleId );\n\t\tif ( ! styleElement ) {\n\t\t\tstyleElement = blockElement.ownerDocument.createElement( 'style' );\n\t\t\tstyleElement.id = styleId;\n\t\t\tblockElement.ownerDocument.head.appendChild( styleElement );\n\t\t}\n\n\t\tconst blockSelector = `#block-${ clientId }`;\n\n\t\tconst applyFontSizeStyle = ( size ) => {\n\t\t\tif ( size === 0 ) {\n\t\t\t\tstyleElement.textContent = '';\n\t\t\t} else {\n\t\t\t\tstyleElement.textContent = `${ blockSelector } { font-size: ${ size }px !important; }`;\n\t\t\t}\n\t\t};\n\n\t\tconst optimalSize = optimizeFitText( blockElement, applyFontSizeStyle );\n\t\tsetFontSize( optimalSize );\n\t}, [ blockElement, clientId, hasFitTextSupport, fitText ] );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! fitText ||\n\t\t\t! blockElement ||\n\t\t\t! clientId ||\n\t\t\t! hasFitTextSupport ||\n\t\t\tblockMode === 'html'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Store current element value for cleanup\n\t\tconst currentElement = blockElement;\n\t\tconst previousVisibility = currentElement.style.visibility;\n\n\t\t// Store IDs for cleanup\n\t\tlet hideFrameId = null;\n\t\tlet calculateFrameId = null;\n\t\tlet showTimeoutId = null;\n\n\t\t// We are hiding the element doing the calculation of fit text\n\t\t// and then showing it again to avoid the user noticing a flash of potentially\n\t\t// big fitText while the binary search is happening.\n\t\thideFrameId = window.requestAnimationFrame( () => {\n\t\t\tcurrentElement.style.visibility = 'hidden';\n\t\t\t// Wait for browser to render the hidden state\n\t\t\tcalculateFrameId = window.requestAnimationFrame( () => {\n\t\t\t\tapplyFitText();\n\n\t\t\t\t// Using a timeout instead of requestAnimationFrame, because\n\t\t\t\t// with requestAnimationFrame a flash of very high size\n\t\t\t\t// can still occur although rare.\n\t\t\t\tshowTimeoutId = setTimeout( () => {\n\t\t\t\t\tcurrentElement.style.visibility = previousVisibility;\n\t\t\t\t}, 10 );\n\t\t\t} );\n\t\t} );\n\n\t\t// Watch for size changes\n\t\tlet resizeObserver;\n\t\tif ( window.ResizeObserver && currentElement.parentElement ) {\n\t\t\tresizeObserver = new window.ResizeObserver( applyFitText );\n\t\t\tresizeObserver.observe( currentElement.parentElement );\n\t\t\tresizeObserver.observe( currentElement );\n\t\t}\n\n\t\t// Cleanup function\n\t\treturn () => {\n\t\t\t// Cancel pending async operations\n\t\t\tif ( hideFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( hideFrameId );\n\t\t\t}\n\t\t\tif ( calculateFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( calculateFrameId );\n\t\t\t}\n\t\t\tif ( showTimeoutId !== null ) {\n\t\t\t\tclearTimeout( showTimeoutId );\n\t\t\t}\n\n\t\t\tif ( resizeObserver ) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t}\n\n\t\t\tconst styleId = `fit-text-${ clientId }`;\n\t\t\tconst styleElement =\n\t\t\t\tcurrentElement.ownerDocument.getElementById( styleId );\n\t\t\tif ( styleElement ) {\n\t\t\t\tstyleElement.remove();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tfitText,\n\t\tclientId,\n\t\tparentId,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\t// Trigger fit text recalculation when content changes\n\tuseEffect( () => {\n\t\tif (\n\t\t\tfitText &&\n\t\t\tblockElement &&\n\t\t\thasFitTextSupport &&\n\t\t\tblockMode !== 'html'\n\t\t) {\n\t\t\t// Wait for next frame to ensure DOM has updated after content changes\n\t\t\tconst frameId = window.requestAnimationFrame( () => {\n\t\t\t\tif ( blockElement ) {\n\t\t\t\t\tapplyFitText();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn () => window.cancelAnimationFrame( frameId );\n\t\t}\n\t}, [\n\t\tblockAttributes,\n\t\tfitText,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\treturn { fontSize };\n}\n\n/**\n * Fit text control component for the typography panel.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @param {Function} props.setAttributes Function to set block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.fontSize Font size slug.\n * @param {Object} props.style Block style object.\n */\nexport function FitTextControl( {\n\tclientId,\n\tfitText = false,\n\tsetAttributes,\n\tname,\n\tfontSize,\n\tstyle,\n} ) {\n\tconst hasSelectedStyleState = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasSelectedStyleState: hasSelectedBlockStyleState } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\n\t\t\treturn hasSelectedBlockStyleState( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn null;\n\t}\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => fitText }\n\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\tonDeselect={ () => setAttributes( { fitText: undefined } ) }\n\t\t\tresetAllFilter={ () => ( { fitText: undefined } ) }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\t\tchecked={ fitText }\n\t\t\t\tonChange={ () => {\n\t\t\t\t\tconst newFitText = ! fitText || undefined;\n\t\t\t\t\tconst updates = { fitText: newFitText };\n\n\t\t\t\t\t// When enabling fit text, clear font size if it has a value\n\t\t\t\t\tif ( newFitText ) {\n\t\t\t\t\t\tif ( fontSize ) {\n\t\t\t\t\t\t\tupdates.fontSize = undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( style?.typography?.fontSize ) {\n\t\t\t\t\t\t\tupdates.style = {\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\t...style?.typography,\n\t\t\t\t\t\t\t\t\tfontSize: undefined,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tsetAttributes( updates );\n\t\t\t\t} }\n\t\t\t\thelp={\n\t\t\t\t\tfitText\n\t\t\t\t\t\t? __( 'Text will resize to fit its container.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'The text will resize to fit its container, resetting other font size settings.'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\n/**\n * Override props applied to the block element on save.\n *\n * @param {Object} props Additional props applied to the block element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tconst { fitText } = attributes;\n\n\tif ( ! fitText ) {\n\t\treturn props;\n\t}\n\n\t// Add CSS class for frontend detection and styling\n\tconst className = props.className\n\t\t? `${ props.className } has-fit-text`\n\t\t: 'has-fit-text';\n\n\treturn {\n\t\t...props,\n\t\tclassName,\n\t};\n}\n\n/**\n * Override props applied to the block element in the editor.\n *\n * @param {Object} props Component props including block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction useBlockProps( { name, fitText } ) {\n\tif ( fitText && hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn {\n\t\t\tclassName: 'has-fit-text',\n\t\t};\n\t}\n\treturn {};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fit-text/addAttribute',\n\taddAttributes\n);\n\nconst hasFitTextSupport = ( blockNameOrType ) => {\n\treturn hasBlockSupport( blockNameOrType, FIT_TEXT_SUPPORT_KEY );\n};\n\n/**\n * Component that handles the fit text font size and displays a warning\n * if the fit text font size is below a minimum threshold.\n *\n * @param {Object} props Component props.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n * @param {boolean} props.isSelected Whether the block is selected.\n * @return {Element|null} Warning component or null.\n */\nfunction FitTextFontSize( { fitText, name, clientId, isSelected } ) {\n\tconst { fontSize } = useFitText( { fitText, name, clientId } );\n\tif ( isSelected && fontSize && fontSize < MIN_FONT_SIZE_FOR_WARNING ) {\n\t\treturn (\n\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t<FitTextSizeWarning />\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\treturn null;\n}\n\n/*\n * Fit-text requires that layout calculations be done even when a block is not\n * currently selected. Therefore, the regular hooking approach using an\n * exported `edit` method is not enough, and we must use this HoC with the\n * `editor.BlockEdit` filter.\n */\nconst addFitTextControl = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn function AddFitTextControl( props ) {\n\t\tconst { name, attributes, clientId, isSelected, setAttributes } = props;\n\t\tconst { fitText } = attributes;\n\t\tconst supportsFitText = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\t\tif ( ! supportsFitText ) {\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t}\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t\t<FitTextControl\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tfontSize={ attributes.fontSize }\n\t\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ fitText && (\n\t\t\t\t\t<FitTextFontSize\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}, 'addFitTextControl' );\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/fit-text/add-fit-text-control',\n\taddFitTextControl\n);\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fitText', 'fontSize', 'style' ],\n\thasSupport: hasFitTextSupport,\n\tedit: () => null,\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { useEffect, useCallback, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nconst EMPTY_OBJECT = {};\nconst MIN_FONT_SIZE_FOR_WARNING = 12;\nimport { optimizeFitText } from '../utils/fit-text-utils';\nimport { store as blockEditorStore } from '../store';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport InspectorControls from '../components/inspector-controls';\nimport FitTextSizeWarning from '../components/fit-text-size-warning';\nimport { unlock } from '../lock-unlock';\n\nexport const FIT_TEXT_SUPPORT_KEY = 'typography.fitText';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fitText` attribute.\n *\n * @param {Object} settings Original block settings.\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition.\n\tif ( settings.attributes?.fitText ) {\n\t\treturn settings;\n\t}\n\n\t// Add fitText attribute.\n\treturn {\n\t\t...settings,\n\t\tattributes: {\n\t\t\t...settings.attributes,\n\t\t\tfitText: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Custom hook to handle fit text functionality in the editor.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.fitText Fit text attribute.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n */\nfunction useFitText( { fitText, name, clientId } ) {\n\tconst [ fontSize, setFontSize ] = useState( null );\n\tconst hasFitTextSupport = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\tconst blockElement = useBlockElement( clientId );\n\n\t// Monitor block attribute changes, parent changes, and block mode.\n\t// Any attribute or parent change may change the available space.\n\t// Block mode is needed to disable fit text when in HTML editing mode.\n\tconst { blockAttributes, parentId, blockMode } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId || ! hasFitTextSupport || ! fitText ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\t\t\tconst _blockMode =\n\t\t\t\tselect( blockEditorStore ).getBlockMode( clientId );\n\t\t\tif ( _blockMode === 'html' ) {\n\t\t\t\treturn { blockMode: _blockMode };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tblockAttributes:\n\t\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ),\n\t\t\t\tparentId:\n\t\t\t\t\tselect( blockEditorStore ).getBlockRootClientId( clientId ),\n\t\t\t\tblockMode: _blockMode,\n\t\t\t};\n\t\t},\n\t\t[ clientId, hasFitTextSupport, fitText ]\n\t);\n\n\tconst applyFitText = useCallback( () => {\n\t\tif ( ! blockElement || ! hasFitTextSupport || ! fitText ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get or create style element with unique ID\n\t\tconst styleId = `fit-text-${ clientId }`;\n\t\tlet styleElement = blockElement.ownerDocument.getElementById( styleId );\n\t\tif ( ! styleElement ) {\n\t\t\tstyleElement = blockElement.ownerDocument.createElement( 'style' );\n\t\t\tstyleElement.id = styleId;\n\t\t\tblockElement.ownerDocument.head.appendChild( styleElement );\n\t\t}\n\n\t\tconst blockSelector = `#block-${ clientId }`;\n\n\t\tconst applyFontSizeStyle = ( size ) => {\n\t\t\tif ( size === 0 ) {\n\t\t\t\tstyleElement.textContent = '';\n\t\t\t} else {\n\t\t\t\tstyleElement.textContent = `${ blockSelector } { font-size: ${ size }px !important; }`;\n\t\t\t}\n\t\t};\n\n\t\tconst optimalSize = optimizeFitText( blockElement, applyFontSizeStyle );\n\t\tsetFontSize( optimalSize );\n\t}, [ blockElement, clientId, hasFitTextSupport, fitText ] );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! fitText ||\n\t\t\t! blockElement ||\n\t\t\t! clientId ||\n\t\t\t! hasFitTextSupport ||\n\t\t\tblockMode === 'html'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Store current element value for cleanup\n\t\tconst currentElement = blockElement;\n\t\tconst previousVisibility = currentElement.style.visibility;\n\n\t\t// Store IDs for cleanup\n\t\tlet hideFrameId = null;\n\t\tlet calculateFrameId = null;\n\t\tlet showTimeoutId = null;\n\n\t\t// We are hiding the element doing the calculation of fit text\n\t\t// and then showing it again to avoid the user noticing a flash of potentially\n\t\t// big fitText while the binary search is happening.\n\t\thideFrameId = window.requestAnimationFrame( () => {\n\t\t\tcurrentElement.style.visibility = 'hidden';\n\t\t\t// Wait for browser to render the hidden state\n\t\t\tcalculateFrameId = window.requestAnimationFrame( () => {\n\t\t\t\tapplyFitText();\n\n\t\t\t\t// Using a timeout instead of requestAnimationFrame, because\n\t\t\t\t// with requestAnimationFrame a flash of very high size\n\t\t\t\t// can still occur although rare.\n\t\t\t\tshowTimeoutId = setTimeout( () => {\n\t\t\t\t\tcurrentElement.style.visibility = previousVisibility;\n\t\t\t\t}, 10 );\n\t\t\t} );\n\t\t} );\n\n\t\t// Watch for size changes\n\t\tlet resizeObserver;\n\t\tif ( window.ResizeObserver && currentElement.parentElement ) {\n\t\t\tresizeObserver = new window.ResizeObserver( applyFitText );\n\t\t\tresizeObserver.observe( currentElement.parentElement );\n\t\t\tresizeObserver.observe( currentElement );\n\t\t}\n\n\t\t// Cleanup function\n\t\treturn () => {\n\t\t\t// Cancel pending async operations\n\t\t\tif ( hideFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( hideFrameId );\n\t\t\t}\n\t\t\tif ( calculateFrameId !== null ) {\n\t\t\t\twindow.cancelAnimationFrame( calculateFrameId );\n\t\t\t}\n\t\t\tif ( showTimeoutId !== null ) {\n\t\t\t\tclearTimeout( showTimeoutId );\n\t\t\t}\n\n\t\t\tif ( resizeObserver ) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t}\n\n\t\t\tconst styleId = `fit-text-${ clientId }`;\n\t\t\tconst styleElement =\n\t\t\t\tcurrentElement.ownerDocument.getElementById( styleId );\n\t\t\tif ( styleElement ) {\n\t\t\t\tstyleElement.remove();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tfitText,\n\t\tclientId,\n\t\tparentId,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\t// Trigger fit text recalculation when content changes\n\tuseEffect( () => {\n\t\tif (\n\t\t\tfitText &&\n\t\t\tblockElement &&\n\t\t\thasFitTextSupport &&\n\t\t\tblockMode !== 'html'\n\t\t) {\n\t\t\t// Wait for next frame to ensure DOM has updated after content changes\n\t\t\tconst frameId = window.requestAnimationFrame( () => {\n\t\t\t\tif ( blockElement ) {\n\t\t\t\t\tapplyFitText();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn () => window.cancelAnimationFrame( frameId );\n\t\t}\n\t}, [\n\t\tblockAttributes,\n\t\tfitText,\n\t\tapplyFitText,\n\t\tblockElement,\n\t\thasFitTextSupport,\n\t\tblockMode,\n\t] );\n\n\treturn { fontSize };\n}\n\n/**\n * Fit text control component for the typography panel.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @param {Function} props.setAttributes Function to set block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.fontSize Font size slug.\n * @param {Object} props.style Block style object.\n */\nexport function FitTextControl( {\n\tclientId,\n\tfitText = false,\n\tsetAttributes,\n\tname,\n\tfontSize,\n\tstyle,\n} ) {\n\tconst hasSelectedStyleState = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasSelectedStyleState: hasSelectedBlockStyleState } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\n\t\t\treturn hasSelectedBlockStyleState( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn null;\n\t}\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => fitText }\n\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\tonDeselect={ () => setAttributes( { fitText: undefined } ) }\n\t\t\tresetAllFilter={ () => ( { fitText: undefined } ) }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Fit text' ) }\n\t\t\t\tchecked={ fitText }\n\t\t\t\tonChange={ () => {\n\t\t\t\t\tconst newFitText = ! fitText || undefined;\n\t\t\t\t\tconst updates = { fitText: newFitText };\n\n\t\t\t\t\t// When enabling fit text, clear font size if it has a value\n\t\t\t\t\tif ( newFitText ) {\n\t\t\t\t\t\tif ( fontSize ) {\n\t\t\t\t\t\t\tupdates.fontSize = undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( style?.typography?.fontSize ) {\n\t\t\t\t\t\t\tupdates.style = {\n\t\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\t...style?.typography,\n\t\t\t\t\t\t\t\t\tfontSize: undefined,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tsetAttributes( updates );\n\t\t\t\t} }\n\t\t\t\thelp={\n\t\t\t\t\tfitText\n\t\t\t\t\t\t? __( 'Text will resize to fit its container.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'The text will resize to fit its container, resetting other font size settings.'\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\n/**\n * Override props applied to the block element on save.\n *\n * @param {Object} props Additional props applied to the block element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tconst { fitText } = attributes;\n\n\tif ( ! fitText ) {\n\t\treturn props;\n\t}\n\n\t// Add CSS class for frontend detection and styling\n\tconst className = props.className\n\t\t? `${ props.className } has-fit-text`\n\t\t: 'has-fit-text';\n\n\treturn {\n\t\t...props,\n\t\tclassName,\n\t};\n}\n\n/**\n * Override props applied to the block element in the editor.\n *\n * @param {Object} props Component props including block attributes.\n * @param {string} props.name Block name.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @return {Object} Filtered props applied to the block element.\n */\nfunction useBlockProps( { name, fitText } ) {\n\tif ( fitText && hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY ) ) {\n\t\treturn {\n\t\t\tclassName: 'has-fit-text',\n\t\t};\n\t}\n\treturn {};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fit-text/addAttribute',\n\taddAttributes\n);\n\nconst hasFitTextSupport = ( blockNameOrType ) => {\n\treturn hasBlockSupport( blockNameOrType, FIT_TEXT_SUPPORT_KEY );\n};\n\n/**\n * Component that handles the fit text font size and displays a warning\n * if the fit text font size is below a minimum threshold.\n *\n * @param {Object} props Component props.\n * @param {boolean} props.fitText Whether fit text is enabled.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n * @param {boolean} props.isSelected Whether the block is selected.\n * @return {Element|null} Warning component or null.\n */\nfunction FitTextFontSize( { fitText, name, clientId, isSelected } ) {\n\tconst { fontSize } = useFitText( { fitText, name, clientId } );\n\tif ( isSelected && fontSize && fontSize < MIN_FONT_SIZE_FOR_WARNING ) {\n\t\treturn (\n\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t<FitTextSizeWarning />\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\treturn null;\n}\n\n/*\n * Fit-text requires that layout calculations be done even when a block is not\n * currently selected. Therefore, the regular hooking approach using an\n * exported `edit` method is not enough, and we must use this HoC with the\n * `editor.BlockEdit` filter.\n */\nconst addFitTextControl = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn function AddFitTextControl( props ) {\n\t\tconst { name, attributes, clientId, isSelected, setAttributes } = props;\n\t\tconst { fitText } = attributes;\n\t\tconst supportsFitText = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );\n\t\tif ( ! supportsFitText ) {\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t}\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t\t<FitTextControl\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tfontSize={ attributes.fontSize }\n\t\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ fitText && (\n\t\t\t\t\t<FitTextFontSize\n\t\t\t\t\t\tfitText={ fitText }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}, 'addFitTextControl' );\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/fit-text/add-fit-text-control',\n\taddFitTextControl\n);\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fitText', 'fontSize', 'style' ],\n\thasSupport: hasFitTextSupport,\n\tedit: () => null,\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["hasFitTextSupport", "blockEditorStore", "ToolsPanelItem", "InspectorControls", "FitTextSizeWarning"]
7
7
  }
@@ -38,12 +38,10 @@ module.exports = __toCommonJS(font_family_exports);
38
38
  var import_hooks = require("@wordpress/hooks");
39
39
  var import_blocks = require("@wordpress/blocks");
40
40
  var import_token_list = __toESM(require("@wordpress/token-list"));
41
- var import_components = require("@wordpress/components");
41
+ var import_kebab_case = require("@wordpress/kebab-case");
42
42
  var import_utils = require("./utils.cjs");
43
43
  var import_typography = require("./typography.cjs");
44
- var import_lock_unlock = require("../lock-unlock.cjs");
45
44
  var FONT_FAMILY_SUPPORT_KEY = "typography.__experimentalFontFamily";
46
- var { kebabCase } = (0, import_lock_unlock.unlock)(import_components.privateApis);
47
45
  function addAttributes(settings) {
48
46
  if (!(0, import_blocks.hasBlockSupport)(settings, FONT_FAMILY_SUPPORT_KEY)) {
49
47
  return settings;
@@ -72,7 +70,7 @@ function addSaveProps(props, blockType, attributes) {
72
70
  return props;
73
71
  }
74
72
  const classes = new import_token_list.default(props.className);
75
- classes.add(`has-${kebabCase(attributes?.fontFamily)}-font-family`);
73
+ classes.add(`has-${(0, import_kebab_case.kebabCase)(attributes?.fontFamily)}-font-family`);
76
74
  const newClassName = classes.value;
77
75
  props.className = newClassName ? newClassName : void 0;
78
76
  return props;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/font-family.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { shouldSkipSerialization } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport { unlock } from '../lock-unlock';\n\nexport const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\nconst { kebabCase } = unlock( componentsPrivateApis );\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fontFamily` attribute.\n *\n * @param {Object} settings Original block settings\n * @return {Object} Filtered block settings\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontFamily ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontFamily: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font family.\n *\n * @param {Object} props Additional props applied to save element\n * @param {Object} blockType Block type\n * @param {Object} attributes Block attributes\n * @return {Object} Filtered props applied to save element\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontFamily'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.fontFamily ) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( `has-${ kebabCase( attributes?.fontFamily ) }-font-family` );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\nfunction useBlockProps( { name, fontFamily } ) {\n\treturn addSaveProps( {}, name, { fontFamily } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontFamily' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY );\n\t},\n};\n\n/**\n * Resets the font family block support attribute. This can be used when\n * disabling the font family support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontFamily( { setAttributes } ) {\n\tsetAttributes( { fontFamily: undefined } );\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addAttribute',\n\taddAttributes\n);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;AAC1B,oBAAgC;AAChC,wBAAsB;AACtB,wBAAqD;AAKrD,mBAAwC;AACxC,wBAAuC;AACvC,yBAAuB;AAEhB,IAAM,0BAA0B;AACvC,IAAM,EAAE,UAAU,QAAI,2BAAQ,kBAAAA,WAAsB;AASpD,SAAS,cAAe,UAAW;AAClC,MAAK,KAAE,+BAAiB,UAAU,uBAAwB,GAAI;AAC7D,WAAO;AAAA,EACR;AAGA,MAAK,CAAE,SAAS,WAAW,YAAa;AACvC,WAAO,OAAQ,SAAS,YAAY;AAAA,MACnC,YAAY;AAAA,QACX,MAAM;AAAA,MACP;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SAAO;AACR;AAUA,SAAS,aAAc,OAAO,WAAW,YAAa;AACrD,MAAK,KAAE,+BAAiB,WAAW,uBAAwB,GAAI;AAC9D,WAAO;AAAA,EACR;AAEA,UACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACD,GACC;AACD,WAAO;AAAA,EACR;AAEA,MAAK,CAAE,YAAY,YAAa;AAC/B,WAAO;AAAA,EACR;AAGA,QAAM,UAAU,IAAI,kBAAAC,QAAW,MAAM,SAAU;AAC/C,UAAQ,IAAK,OAAQ,UAAW,YAAY,UAAW,CAAE,cAAe;AACxE,QAAM,eAAe,QAAQ;AAC7B,QAAM,YAAY,eAAe,eAAe;AAEhD,SAAO;AACR;AAEA,SAAS,cAAe,EAAE,MAAM,WAAW,GAAI;AAC9C,SAAO,aAAc,CAAC,GAAG,MAAM,EAAE,WAAW,CAAE;AAC/C;AAEA,IAAO,sBAAQ;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe,CAAE,YAAa;AAAA,EAC9B,WAAY,MAAO;AAClB,eAAO,+BAAiB,MAAM,uBAAwB;AAAA,EACvD;AACD;AAUO,SAAS,gBAAiB,EAAE,cAAc,GAAI;AACpD,gBAAe,EAAE,YAAY,OAAU,CAAE;AAC1C;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
6
- "names": ["componentsPrivateApis", "TokenList"]
4
+ "sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { kebabCase } from '@wordpress/kebab-case';\nimport { shouldSkipSerialization } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\n\nexport const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fontFamily` attribute.\n *\n * @param {Object} settings Original block settings\n * @return {Object} Filtered block settings\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontFamily ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontFamily: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font family.\n *\n * @param {Object} props Additional props applied to save element\n * @param {Object} blockType Block type\n * @param {Object} attributes Block attributes\n * @return {Object} Filtered props applied to save element\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontFamily'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.fontFamily ) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( `has-${ kebabCase( attributes?.fontFamily ) }-font-family` );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\nfunction useBlockProps( { name, fontFamily } ) {\n\treturn addSaveProps( {}, name, { fontFamily } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontFamily' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY );\n\t},\n};\n\n/**\n * Resets the font family block support attribute. This can be used when\n * disabling the font family support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontFamily( { setAttributes } ) {\n\tsetAttributes( { fontFamily: undefined } );\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addAttribute',\n\taddAttributes\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,oBAAgC;AAChC,wBAAsB;AACtB,wBAA0B;AAC1B,mBAAwC;AACxC,wBAAuC;AAEhC,IAAM,0BAA0B;AASvC,SAAS,cAAe,UAAW;AAClC,MAAK,KAAE,+BAAiB,UAAU,uBAAwB,GAAI;AAC7D,WAAO;AAAA,EACR;AAGA,MAAK,CAAE,SAAS,WAAW,YAAa;AACvC,WAAO,OAAQ,SAAS,YAAY;AAAA,MACnC,YAAY;AAAA,QACX,MAAM;AAAA,MACP;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SAAO;AACR;AAUA,SAAS,aAAc,OAAO,WAAW,YAAa;AACrD,MAAK,KAAE,+BAAiB,WAAW,uBAAwB,GAAI;AAC9D,WAAO;AAAA,EACR;AAEA,UACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACD,GACC;AACD,WAAO;AAAA,EACR;AAEA,MAAK,CAAE,YAAY,YAAa;AAC/B,WAAO;AAAA,EACR;AAGA,QAAM,UAAU,IAAI,kBAAAA,QAAW,MAAM,SAAU;AAC/C,UAAQ,IAAK,WAAQ,6BAAW,YAAY,UAAW,CAAE,cAAe;AACxE,QAAM,eAAe,QAAQ;AAC7B,QAAM,YAAY,eAAe,eAAe;AAEhD,SAAO;AACR;AAEA,SAAS,cAAe,EAAE,MAAM,WAAW,GAAI;AAC9C,SAAO,aAAc,CAAC,GAAG,MAAM,EAAE,WAAW,CAAE;AAC/C;AAEA,IAAO,sBAAQ;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe,CAAE,YAAa;AAAA,EAC9B,WAAY,MAAO;AAClB,eAAO,+BAAiB,MAAM,uBAAwB;AAAA,EACvD;AACD;AAUO,SAAS,gBAAiB,EAAE,cAAc,GAAI;AACpD,gBAAe,EAAE,YAAY,OAAU,CAAE;AAC1C;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
6
+ "names": ["TokenList"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/font-size.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { getTypographyFontSizeValue } from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\n\nexport const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\n\n/**\n * Filters registered block settings, extending attributes to include\n * `fontSize` and `fontWeight` attributes.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontSize ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font size.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif ( ! hasBlockSupport( blockNameOrType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontSize'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( getFontSizeClass( attributes.fontSize ) );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {Element} Font size edit element.\n */\nexport function FontSizeEdit( props ) {\n\tconst {\n\t\tattributes: { fontSize, style },\n\t\tsetAttributes,\n\t} = props;\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onChange = ( value, selectedItem ) => {\n\t\t// Use the selectedItem's slug if available, otherwise fall back to finding by value\n\t\tconst fontSizeSlug =\n\t\t\tselectedItem?.slug ||\n\t\t\tgetFontSizeObjectByValue( fontSizes, value ).slug;\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontSize: fontSizeSlug ? undefined : value,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tconst fontSizeObject = getFontSize(\n\t\tfontSizes,\n\t\tfontSize,\n\t\tstyle?.typography?.fontSize\n\t);\n\n\tconst fontSizeValue =\n\t\tfontSizeObject?.size || style?.typography?.fontSize || fontSize;\n\n\treturn (\n\t\t<FontSizePicker\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ fontSize || fontSizeValue }\n\t\t\tvalueMode={ fontSize ? 'slug' : 'literal' }\n\t\t\twithReset={ false }\n\t\t\twithSlider\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if font-size settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontSizeDisabled( { name: blockName } = {} ) {\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\nfunction useBlockProps( { name, fontSize, style } ) {\n\tconst [ fontSizes, fluidTypographySettings, layoutSettings ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\n\t/*\n\t * Only add inline styles if the block supports font sizes,\n\t * doesn't skip serialization of font sizes,\n\t * and has either a custom font size or a preset font size.\n\t */\n\tif (\n\t\t! hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY ) ||\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize' ) ||\n\t\t( ! fontSize && ! style?.typography?.fontSize )\n\t) {\n\t\treturn;\n\t}\n\n\tlet props;\n\n\tif ( style?.typography?.fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t\t\t{ size: style.typography.fontSize },\n\t\t\t\t\t{\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfluid: fluidTypographySettings,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlayout: layoutSettings,\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getFontSize(\n\t\t\t\t\tfontSizes,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle?.typography?.fontSize\n\t\t\t\t).size,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( ! props ) {\n\t\treturn;\n\t}\n\n\treturn addSaveProps( props, name, { fontSize } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontSize', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY );\n\t},\n};\n\nconst MIGRATION_PATHS = {\n\tfontSize: [ [ 'fontSize' ], [ 'style', 'typography', 'fontSize' ] ],\n};\n\nfunction addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tfontSize: hasBlockSupport(\n\t\t\tdestinationBlockType,\n\t\t\tFONT_SIZE_SUPPORT_KEY\n\t\t),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/font-size/addTransforms',\n\taddTransforms\n);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { getTypographyFontSizeValue } from '@wordpress/global-styles-engine';\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\n\nexport const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\n\n/**\n * Filters registered block settings, extending attributes to include\n * `fontSize` and `fontWeight` attributes.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontSize ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font size.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif ( ! hasBlockSupport( blockNameOrType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontSize'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( getFontSizeClass( attributes.fontSize ) );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {Element} Font size edit element.\n */\nexport function FontSizeEdit( props ) {\n\tconst {\n\t\tattributes: { fontSize, style },\n\t\tsetAttributes,\n\t} = props;\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onChange = ( value, selectedItem ) => {\n\t\t// Use the selectedItem's slug if available, otherwise fall back to finding by value\n\t\tconst fontSizeSlug =\n\t\t\tselectedItem?.slug ||\n\t\t\tgetFontSizeObjectByValue( fontSizes, value ).slug;\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontSize: fontSizeSlug ? undefined : value,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tconst fontSizeObject = getFontSize(\n\t\tfontSizes,\n\t\tfontSize,\n\t\tstyle?.typography?.fontSize\n\t);\n\n\tconst fontSizeValue =\n\t\tfontSizeObject?.size || style?.typography?.fontSize || fontSize;\n\n\treturn (\n\t\t<FontSizePicker\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ fontSize || fontSizeValue }\n\t\t\tvalueMode={ fontSize ? 'slug' : 'literal' }\n\t\t\twithReset={ false }\n\t\t\twithSlider\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if font-size settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontSizeDisabled( { name: blockName } = {} ) {\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\nfunction useBlockProps( { name, fontSize, style } ) {\n\tconst [ fontSizes, fluidTypographySettings, layoutSettings ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\n\t/*\n\t * Only add inline styles if the block supports font sizes,\n\t * doesn't skip serialization of font sizes,\n\t * and has either a custom font size or a preset font size.\n\t */\n\tif (\n\t\t! hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY ) ||\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize' ) ||\n\t\t( ! fontSize && ! style?.typography?.fontSize )\n\t) {\n\t\treturn;\n\t}\n\n\tlet props;\n\n\tif ( style?.typography?.fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t\t\t{ size: style.typography.fontSize },\n\t\t\t\t\t{\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfluid: fluidTypographySettings,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlayout: layoutSettings,\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getFontSize(\n\t\t\t\t\tfontSizes,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle?.typography?.fontSize\n\t\t\t\t).size,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( ! props ) {\n\t\treturn;\n\t}\n\n\treturn addSaveProps( props, name, { fontSize } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontSize', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY );\n\t},\n};\n\nconst MIGRATION_PATHS = {\n\tfontSize: [ [ 'fontSize' ], [ 'style', 'typography', 'fontSize' ] ],\n};\n\nfunction addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tfontSize: hasBlockSupport(\n\t\t\tdestinationBlockType,\n\t\t\tFONT_SIZE_SUPPORT_KEY\n\t\t),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/font-size/addTransforms',\n\taddTransforms\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,oBAAgC;AAChC,wBAAsB;AACtB,kCAA2C;AAC3C,wBAKO;AACP,wBAAuC;AACvC,mBAIO;AACP,0BAA4B;AAwG1B;AAtGK,IAAM,wBAAwB;AAUrC,SAAS,cAAe,UAAW;AAClC,MAAK,KAAE,+BAAiB,UAAU,qBAAsB,GAAI;AAC3D,WAAO;AAAA,EACR;AAGA,MAAK,CAAE,SAAS,WAAW,UAAW;AACrC,WAAO,OAAQ,SAAS,YAAY;AAAA,MACnC,UAAU;AAAA,QACT,MAAM;AAAA,MACP;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SAAO;AACR;AAWA,SAAS,aAAc,OAAO,iBAAiB,YAAa;AAC3D,MAAK,KAAE,+BAAiB,iBAAiB,qBAAsB,GAAI;AAClE,WAAO;AAAA,EACR;AAEA,UACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACD,GACC;AACD,WAAO;AAAA,EACR;AAGA,QAAM,UAAU,IAAI,kBAAAA,QAAW,MAAM,SAAU;AAC/C,UAAQ,QAAK,oCAAkB,WAAW,QAAS,CAAE;AACrD,QAAM,eAAe,QAAQ;AAC7B,QAAM,YAAY,eAAe,eAAe;AAEhD,SAAO;AACR;AASO,SAAS,aAAc,OAAQ;AACrC,QAAM;AAAA,IACL,YAAY,EAAE,UAAU,MAAM;AAAA,IAC9B;AAAA,EACD,IAAI;AACJ,QAAM,CAAE,SAAU,QAAI,iCAAa,sBAAuB;AAE1D,QAAM,WAAW,CAAE,OAAO,iBAAkB;AAE3C,UAAM,eACL,cAAc,YACd,4CAA0B,WAAW,KAAM,EAAE;AAE9C,kBAAe;AAAA,MACd,WAAO,+BAAkB;AAAA,QACxB,GAAG;AAAA,QACH,YAAY;AAAA,UACX,GAAG,OAAO;AAAA,UACV,UAAU,eAAe,SAAY;AAAA,QACtC;AAAA,MACD,CAAE;AAAA,MACF,UAAU;AAAA,IACX,CAAE;AAAA,EACH;AAEA,QAAM,qBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,OAAO,YAAY;AAAA,EACpB;AAEA,QAAM,gBACL,gBAAgB,QAAQ,OAAO,YAAY,YAAY;AAExD,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,OAAQ,YAAY;AAAA,MACpB,WAAY,WAAW,SAAS;AAAA,MAChC,WAAY;AAAA,MACZ,YAAU;AAAA;AAAA,EACX;AAEF;AAQO,SAAS,sBAAuB,EAAE,MAAM,UAAU,IAAI,CAAC,GAAI;AACjE,QAAM,CAAE,SAAU,QAAI,iCAAa,sBAAuB;AAC1D,QAAM,eAAe,CAAC,CAAE,WAAW;AAEnC,SACC,KAAE,+BAAiB,WAAW,qBAAsB,KAAK,CAAE;AAE7D;AAEA,SAAS,cAAe,EAAE,MAAM,UAAU,MAAM,GAAI;AACnD,QAAM,CAAE,WAAW,yBAAyB,cAAe,QAAI;AAAA,IAC9D;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAOA,MACC,KAAE,+BAAiB,MAAM,qBAAsB,SAC/C,sCAAyB,MAAM,0CAAwB,UAAW,KAChE,CAAE,YAAY,CAAE,OAAO,YAAY,UACpC;AACD;AAAA,EACD;AAEA,MAAI;AAEJ,MAAK,OAAO,YAAY,UAAW;AAClC,YAAQ;AAAA,MACP,OAAO;AAAA,QACN,cAAU;AAAA,UACT,EAAE,MAAM,MAAM,WAAW,SAAS;AAAA,UAClC;AAAA,YACC,YAAY;AAAA,cACX,OAAO;AAAA,YACR;AAAA,YACA,QAAQ;AAAA,UACT;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,MAAK,UAAW;AACf,YAAQ;AAAA,MACP,OAAO;AAAA,QACN,cAAU;AAAA,UACT;AAAA,UACA;AAAA,UACA,OAAO,YAAY;AAAA,QACpB,EAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AAEA,MAAK,CAAE,OAAQ;AACd;AAAA,EACD;AAEA,SAAO,aAAc,OAAO,MAAM,EAAE,SAAS,CAAE;AAChD;AAEA,IAAO,oBAAQ;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe,CAAE,YAAY,OAAQ;AAAA,EACrC,WAAY,MAAO;AAClB,eAAO,+BAAiB,MAAM,qBAAsB;AAAA,EACrD;AACD;AAEA,IAAM,kBAAkB;AAAA,EACvB,UAAU,CAAE,CAAE,UAAW,GAAG,CAAE,SAAS,cAAc,UAAW,CAAE;AACnE;AAEA,SAAS,cAAe,QAAQ,QAAQ,OAAO,SAAU;AACxD,QAAM,uBAAuB,OAAO;AACpC,QAAM,iBAAiB;AAAA,IACtB,cAAU;AAAA,MACT;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACA,aAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
6
6
  "names": ["TokenList"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/gap.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { getSpacingPresetCssVar } from '../components/spacing-sizes-control/utils';\n\n/**\n * Returns a BoxControl object value from a given blockGap style value.\n * The string check is for backwards compatibility before Gutenberg supported\n * split gap values (row and column) and the value was a string n + unit.\n *\n * @param {?string | ?Object} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @return {Object|null} A value to pass to the BoxControl component.\n */\nexport function getGapBoxControlValueFromStyle( blockGapValue ) {\n\tif ( ! blockGapValue ) {\n\t\treturn null;\n\t}\n\n\tconst isValueString = typeof blockGapValue === 'string';\n\treturn {\n\t\ttop: isValueString ? blockGapValue : blockGapValue?.top,\n\t\tleft: isValueString ? blockGapValue : blockGapValue?.left,\n\t};\n}\n\n/**\n * Returns a CSS value for the `gap` property from a given blockGap style.\n *\n * @param {?string | ?Object} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @param {?string} defaultValue A default gap value.\n * @return {string|null} The concatenated gap value (row and column).\n */\nexport function getGapCSSValue( blockGapValue, defaultValue = '0' ) {\n\tconst blockGapBoxControlValue =\n\t\tgetGapBoxControlValueFromStyle( blockGapValue );\n\tif ( ! blockGapBoxControlValue ) {\n\t\treturn null;\n\t}\n\n\tconst row =\n\t\tgetSpacingPresetCssVar( blockGapBoxControlValue?.top ) || defaultValue;\n\tconst column =\n\t\tgetSpacingPresetCssVar( blockGapBoxControlValue?.left ) || defaultValue;\n\n\treturn row === column ? row : `${ row } ${ column }`;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAuC;AAUhC,SAAS,+BAAgC,eAAgB;AAC/D,MAAK,CAAE,eAAgB;AACtB,WAAO;AAAA,EACR;AAEA,QAAM,gBAAgB,OAAO,kBAAkB;AAC/C,SAAO;AAAA,IACN,KAAK,gBAAgB,gBAAgB,eAAe;AAAA,IACpD,MAAM,gBAAgB,gBAAgB,eAAe;AAAA,EACtD;AACD;AASO,SAAS,eAAgB,eAAe,eAAe,KAAM;AACnE,QAAM,0BACL,+BAAgC,aAAc;AAC/C,MAAK,CAAE,yBAA0B;AAChC,WAAO;AAAA,EACR;AAEA,QAAM,UACL,qCAAwB,yBAAyB,GAAI,KAAK;AAC3D,QAAM,aACL,qCAAwB,yBAAyB,IAAK,KAAK;AAE5D,SAAO,QAAQ,SAAS,MAAM,GAAI,GAAI,IAAK,MAAO;AACnD;",
4
+ "sourcesContent": ["import { getSpacingPresetCssVar } from '../components/spacing-sizes-control/utils';\n\n/**\n * Returns a BoxControl object value from a given blockGap style value.\n * The string check is for backwards compatibility before Gutenberg supported\n * split gap values (row and column) and the value was a string n + unit.\n *\n * @param {?string | ?Object} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @return {Object|null} A value to pass to the BoxControl component.\n */\nexport function getGapBoxControlValueFromStyle( blockGapValue ) {\n\tif ( ! blockGapValue ) {\n\t\treturn null;\n\t}\n\n\tconst isValueString = typeof blockGapValue === 'string';\n\treturn {\n\t\ttop: isValueString ? blockGapValue : blockGapValue?.top,\n\t\tleft: isValueString ? blockGapValue : blockGapValue?.left,\n\t};\n}\n\n/**\n * Returns a CSS value for the `gap` property from a given blockGap style.\n *\n * @param {?string | ?Object} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @param {?string} defaultValue A default gap value.\n * @return {string|null} The concatenated gap value (row and column).\n */\nexport function getGapCSSValue( blockGapValue, defaultValue = '0' ) {\n\tconst blockGapBoxControlValue =\n\t\tgetGapBoxControlValueFromStyle( blockGapValue );\n\tif ( ! blockGapBoxControlValue ) {\n\t\treturn null;\n\t}\n\n\tconst row =\n\t\tgetSpacingPresetCssVar( blockGapBoxControlValue?.top ) || defaultValue;\n\tconst column =\n\t\tgetSpacingPresetCssVar( blockGapBoxControlValue?.left ) || defaultValue;\n\n\treturn row === column ? row : `${ row } ${ column }`;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuC;AAUhC,SAAS,+BAAgC,eAAgB;AAC/D,MAAK,CAAE,eAAgB;AACtB,WAAO;AAAA,EACR;AAEA,QAAM,gBAAgB,OAAO,kBAAkB;AAC/C,SAAO;AAAA,IACN,KAAK,gBAAgB,gBAAgB,eAAe;AAAA,IACpD,MAAM,gBAAgB,gBAAgB,eAAe;AAAA,EACtD;AACD;AASO,SAAS,eAAgB,eAAe,eAAe,KAAM;AACnE,QAAM,0BACL,+BAAgC,aAAc;AAC/C,MAAK,CAAE,yBAA0B;AAChC,WAAO;AAAA,EACR;AAEA,QAAM,UACL,qCAAwB,yBAAyB,GAAI,KAAK;AAC3D,QAAM,aACL,qCAAwB,yBAAyB,IAAK,KAAK;AAE5D,SAAO,QAAQ,SAAS,MAAM,GAAI,GAAI,IAAK,MAAO;AACnD;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/generated-class-name.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport, getBlockDefaultClassName } from '@wordpress/blocks';\n\n/**\n * Override props assigned to save component to inject generated className if\n * block supports it. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addGeneratedClassName( extraProps, blockType ) {\n\t// Adding the generated className.\n\tif ( hasBlockSupport( blockType, 'className', true ) ) {\n\t\tif ( typeof extraProps.className === 'string' ) {\n\t\t\t// We have some extra classes and want to add the default classname\n\t\t\t// We use uniq to prevent duplicate classnames.\n\n\t\t\textraProps.className = [\n\t\t\t\t...new Set( [\n\t\t\t\t\tgetBlockDefaultClassName( blockType.name ),\n\t\t\t\t\t...extraProps.className.split( ' ' ),\n\t\t\t\t] ),\n\t\t\t]\n\t\t\t\t.join( ' ' )\n\t\t\t\t.trim();\n\t\t} else {\n\t\t\t// There is no string in the className variable,\n\t\t\t// so we just dump the default name in there.\n\t\t\textraProps.className = getBlockDefaultClassName( blockType.name );\n\t\t}\n\t}\n\treturn extraProps;\n}\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/generated-class-name/save-props',\n\taddGeneratedClassName\n);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;AAC1B,oBAA0D;AAYnD,SAAS,sBAAuB,YAAY,WAAY;AAE9D,UAAK,+BAAiB,WAAW,aAAa,IAAK,GAAI;AACtD,QAAK,OAAO,WAAW,cAAc,UAAW;AAI/C,iBAAW,YAAY;AAAA,QACtB,GAAG,oBAAI,IAAK;AAAA,cACX,wCAA0B,UAAU,IAAK;AAAA,UACzC,GAAG,WAAW,UAAU,MAAO,GAAI;AAAA,QACpC,CAAE;AAAA,MACH,EACE,KAAM,GAAI,EACV,KAAK;AAAA,IACR,OAAO;AAGN,iBAAW,gBAAY,wCAA0B,UAAU,IAAK;AAAA,IACjE;AAAA,EACD;AACA,SAAO;AACR;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
4
+ "sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport, getBlockDefaultClassName } from '@wordpress/blocks';\n\n/**\n * Override props assigned to save component to inject generated className if\n * block supports it. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addGeneratedClassName( extraProps, blockType ) {\n\t// Adding the generated className.\n\tif ( hasBlockSupport( blockType, 'className', true ) ) {\n\t\tif ( typeof extraProps.className === 'string' ) {\n\t\t\t// We have some extra classes and want to add the default classname\n\t\t\t// We use uniq to prevent duplicate classnames.\n\n\t\t\textraProps.className = [\n\t\t\t\t...new Set( [\n\t\t\t\t\tgetBlockDefaultClassName( blockType.name ),\n\t\t\t\t\t...extraProps.className.split( ' ' ),\n\t\t\t\t] ),\n\t\t\t]\n\t\t\t\t.join( ' ' )\n\t\t\t\t.trim();\n\t\t} else {\n\t\t\t// There is no string in the className variable,\n\t\t\t// so we just dump the default name in there.\n\t\t\textraProps.className = getBlockDefaultClassName( blockType.name );\n\t\t}\n\t}\n\treturn extraProps;\n}\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/generated-class-name/save-props',\n\taddGeneratedClassName\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,oBAA0D;AAYnD,SAAS,sBAAuB,YAAY,WAAY;AAE9D,UAAK,+BAAiB,WAAW,aAAa,IAAK,GAAI;AACtD,QAAK,OAAO,WAAW,cAAc,UAAW;AAI/C,iBAAW,YAAY;AAAA,QACtB,GAAG,oBAAI,IAAK;AAAA,cACX,wCAA0B,UAAU,IAAK;AAAA,UACzC,GAAG,WAAW,UAAU,MAAO,GAAI;AAAA,QACpC,CAAE;AAAA,MACH,EACE,KAAM,GAAI,EACV,KAAK;AAAA,IACR,OAAO;AAGN,iBAAW,gBAAY,wCAA0B,UAAU,IAAK;AAAA,IACjE;AAAA,EACD;AACA,SAAO;AACR;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
6
6
  "names": []
7
7
  }
@@ -38,7 +38,7 @@ function GridLayoutSync(props) {
38
38
  (0, import_grid.useGridLayoutSync)(props);
39
39
  }
40
40
  function GridTools({ clientId, layout }) {
41
- const { isVisible, blockVisibility, deviceType } = (0, import_data.useSelect)(
41
+ const { isVisible, blockVisibility, deviceType, viewportSettings } = (0, import_data.useSelect)(
42
42
  (select) => {
43
43
  const {
44
44
  isBlockSelected,
@@ -58,7 +58,8 @@ function GridTools({ clientId, layout }) {
58
58
  return {
59
59
  isVisible: true,
60
60
  blockVisibility: attributes?.metadata?.blockVisibility,
61
- deviceType: currentDeviceType
61
+ deviceType: currentDeviceType,
62
+ viewportSettings: settings?.__experimentalFeatures?.viewport
62
63
  };
63
64
  },
64
65
  [clientId]
@@ -69,7 +70,8 @@ function GridTools({ clientId, layout }) {
69
70
  const { isBlockCurrentlyHidden, currentViewport } = (0, import_use_block_visibility.default)({
70
71
  blockVisibility,
71
72
  deviceType,
72
- view: canvasView
73
+ view: canvasView,
74
+ viewportSettings
73
75
  });
74
76
  const isAnyAncestorHidden = (0, import_data.useSelect)(
75
77
  (select) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/grid-visualizer.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { GridVisualizer, useGridLayoutSync } from '../components/grid';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport useBlockVisibility from '../components/block-visibility/use-block-visibility';\nimport { deviceTypeKey } from '../store/private-keys';\nimport { BLOCK_VISIBILITY_VIEWPORTS } from '../components/block-visibility/constants';\n\nfunction GridLayoutSync( props ) {\n\tuseGridLayoutSync( props );\n}\n\nfunction GridTools( { clientId, layout } ) {\n\tconst { isVisible, blockVisibility, deviceType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tisDraggingBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\t// These calls are purposely ordered from least expensive to most expensive.\n\t\t\t// Hides the visualizer in cases where the user is not or cannot interact with it.\n\t\t\t// Also hide if a child block is selected, because layout-child.js will render\n\t\t\t// the visualizer in that case (with proper childGridClientId handling).\n\t\t\tif (\n\t\t\t\t( ! isDraggingBlocks() && ! isBlockSelected( clientId ) ) ||\n\t\t\t\tgetTemplateLock( clientId ) ||\n\t\t\t\tgetBlockEditingMode( clientId ) !== 'default' ||\n\t\t\t\thasSelectedInnerBlock( clientId )\n\t\t\t) {\n\t\t\t\treturn { isVisible: false };\n\t\t\t}\n\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst settings = getSettings();\n\t\t\tconst currentDeviceType =\n\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() ||\n\t\t\t\tBLOCK_VISIBILITY_VIEWPORTS.desktop.key;\n\n\t\t\treturn {\n\t\t\t\tisVisible: true,\n\t\t\t\tblockVisibility: attributes?.metadata?.blockVisibility,\n\t\t\t\tdeviceType: currentDeviceType,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Get the block's DOM element to derive the canvas iframe window,\n\t// so viewport detection matches the actual block rendering context\n\tconst blockElement = useBlockElement( clientId );\n\tconst rawCanvasView = blockElement?.ownerDocument?.defaultView;\n\tconst canvasView = rawCanvasView === null ? undefined : rawCanvasView;\n\n\tconst { isBlockCurrentlyHidden, currentViewport } = useBlockVisibility( {\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tview: canvasView,\n\t} );\n\n\t// Check whether any ancestor is hidden at the viewport actually detected\n\t// from the canvas, so it stays consistent with how blocks are hidden.\n\tconst isAnyAncestorHidden = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isVisible ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { isBlockParentHiddenAtViewport } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn isBlockParentHiddenAtViewport( clientId, currentViewport );\n\t\t},\n\t\t[ clientId, currentViewport, isVisible ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GridLayoutSync clientId={ clientId } />\n\t\t\t{ isVisible &&\n\t\t\t\t! isBlockCurrentlyHidden &&\n\t\t\t\t! isAnyAncestorHidden && (\n\t\t\t\t\t<GridVisualizer\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tparentLayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst addGridVisualizerToBlockEdit = createHigherOrderComponent(\n\t( BlockEdit ) =>\n\t\tfunction AddGridVisualizerToBlockEdit( props ) {\n\t\t\tif ( props.attributes.layout?.type !== 'grid' ) {\n\t\t\t\treturn <BlockEdit key=\"edit\" { ...props } />;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<GridTools\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\tlayout={ props.attributes.layout }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t'addGridVisualizerToBlockEdit'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/grid-visualizer',\n\taddGridVisualizerToBlockEdit\n);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,qBAA2C;AAC3C,mBAA0B;AAC1B,kBAA0B;AAK1B,kBAAkD;AAClD,mBAA0C;AAC1C,yBAAuB;AACvB,4BAAgC;AAChC,kCAA+B;AAC/B,0BAA8B;AAC9B,uBAA2C;AA2EzC;AAzEF,SAAS,eAAgB,OAAQ;AAChC,qCAAmB,KAAM;AAC1B;AAEA,SAAS,UAAW,EAAE,UAAU,OAAO,GAAI;AAC1C,QAAM,EAAE,WAAW,iBAAiB,WAAW,QAAI;AAAA,IAClD,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,aAAAA,KAAiB;AAM7B,UACG,CAAE,iBAAiB,KAAK,CAAE,gBAAiB,QAAS,KACtD,gBAAiB,QAAS,KAC1B,oBAAqB,QAAS,MAAM,aACpC,sBAAuB,QAAS,GAC/B;AACD,eAAO,EAAE,WAAW,MAAM;AAAA,MAC3B;AAEA,YAAM,aAAa,mBAAoB,QAAS;AAChD,YAAM,WAAW,YAAY;AAC7B,YAAM,oBACL,WAAY,iCAAc,GAAG,YAAY,KACzC,4CAA2B,QAAQ;AAEpC,aAAO;AAAA,QACN,WAAW;AAAA,QACX,iBAAiB,YAAY,UAAU;AAAA,QACvC,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAIA,QAAM,mBAAe,uCAAiB,QAAS;AAC/C,QAAM,gBAAgB,cAAc,eAAe;AACnD,QAAM,aAAa,kBAAkB,OAAO,SAAY;AAExD,QAAM,EAAE,wBAAwB,gBAAgB,QAAI,4BAAAC,SAAoB;AAAA,IACvE;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACP,CAAE;AAIF,QAAM,0BAAsB;AAAA,IAC3B,CAAE,WAAY;AACb,UAAK,CAAE,WAAY;AAClB,eAAO;AAAA,MACR;AACA,YAAM,EAAE,8BAA8B,QAAI;AAAA,QACzC,OAAQ,aAAAD,KAAiB;AAAA,MAC1B;AACA,aAAO,8BAA+B,UAAU,eAAgB;AAAA,IACjE;AAAA,IACA,CAAE,UAAU,iBAAiB,SAAU;AAAA,EACxC;AAEA,SACC,4EACC;AAAA,gDAAC,kBAAe,UAAsB;AAAA,IACpC,aACD,CAAE,0BACF,CAAE,uBACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,cAAe;AAAA;AAAA,IAChB;AAAA,KAEH;AAEF;AAEA,IAAM,mCAA+B;AAAA,EACpC,CAAE,cACD,SAAS,6BAA8B,OAAQ;AAC9C,QAAK,MAAM,WAAW,QAAQ,SAAS,QAAS;AAC/C,aAAO,4CAAC,aAAuB,GAAG,SAAZ,MAAoB;AAAA,IAC3C;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,UAAW,MAAM;AAAA,UACjB,QAAS,MAAM,WAAW;AAAA;AAAA,MAC3B;AAAA,MACA,4CAAC,aAAuB,GAAG,SAAZ,MAAoB;AAAA,OACpC;AAAA,EAEF;AAAA,EACD;AACD;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
4
+ "sourcesContent": ["import { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useSelect } from '@wordpress/data';\nimport { GridVisualizer, useGridLayoutSync } from '../components/grid';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport useBlockVisibility from '../components/block-visibility/use-block-visibility';\nimport { deviceTypeKey } from '../store/private-keys';\nimport { BLOCK_VISIBILITY_VIEWPORTS } from '../components/block-visibility/constants';\n\nfunction GridLayoutSync( props ) {\n\tuseGridLayoutSync( props );\n}\n\nfunction GridTools( { clientId, layout } ) {\n\tconst { isVisible, blockVisibility, deviceType, viewportSettings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tisBlockSelected,\n\t\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t\tisDraggingBlocks,\n\t\t\t\t\tgetTemplateLock,\n\t\t\t\t\tgetBlockEditingMode,\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetSettings,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t// These calls are purposely ordered from least expensive to most expensive.\n\t\t\t\t// Hides the visualizer in cases where the user is not or cannot interact with it.\n\t\t\t\t// Also hide if a child block is selected, because layout-child.js will render\n\t\t\t\t// the visualizer in that case (with proper childGridClientId handling).\n\t\t\t\tif (\n\t\t\t\t\t( ! isDraggingBlocks() && ! isBlockSelected( clientId ) ) ||\n\t\t\t\t\tgetTemplateLock( clientId ) ||\n\t\t\t\t\tgetBlockEditingMode( clientId ) !== 'default' ||\n\t\t\t\t\thasSelectedInnerBlock( clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn { isVisible: false };\n\t\t\t\t}\n\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst settings = getSettings();\n\t\t\t\tconst currentDeviceType =\n\t\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() ||\n\t\t\t\t\tBLOCK_VISIBILITY_VIEWPORTS.desktop.key;\n\n\t\t\t\treturn {\n\t\t\t\t\tisVisible: true,\n\t\t\t\t\tblockVisibility: attributes?.metadata?.blockVisibility,\n\t\t\t\t\tdeviceType: currentDeviceType,\n\t\t\t\t\tviewportSettings:\n\t\t\t\t\t\tsettings?.__experimentalFeatures?.viewport,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\t// Get the block's DOM element to derive the canvas iframe window,\n\t// so viewport detection matches the actual block rendering context\n\tconst blockElement = useBlockElement( clientId );\n\tconst rawCanvasView = blockElement?.ownerDocument?.defaultView;\n\tconst canvasView = rawCanvasView === null ? undefined : rawCanvasView;\n\n\tconst { isBlockCurrentlyHidden, currentViewport } = useBlockVisibility( {\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tview: canvasView,\n\t\tviewportSettings,\n\t} );\n\n\t// Check whether any ancestor is hidden at the viewport actually detected\n\t// from the canvas, so it stays consistent with how blocks are hidden.\n\tconst isAnyAncestorHidden = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isVisible ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { isBlockParentHiddenAtViewport } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn isBlockParentHiddenAtViewport( clientId, currentViewport );\n\t\t},\n\t\t[ clientId, currentViewport, isVisible ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GridLayoutSync clientId={ clientId } />\n\t\t\t{ isVisible &&\n\t\t\t\t! isBlockCurrentlyHidden &&\n\t\t\t\t! isAnyAncestorHidden && (\n\t\t\t\t\t<GridVisualizer\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tparentLayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst addGridVisualizerToBlockEdit = createHigherOrderComponent(\n\t( BlockEdit ) =>\n\t\tfunction AddGridVisualizerToBlockEdit( props ) {\n\t\t\tif ( props.attributes.layout?.type !== 'grid' ) {\n\t\t\t\treturn <BlockEdit key=\"edit\" { ...props } />;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<GridTools\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\tlayout={ props.attributes.layout }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t'addGridVisualizerToBlockEdit'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/grid-visualizer',\n\taddGridVisualizerToBlockEdit\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAA2C;AAC3C,mBAA0B;AAC1B,kBAA0B;AAC1B,kBAAkD;AAClD,mBAA0C;AAC1C,yBAAuB;AACvB,4BAAgC;AAChC,kCAA+B;AAC/B,0BAA8B;AAC9B,uBAA2C;AA+EzC;AA7EF,SAAS,eAAgB,OAAQ;AAChC,qCAAmB,KAAM;AAC1B;AAEA,SAAS,UAAW,EAAE,UAAU,OAAO,GAAI;AAC1C,QAAM,EAAE,WAAW,iBAAiB,YAAY,iBAAiB,QAChE;AAAA,IACC,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,aAAAA,KAAiB;AAM7B,UACG,CAAE,iBAAiB,KAAK,CAAE,gBAAiB,QAAS,KACtD,gBAAiB,QAAS,KAC1B,oBAAqB,QAAS,MAAM,aACpC,sBAAuB,QAAS,GAC/B;AACD,eAAO,EAAE,WAAW,MAAM;AAAA,MAC3B;AAEA,YAAM,aAAa,mBAAoB,QAAS;AAChD,YAAM,WAAW,YAAY;AAC7B,YAAM,oBACL,WAAY,iCAAc,GAAG,YAAY,KACzC,4CAA2B,QAAQ;AAEpC,aAAO;AAAA,QACN,WAAW;AAAA,QACX,iBAAiB,YAAY,UAAU;AAAA,QACvC,YAAY;AAAA,QACZ,kBACC,UAAU,wBAAwB;AAAA,MACpC;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAID,QAAM,mBAAe,uCAAiB,QAAS;AAC/C,QAAM,gBAAgB,cAAc,eAAe;AACnD,QAAM,aAAa,kBAAkB,OAAO,SAAY;AAExD,QAAM,EAAE,wBAAwB,gBAAgB,QAAI,4BAAAC,SAAoB;AAAA,IACvE;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,EACD,CAAE;AAIF,QAAM,0BAAsB;AAAA,IAC3B,CAAE,WAAY;AACb,UAAK,CAAE,WAAY;AAClB,eAAO;AAAA,MACR;AACA,YAAM,EAAE,8BAA8B,QAAI;AAAA,QACzC,OAAQ,aAAAD,KAAiB;AAAA,MAC1B;AACA,aAAO,8BAA+B,UAAU,eAAgB;AAAA,IACjE;AAAA,IACA,CAAE,UAAU,iBAAiB,SAAU;AAAA,EACxC;AAEA,SACC,4EACC;AAAA,gDAAC,kBAAe,UAAsB;AAAA,IACpC,aACD,CAAE,0BACF,CAAE,uBACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,cAAe;AAAA;AAAA,IAChB;AAAA,KAEH;AAEF;AAEA,IAAM,mCAA+B;AAAA,EACpC,CAAE,cACD,SAAS,6BAA8B,OAAQ;AAC9C,QAAK,MAAM,WAAW,QAAQ,SAAS,QAAS;AAC/C,aAAO,4CAAC,aAAuB,GAAG,SAAZ,MAAoB;AAAA,IAC3C;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,UAAW,MAAM;AAAA,UACjB,QAAS,MAAM,WAAW;AAAA;AAAA,MAC3B;AAAA,MACA,4CAAC,aAAuB,GAAG,SAAZ,MAAoB;AAAA,OACpC;AAAA,EAEF;AAAA,EACD;AACD;AAAA,IAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
6
6
  "names": ["blockEditorStore", "useBlockVisibility"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/index.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport {\n\tcreateBlockEditFilter,\n\tcreateBlockListBlockFilter,\n\tcreateBlockSaveFilter,\n} from './utils';\nimport './compat';\nimport './cross-origin-isolation';\nimport align from './align';\nimport background from './background';\nimport './lock';\nimport allowedBlocks from './allowed-blocks';\nimport anchor from './anchor';\nimport ariaLabel from './aria-label';\nimport blockFields from './block-fields';\nimport customClassName from './custom-class-name';\nimport './generated-class-name';\nimport style from './style';\nimport './settings';\nimport color from './color';\nimport dimensions from './dimensions';\nimport duotone from './duotone';\nimport fontFamily from './font-family';\nimport fontSize from './font-size';\nimport textAlign from './text-align';\nimport fitText from './fit-text';\nimport border from './border';\nimport customCSS from './custom-css';\nimport position from './position';\nimport blockStyleVariation from './block-style-variation';\nimport layout from './layout';\nimport childLayout from './layout-child';\nimport './metadata';\nimport blockHooks from './block-hooks';\nimport blockBindingsPanel from './block-bindings';\nimport listView from './list-view';\nimport './block-renaming';\nimport './grid-visualizer';\nimport AutoRegisterControls from './auto-inspector-controls';\n\ncreateBlockEditFilter(\n\t[\n\t\talign,\n\t\ttextAlign,\n\t\tanchor,\n\t\tcustomClassName,\n\t\tstyle,\n\t\tcustomCSS,\n\t\tduotone,\n\t\tfitText,\n\t\tposition,\n\t\tlayout,\n\t\tblockHooks,\n\t\tblockBindingsPanel,\n\t\tchildLayout,\n\t\tallowedBlocks,\n\t\tblockFields,\n\t\tlistView,\n\t\tAutoRegisterControls,\n\t].filter( Boolean )\n);\ncreateBlockListBlockFilter( [\n\talign,\n\ttextAlign,\n\tbackground,\n\tstyle,\n\tcolor,\n\tdimensions,\n\tduotone,\n\tfontFamily,\n\tfontSize,\n\tfitText,\n\tborder,\n\tcustomCSS,\n\tposition,\n\tblockStyleVariation,\n\tchildLayout,\n] );\ncreateBlockSaveFilter( [\n\talign,\n\ttextAlign,\n\tanchor,\n\tariaLabel,\n\tcustomClassName,\n\tborder,\n\tcustomCSS,\n\tfitText,\n\tcolor,\n\tstyle,\n\tfontFamily,\n\tfontSize,\n] );\n\nexport { useCustomSides } from './dimensions';\nexport { getDimensionsClassesAndStyles } from './use-dimensions-props';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getShadowClassesAndStyles } from './use-shadow-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\nexport { setBackgroundStyleDefaults } from './background';\nexport { useZoomOut } from './use-zoom-out';\nexport { BlockStyleVariationOverridesWithConfig } from './block-style-variation';\nexport { useStyleOverride } from './utils';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAIO;AACP,oBAAO;AACP,oCAAO;AACP,mBAAkB;AAClB,wBAAuB;AACvB,kBAAO;AACP,4BAA0B;AAC1B,oBAAmB;AACnB,wBAAsB;AACtB,0BAAwB;AACxB,+BAA4B;AAC5B,kCAAO;AACP,mBAAkB;AAClB,sBAAO;AACP,mBAAkB;AAClB,wBAAuB;AACvB,qBAAoB;AACpB,yBAAuB;AACvB,uBAAqB;AACrB,wBAAsB;AACtB,sBAAoB;AACpB,oBAAmB;AACnB,wBAAsB;AACtB,sBAAqB;AACrB,mCAAgC;AAChC,oBAAmB;AACnB,0BAAwB;AACxB,sBAAO;AACP,yBAAuB;AACvB,4BAA+B;AAC/B,uBAAqB;AACrB,4BAAO;AACP,6BAAO;AACP,qCAAiC;AAuDjC,IAAAA,qBAA+B;AAC/B,kCAA8C;AAC9C,IAAAC,iBAAkD;AAClD,8BAA0D;AAC1D,8BAA0C;AAC1C,6BAAwD;AACxD,+BAA2C;AAC3C,kCAA8C;AAC9C,iBAA+B;AAC/B,+BAAgC;AAChC,IAAAC,qBAA2C;AAC3C,0BAA2B;AAC3B,IAAAC,gCAAuD;AACvD,IAAAC,gBAAiC;AAAA,IAlEjC;AAAA,EACC;AAAA,IACC,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,+BAAAC;AAAA,EACD,EAAE,OAAQ,OAAQ;AACnB;AAAA,IACA,yCAA4B;AAAA,EAC3B,aAAAhB;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAgB;AAAA,EACA,aAAAb;AAAA,EACA,aAAAc;AAAA,EACA,kBAAAC;AAAA,EACA,eAAAb;AAAA,EACA,mBAAAc;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAd;AAAA,EACA,cAAAe;AAAA,EACA,kBAAAjB;AAAA,EACA,gBAAAG;AAAA,EACA,6BAAAe;AAAA,EACA,oBAAAX;AACD,CAAE;AAAA,IACF,oCAAuB;AAAA,EACtB,aAAAZ;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,kBAAAsB;AAAA,EACA,yBAAArB;AAAA,EACA,cAAAmB;AAAA,EACA,kBAAAjB;AAAA,EACA,gBAAAE;AAAA,EACA,aAAAW;AAAA,EACA,aAAAd;AAAA,EACA,mBAAAgB;AAAA,EACA,iBAAAC;AACD,CAAE;",
4
+ "sourcesContent": ["import {\n\tcreateBlockEditFilter,\n\tcreateBlockListBlockFilter,\n\tcreateBlockSaveFilter,\n} from './utils';\nimport './compat';\nimport './cross-origin-isolation';\nimport align from './align';\nimport background from './background';\nimport './lock';\nimport allowedBlocks from './allowed-blocks';\nimport anchor from './anchor';\nimport ariaLabel from './aria-label';\nimport blockFields from './block-fields';\nimport customClassName from './custom-class-name';\nimport './generated-class-name';\nimport style from './style';\nimport './settings';\nimport color from './color';\nimport dimensions from './dimensions';\nimport duotone from './duotone';\nimport fontFamily from './font-family';\nimport fontSize from './font-size';\nimport textAlign from './text-align';\nimport fitText from './fit-text';\nimport border from './border';\nimport customCSS from './custom-css';\nimport position from './position';\nimport blockStyleVariation from './block-style-variation';\nimport layout from './layout';\nimport childLayout from './layout-child';\nimport './metadata';\nimport blockHooks from './block-hooks';\nimport blockBindingsPanel from './block-bindings';\nimport listView from './list-view';\nimport './block-renaming';\nimport './grid-visualizer';\nimport AutoRegisterControls from './auto-inspector-controls';\n\ncreateBlockEditFilter(\n\t[\n\t\talign,\n\t\ttextAlign,\n\t\tanchor,\n\t\tcustomClassName,\n\t\tstyle,\n\t\tcustomCSS,\n\t\tduotone,\n\t\tfitText,\n\t\tposition,\n\t\tlayout,\n\t\tblockHooks,\n\t\tblockBindingsPanel,\n\t\tchildLayout,\n\t\tallowedBlocks,\n\t\tblockFields,\n\t\tlistView,\n\t\tAutoRegisterControls,\n\t].filter( Boolean )\n);\ncreateBlockListBlockFilter( [\n\talign,\n\ttextAlign,\n\tbackground,\n\tstyle,\n\tcolor,\n\tdimensions,\n\tduotone,\n\tfontFamily,\n\tfontSize,\n\tfitText,\n\tborder,\n\tcustomCSS,\n\tposition,\n\tblockStyleVariation,\n\tchildLayout,\n] );\ncreateBlockSaveFilter( [\n\talign,\n\ttextAlign,\n\tanchor,\n\tariaLabel,\n\tcustomClassName,\n\tborder,\n\tcustomCSS,\n\tfitText,\n\tcolor,\n\tstyle,\n\tfontFamily,\n\tfontSize,\n] );\n\nexport { useCustomSides } from './dimensions';\nexport { getDimensionsClassesAndStyles } from './use-dimensions-props';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getShadowClassesAndStyles } from './use-shadow-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\nexport { setBackgroundStyleDefaults } from './background';\nexport { useZoomOut } from './use-zoom-out';\nexport { BlockStyleVariationOverridesWithConfig } from './block-style-variation';\nexport { useStyleOverride } from './utils';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAIO;AACP,oBAAO;AACP,oCAAO;AACP,mBAAkB;AAClB,wBAAuB;AACvB,kBAAO;AACP,4BAA0B;AAC1B,oBAAmB;AACnB,wBAAsB;AACtB,0BAAwB;AACxB,+BAA4B;AAC5B,kCAAO;AACP,mBAAkB;AAClB,sBAAO;AACP,mBAAkB;AAClB,wBAAuB;AACvB,qBAAoB;AACpB,yBAAuB;AACvB,uBAAqB;AACrB,wBAAsB;AACtB,sBAAoB;AACpB,oBAAmB;AACnB,wBAAsB;AACtB,sBAAqB;AACrB,mCAAgC;AAChC,oBAAmB;AACnB,0BAAwB;AACxB,sBAAO;AACP,yBAAuB;AACvB,4BAA+B;AAC/B,uBAAqB;AACrB,4BAAO;AACP,6BAAO;AACP,qCAAiC;AAuDjC,IAAAA,qBAA+B;AAC/B,kCAA8C;AAC9C,IAAAC,iBAAkD;AAClD,8BAA0D;AAC1D,8BAA0C;AAC1C,6BAAwD;AACxD,+BAA2C;AAC3C,kCAA8C;AAC9C,iBAA+B;AAC/B,+BAAgC;AAChC,IAAAC,qBAA2C;AAC3C,0BAA2B;AAC3B,IAAAC,gCAAuD;AACvD,IAAAC,gBAAiC;AAAA,IAlEjC;AAAA,EACC;AAAA,IACC,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,+BAAAC;AAAA,EACD,EAAE,OAAQ,OAAQ;AACnB;AAAA,IACA,yCAA4B;AAAA,EAC3B,aAAAhB;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAgB;AAAA,EACA,aAAAb;AAAA,EACA,aAAAc;AAAA,EACA,kBAAAC;AAAA,EACA,eAAAb;AAAA,EACA,mBAAAc;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAd;AAAA,EACA,cAAAe;AAAA,EACA,kBAAAjB;AAAA,EACA,gBAAAG;AAAA,EACA,6BAAAe;AAAA,EACA,oBAAAX;AACD,CAAE;AAAA,IACF,oCAAuB;AAAA,EACtB,aAAAZ;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,kBAAAsB;AAAA,EACA,yBAAArB;AAAA,EACA,cAAAmB;AAAA,EACA,kBAAAjB;AAAA,EACA,gBAAAE;AAAA,EACA,aAAAW;AAAA,EACA,aAAAd;AAAA,EACA,mBAAAgB;AAAA,EACA,iBAAAC;AACD,CAAE;",
6
6
  "names": ["import_dimensions", "import_layout", "import_background", "import_block_style_variation", "import_utils", "align", "textAlign", "anchor", "customClassName", "style", "customCSS", "duotone", "fitText", "position", "layout", "blockHooks", "blockBindingsPanel", "childLayout", "allowedBlocks", "blockFields", "listView", "AutoRegisterControls", "background", "color", "dimensions", "fontFamily", "fontSize", "border", "blockStyleVariation", "ariaLabel"]
7
7
  }
@@ -39,6 +39,7 @@ module.exports = __toCommonJS(layout_child_exports);
39
39
  var import_compose = require("@wordpress/compose");
40
40
  var import_data = require("@wordpress/data");
41
41
  var import_element = require("@wordpress/element");
42
+ var import_global_styles_engine = require("@wordpress/global-styles-engine");
42
43
  var import_store = require("../store/index.cjs");
43
44
  var import_lock_unlock = require("../lock-unlock.cjs");
44
45
  var import_utils = require("./utils.cjs");
@@ -50,11 +51,8 @@ var import_private_keys = require("../store/private-keys.cjs");
50
51
  var import_constants = require("../components/block-visibility/constants.cjs");
51
52
  var import_block_style_state = require("./block-style-state.cjs");
52
53
  var import_jsx_runtime = require("react/jsx-runtime");
54
+ var { getResponsiveMediaQueries } = (0, import_lock_unlock.unlock)(import_global_styles_engine.privateApis);
53
55
  var LAYOUT_CHILD_BLOCK_PROPS_REFERENCE = {};
54
- var RESPONSIVE_BREAKPOINTS = {
55
- "@mobile": "@media (width <= 480px)",
56
- "@tablet": "@media (480px < width <= 782px)"
57
- };
58
56
  var FLEX_CHILD_LAYOUT_VALUES = {
59
57
  fit: "fit",
60
58
  grow: "fill",
@@ -199,10 +197,11 @@ function getChildLayoutStyles({
199
197
  function getResponsiveChildLayoutStyles({
200
198
  style = {},
201
199
  selector,
202
- parentLayout = {}
200
+ parentLayout = {},
201
+ viewportSettings
203
202
  }) {
204
203
  const baseLayout = style?.layout ?? {};
205
- return Object.entries(RESPONSIVE_BREAKPOINTS).map(([viewport, mediaQuery]) => {
204
+ return Object.entries(getResponsiveMediaQueries(viewportSettings)).map(([viewport, mediaQuery]) => {
206
205
  const viewportLayout = (0, import_block_style_state.getStyleForState)(style, {
207
206
  viewport,
208
207
  pseudo: import_block_style_state.DEFAULT_BLOCK_STYLE_STATE.pseudo
@@ -222,9 +221,15 @@ function getResponsiveChildLayoutStyles({
222
221
  }).filter(Boolean).join("");
223
222
  }
224
223
  function useBlockPropsChildLayoutStyles({ style }) {
225
- const shouldRenderChildLayoutStyles = (0, import_data.useSelect)((select) => {
226
- return !select(import_store.store).getSettings().disableLayoutStyles;
227
- });
224
+ const { shouldRenderChildLayoutStyles, viewportSettings } = (0, import_data.useSelect)(
225
+ (select) => {
226
+ const settings = select(import_store.store).getSettings();
227
+ return {
228
+ shouldRenderChildLayoutStyles: !settings.disableLayoutStyles,
229
+ viewportSettings: settings?.__experimentalFeatures?.viewport
230
+ };
231
+ }
232
+ );
228
233
  const layout = style?.layout ?? {};
229
234
  const { columnStart, rowStart, columnSpan, rowSpan } = layout;
230
235
  const parentLayout = (0, import_layout.useLayout)() || {};
@@ -255,7 +260,8 @@ function useBlockPropsChildLayoutStyles({ style }) {
255
260
  getResponsiveChildLayoutStyles({
256
261
  style,
257
262
  selector,
258
- parentLayout
263
+ parentLayout,
264
+ viewportSettings
259
265
  })
260
266
  ].join("");
261
267
  }
@@ -301,6 +307,7 @@ function GridTools({
301
307
  parentBlockVisibility,
302
308
  blockBlockVisibility,
303
309
  deviceType,
310
+ viewportSettings,
304
311
  isChildBlockAGrid
305
312
  } = (0, import_data.useSelect)(
306
313
  (select) => {
@@ -328,6 +335,7 @@ function GridTools({
328
335
  parentBlockVisibility: parentAttributes?.metadata?.blockVisibility,
329
336
  blockBlockVisibility: blockAttributes?.metadata?.blockVisibility,
330
337
  deviceType: currentDeviceType,
338
+ viewportSettings: settings?.__experimentalFeatures?.viewport,
331
339
  // Check if the selected child block is itself a grid.
332
340
  isChildBlockAGrid: blockAttributes?.layout?.type === "grid"
333
341
  };
@@ -343,7 +351,8 @@ function GridTools({
343
351
  } = (0, import_use_block_visibility.default)({
344
352
  blockVisibility: parentBlockVisibility,
345
353
  deviceType,
346
- view: canvasView
354
+ view: canvasView,
355
+ viewportSettings
347
356
  });
348
357
  const isAnyAncestorHidden = (0, import_data.useSelect)(
349
358
  (select) => {
@@ -363,7 +372,8 @@ function GridTools({
363
372
  const { isBlockCurrentlyHidden: isBlockItselfCurrentlyHidden } = (0, import_use_block_visibility.default)({
364
373
  blockVisibility: blockBlockVisibility,
365
374
  deviceType,
366
- view: canvasView
375
+ view: canvasView,
376
+ viewportSettings
367
377
  });
368
378
  const [resizerBounds, setResizerBounds] = (0, import_element.useState)();
369
379
  const childGridClientId = isChildBlockAGrid ? clientId : void 0;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/layout-child.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { useStyleOverride } from './utils';\nimport { useLayout } from '../components/block-list/layout';\nimport {\n\tGridVisualizer,\n\tGridItemResizer,\n\tGridItemMovers,\n} from '../components/grid';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport useBlockVisibility from '../components/block-visibility/use-block-visibility';\nimport { deviceTypeKey } from '../store/private-keys';\nimport { BLOCK_VISIBILITY_VIEWPORTS } from '../components/block-visibility/constants';\nimport {\n\tDEFAULT_BLOCK_STYLE_STATE,\n\tgetStyleForState,\n} from './block-style-state';\n\n// Used for generating the instance ID\nconst LAYOUT_CHILD_BLOCK_PROPS_REFERENCE = {};\n// Keep in sync with WP_Theme_JSON_Gutenberg::RESPONSIVE_BREAKPOINTS.\nconst RESPONSIVE_BREAKPOINTS = {\n\t'@mobile': '@media (width <= 480px)',\n\t'@tablet': '@media (480px < width <= 782px)',\n};\n\n// These are the serialized `selfStretch` values. `max` used to be called\n// \"Fixed\" in the UI, but was renamed and replaced by `fixedNoShrink`.\nconst FLEX_CHILD_LAYOUT_VALUES = {\n\tfit: 'fit',\n\tgrow: 'fill',\n\tmax: 'fixed',\n\tfixed: 'fixedNoShrink',\n};\n\nconst FLEX_SIZE_VALUES = [\n\tFLEX_CHILD_LAYOUT_VALUES.max,\n\tFLEX_CHILD_LAYOUT_VALUES.fixed,\n];\n\nfunction isFlexSizeValue( value ) {\n\treturn FLEX_SIZE_VALUES.includes( value );\n}\n\nfunction serializeRule( { selector, declarations } ) {\n\treturn `${ selector } {\n\t\t${ Object.entries( declarations )\n\t\t\t.map( ( [ property, value ] ) => `${ property }: ${ value }` )\n\t\t\t.join( '; ' ) };\n\t}`;\n}\n\nexport function getChildLayoutStyleRules( {\n\tselector,\n\tlayout = {},\n\tviewportOverrides,\n\tparentLayout = {},\n\tincludeContainerQuery = true,\n} ) {\n\tconst hasViewportOverrides = viewportOverrides !== undefined;\n\tconst effectiveLayout = hasViewportOverrides\n\t\t? {\n\t\t\t\t...layout,\n\t\t\t\t...viewportOverrides,\n\t\t }\n\t\t: layout;\n\tconst hasViewportOverride = ( key ) =>\n\t\tObject.hasOwn( viewportOverrides || {}, key );\n\tconst {\n\t\tselfStretch,\n\t\tflexSize,\n\t\tcolumnStart,\n\t\trowStart,\n\t\tcolumnSpan,\n\t\trowSpan,\n\t} = effectiveLayout;\n\tconst baseSelfStretch = layout.selfStretch;\n\tconst { columnCount, minimumColumnWidth } = parentLayout;\n\tconst rules = [];\n\n\tconst declarations = {};\n\tif (\n\t\t! hasViewportOverrides ||\n\t\thasViewportOverride( 'selfStretch' ) ||\n\t\thasViewportOverride( 'flexSize' )\n\t) {\n\t\tif (\n\t\t\thasViewportOverrides &&\n\t\t\t( selfStretch === FLEX_CHILD_LAYOUT_VALUES.fit ||\n\t\t\t\tselfStretch === FLEX_CHILD_LAYOUT_VALUES.grow ) &&\n\t\t\tisFlexSizeValue( baseSelfStretch ) &&\n\t\t\tlayout.flexSize\n\t\t) {\n\t\t\tdeclarations[ 'flex-basis' ] = 'unset';\n\t\t\tif ( baseSelfStretch === FLEX_CHILD_LAYOUT_VALUES.fixed ) {\n\t\t\t\tdeclarations[ 'flex-shrink' ] = 'unset';\n\t\t\t}\n\t\t}\n\t\tif ( isFlexSizeValue( selfStretch ) && flexSize ) {\n\t\t\tdeclarations[ 'flex-basis' ] = flexSize;\n\t\t\tif ( selfStretch === FLEX_CHILD_LAYOUT_VALUES.fixed ) {\n\t\t\t\tdeclarations[ 'flex-shrink' ] = '0';\n\t\t\t} else if (\n\t\t\t\thasViewportOverrides &&\n\t\t\t\tbaseSelfStretch === FLEX_CHILD_LAYOUT_VALUES.fixed\n\t\t\t) {\n\t\t\t\tdeclarations[ 'flex-shrink' ] = 'unset';\n\t\t\t}\n\t\t\tdeclarations[ 'box-sizing' ] = 'border-box';\n\t\t} else if ( selfStretch === FLEX_CHILD_LAYOUT_VALUES.grow ) {\n\t\t\tdeclarations[ 'flex-grow' ] = '1';\n\t\t}\n\t}\n\n\tif (\n\t\t! hasViewportOverrides ||\n\t\thasViewportOverride( 'columnStart' ) ||\n\t\thasViewportOverride( 'columnSpan' )\n\t) {\n\t\tif ( columnStart && columnSpan ) {\n\t\t\tdeclarations[\n\t\t\t\t'grid-column'\n\t\t\t] = `${ columnStart } / span ${ columnSpan }`;\n\t\t} else if ( columnStart ) {\n\t\t\tdeclarations[ 'grid-column' ] = `${ columnStart }`;\n\t\t} else if ( columnSpan ) {\n\t\t\tdeclarations[ 'grid-column' ] = `span ${ columnSpan }`;\n\t\t}\n\t}\n\n\tif (\n\t\t! hasViewportOverrides ||\n\t\thasViewportOverride( 'rowStart' ) ||\n\t\thasViewportOverride( 'rowSpan' )\n\t) {\n\t\tif ( rowStart && rowSpan ) {\n\t\t\tdeclarations[ 'grid-row' ] = `${ rowStart } / span ${ rowSpan }`;\n\t\t} else if ( rowStart ) {\n\t\t\tdeclarations[ 'grid-row' ] = `${ rowStart }`;\n\t\t} else if ( rowSpan ) {\n\t\t\tdeclarations[ 'grid-row' ] = `span ${ rowSpan }`;\n\t\t}\n\t}\n\n\tif ( Object.keys( declarations ).length ) {\n\t\trules.push( { selector, declarations } );\n\t}\n\n\tif ( includeContainerQuery && ! hasViewportOverrides ) {\n\t\t/**\n\t\t * If minimumColumnWidth is set on the parent, or if no\n\t\t * columnCount is set, the grid is responsive so a\n\t\t * container query is needed for the span to resize.\n\t\t */\n\t\tif (\n\t\t\t( columnSpan || columnStart ) &&\n\t\t\t( minimumColumnWidth || ! columnCount )\n\t\t) {\n\t\t\tlet parentColumnValue = parseFloat( minimumColumnWidth );\n\t\t\t/**\n\t\t\t * 12rem is the default minimumColumnWidth value.\n\t\t\t * If parentColumnValue is not a number, default to 12.\n\t\t\t */\n\t\t\tif ( isNaN( parentColumnValue ) ) {\n\t\t\t\tparentColumnValue = 12;\n\t\t\t}\n\n\t\t\tlet parentColumnUnit = minimumColumnWidth?.replace(\n\t\t\t\tparentColumnValue,\n\t\t\t\t''\n\t\t\t);\n\t\t\t/**\n\t\t\t * Check that parent column unit is either 'px', 'rem' or 'em'.\n\t\t\t * If not, default to 'rem'.\n\t\t\t */\n\t\t\tif ( ! [ 'px', 'rem', 'em' ].includes( parentColumnUnit ) ) {\n\t\t\t\tparentColumnUnit = 'rem';\n\t\t\t}\n\n\t\t\tlet numColsToBreakAt = 2;\n\n\t\t\tif ( columnSpan && columnStart ) {\n\t\t\t\tnumColsToBreakAt = columnSpan + columnStart - 1;\n\t\t\t} else if ( columnSpan ) {\n\t\t\t\tnumColsToBreakAt = columnSpan;\n\t\t\t} else {\n\t\t\t\tnumColsToBreakAt = columnStart;\n\t\t\t}\n\n\t\t\tconst defaultGapValue = parentColumnUnit === 'px' ? 24 : 1.5;\n\t\t\tconst containerQueryValue =\n\t\t\t\tnumColsToBreakAt * parentColumnValue +\n\t\t\t\t( numColsToBreakAt - 1 ) * defaultGapValue;\n\t\t\t// For blocks that only span one column, we want to remove any rowStart values as\n\t\t\t// the container reduces in size, so that blocks are still arranged in markup order.\n\t\t\tconst minimumContainerQueryValue =\n\t\t\t\tparentColumnValue * 2 + defaultGapValue - 1;\n\t\t\t// If a span is set we want to preserve it as long as possible, otherwise we just reset the value.\n\t\t\tconst gridColumnValue =\n\t\t\t\tcolumnSpan && columnSpan > 1 ? '1/-1' : 'auto';\n\n\t\t\trules.push( {\n\t\t\t\trulesGroup: `@container (max-width: ${ Math.max(\n\t\t\t\t\tcontainerQueryValue,\n\t\t\t\t\tminimumContainerQueryValue\n\t\t\t\t) }${ parentColumnUnit })`,\n\t\t\t\tselector,\n\t\t\t\tdeclarations: {\n\t\t\t\t\t'grid-column': gridColumnValue,\n\t\t\t\t\t'grid-row': 'auto',\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}\n\n\treturn rules;\n}\n\nexport function getChildLayoutStyles( {\n\tselector,\n\tlayout = {},\n\tparentLayout = {},\n\tincludeContainerQuery = true,\n} ) {\n\treturn getChildLayoutStyleRules( {\n\t\tselector,\n\t\tlayout,\n\t\tparentLayout,\n\t\tincludeContainerQuery,\n\t} )\n\t\t.map( ( rule ) => {\n\t\t\tconst serializedRule = serializeRule( rule );\n\t\t\treturn rule.rulesGroup\n\t\t\t\t? `${ rule.rulesGroup } {\n\t\t\t\t${ serializedRule }\n\t\t\t}`\n\t\t\t\t: serializedRule;\n\t\t} )\n\t\t.join( '' );\n}\n\nexport function getResponsiveChildLayoutStyles( {\n\tstyle = {},\n\tselector,\n\tparentLayout = {},\n} ) {\n\tconst baseLayout = style?.layout ?? {};\n\n\treturn Object.entries( RESPONSIVE_BREAKPOINTS )\n\t\t.map( ( [ viewport, mediaQuery ] ) => {\n\t\t\tconst viewportLayout = getStyleForState( style, {\n\t\t\t\tviewport,\n\t\t\t\tpseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,\n\t\t\t} )?.layout;\n\t\t\tif ( ! viewportLayout || ! Object.keys( viewportLayout ).length ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst viewportRules = getChildLayoutStyleRules( {\n\t\t\t\tselector,\n\t\t\t\tlayout: baseLayout,\n\t\t\t\tviewportOverrides: viewportLayout,\n\t\t\t\tparentLayout,\n\t\t\t\tincludeContainerQuery: false,\n\t\t\t} );\n\t\t\tconst css = viewportRules.map( serializeRule ).join( '' );\n\n\t\t\treturn css ? `${ mediaQuery }{${ css }}` : '';\n\t\t} )\n\t\t.filter( Boolean )\n\t\t.join( '' );\n}\n\nfunction useBlockPropsChildLayoutStyles( { style } ) {\n\tconst shouldRenderChildLayoutStyles = useSelect( ( select ) => {\n\t\treturn ! select( blockEditorStore ).getSettings().disableLayoutStyles;\n\t} );\n\tconst layout = style?.layout ?? {};\n\tconst { columnStart, rowStart, columnSpan, rowSpan } = layout;\n\tconst parentLayout = useLayout() || {};\n\tconst id = useInstanceId( LAYOUT_CHILD_BLOCK_PROPS_REFERENCE );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\t// Check that the grid layout attributes are of the correct type, so that we don't accidentally\n\t// write code that stores a string attribute instead of a number.\n\tif ( process.env.NODE_ENV === 'development' ) {\n\t\tif ( columnStart && typeof columnStart !== 'number' ) {\n\t\t\tthrow new Error( 'columnStart must be a number' );\n\t\t}\n\t\tif ( rowStart && typeof rowStart !== 'number' ) {\n\t\t\tthrow new Error( 'rowStart must be a number' );\n\t\t}\n\t\tif ( columnSpan && typeof columnSpan !== 'number' ) {\n\t\t\tthrow new Error( 'columnSpan must be a number' );\n\t\t}\n\t\tif ( rowSpan && typeof rowSpan !== 'number' ) {\n\t\t\tthrow new Error( 'rowSpan must be a number' );\n\t\t}\n\t}\n\n\tlet css = '';\n\tif ( shouldRenderChildLayoutStyles ) {\n\t\tcss = [\n\t\t\tgetChildLayoutStyles( {\n\t\t\t\tselector,\n\t\t\t\tlayout,\n\t\t\t\tparentLayout,\n\t\t\t} ),\n\t\t\tgetResponsiveChildLayoutStyles( {\n\t\t\t\tstyle,\n\t\t\t\tselector,\n\t\t\t\tparentLayout,\n\t\t\t} ),\n\t\t].join( '' );\n\t}\n\n\tuseStyleOverride( { css } );\n\n\t// Only attach a container class if there is generated CSS to be attached.\n\tif ( ! css ) {\n\t\treturn;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\treturn { className: `wp-container-content-${ id }` };\n}\n\nfunction ChildLayoutControlsPure( { clientId, style, setAttributes } ) {\n\tconst parentLayout = useLayout() || {};\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tallowSizingOnChildren = false,\n\t\tisManualPlacement,\n\t} = parentLayout;\n\n\tif ( parentLayoutType !== 'grid' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GridTools\n\t\t\tclientId={ clientId }\n\t\t\tstyle={ style }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tallowSizingOnChildren={ allowSizingOnChildren }\n\t\t\tisManualPlacement={ isManualPlacement }\n\t\t\tparentLayout={ parentLayout }\n\t\t/>\n\t);\n}\n\nfunction GridTools( {\n\tclientId,\n\tstyle,\n\tsetAttributes,\n\tallowSizingOnChildren,\n\tisManualPlacement,\n\tparentLayout,\n} ) {\n\tconst {\n\t\trootClientId,\n\t\tisVisible,\n\t\tparentBlockVisibility,\n\t\tblockBlockVisibility,\n\t\tdeviceType,\n\t\tisChildBlockAGrid,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif (\n\t\t\t\tgetTemplateLock( _rootClientId ) ||\n\t\t\t\tgetBlockEditingMode( _rootClientId ) !== 'default'\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\trootClientId: _rootClientId,\n\t\t\t\t\tisVisible: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst parentAttributes = getBlockAttributes( _rootClientId );\n\t\t\tconst blockAttributes = getBlockAttributes( clientId );\n\t\t\tconst settings = getSettings();\n\t\t\tconst currentDeviceType =\n\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() ||\n\t\t\t\tBLOCK_VISIBILITY_VIEWPORTS.desktop.key;\n\n\t\t\treturn {\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisVisible: true,\n\t\t\t\tparentBlockVisibility:\n\t\t\t\t\tparentAttributes?.metadata?.blockVisibility,\n\t\t\t\tblockBlockVisibility:\n\t\t\t\t\tblockAttributes?.metadata?.blockVisibility,\n\t\t\t\tdeviceType: currentDeviceType,\n\t\t\t\t// Check if the selected child block is itself a grid.\n\t\t\t\tisChildBlockAGrid: blockAttributes?.layout?.type === 'grid',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Get the block's DOM element to derive the canvas iframe window,\n\t// so viewport detection matches the actual block rendering context\n\tconst blockElement = useBlockElement( clientId );\n\tconst rawCanvasView = blockElement?.ownerDocument?.defaultView;\n\tconst canvasView = rawCanvasView === null ? undefined : rawCanvasView;\n\n\tconst {\n\t\tisBlockCurrentlyHidden: isParentBlockCurrentlyHidden,\n\t\tcurrentViewport,\n\t} = useBlockVisibility( {\n\t\tblockVisibility: parentBlockVisibility,\n\t\tdeviceType,\n\t\tview: canvasView,\n\t} );\n\n\t// Check whether any ancestor of the parent grid is hidden at the viewport\n\t// actually detected from the canvas, so it stays consistent with how\n\t// blocks are hidden.\n\tconst isAnyAncestorHidden = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! rootClientId ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { isBlockParentHiddenAtViewport } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn isBlockParentHiddenAtViewport(\n\t\t\t\trootClientId,\n\t\t\t\tcurrentViewport\n\t\t\t);\n\t\t},\n\t\t[ rootClientId, currentViewport ]\n\t);\n\n\tconst { isBlockCurrentlyHidden: isBlockItselfCurrentlyHidden } =\n\t\tuseBlockVisibility( {\n\t\t\tblockVisibility: blockBlockVisibility,\n\t\t\tdeviceType,\n\t\t\tview: canvasView,\n\t\t} );\n\n\t// Use useState() instead of useRef() so that GridItemResizer updates when ref is set.\n\tconst [ resizerBounds, setResizerBounds ] = useState();\n\n\tconst childGridClientId = isChildBlockAGrid ? clientId : undefined;\n\n\tif ( ! isVisible || isParentBlockCurrentlyHidden || isAnyAncestorHidden ) {\n\t\treturn null;\n\t}\n\n\tconst showResizer = allowSizingOnChildren && ! isBlockItselfCurrentlyHidden;\n\n\tfunction updateLayout( layout ) {\n\t\tsetAttributes( {\n\t\t\tstyle: {\n\t\t\t\t...style,\n\t\t\t\tlayout: {\n\t\t\t\t\t...style?.layout,\n\t\t\t\t\t...layout,\n\t\t\t\t},\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<GridVisualizer\n\t\t\t\tclientId={ rootClientId }\n\t\t\t\tcontentRef={ setResizerBounds }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tchildGridClientId={ childGridClientId }\n\t\t\t/>\n\t\t\t{ showResizer && (\n\t\t\t\t<GridItemResizer\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t// Don't allow resizing beyond the grid visualizer.\n\t\t\t\t\tbounds={ resizerBounds }\n\t\t\t\t\tonChange={ updateLayout }\n\t\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isManualPlacement &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity && (\n\t\t\t\t\t<GridItemMovers\n\t\t\t\t\t\tlayout={ style?.layout }\n\t\t\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\t\t\tonChange={ updateLayout }\n\t\t\t\t\t\tgridClientId={ rootClientId }\n\t\t\t\t\t\tblockClientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tuseBlockProps: useBlockPropsChildLayoutStyles,\n\tedit: ChildLayoutControlsPure,\n\tattributeKeys: [ 'style' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],
5
- "mappings": "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",
6
- "names": ["blockEditorStore", "useBlockVisibility"]
4
+ "sourcesContent": ["import { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { useStyleOverride } from './utils';\nimport { useLayout } from '../components/block-list/layout';\nimport {\n\tGridVisualizer,\n\tGridItemResizer,\n\tGridItemMovers,\n} from '../components/grid';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\nimport useBlockVisibility from '../components/block-visibility/use-block-visibility';\nimport { deviceTypeKey } from '../store/private-keys';\nimport { BLOCK_VISIBILITY_VIEWPORTS } from '../components/block-visibility/constants';\nimport {\n\tDEFAULT_BLOCK_STYLE_STATE,\n\tgetStyleForState,\n} from './block-style-state';\n\nconst { getResponsiveMediaQueries } = unlock( globalStylesEnginePrivateApis );\n\n// Used for generating the instance ID\nconst LAYOUT_CHILD_BLOCK_PROPS_REFERENCE = {};\n\n// These are the serialized `selfStretch` values. `max` used to be called\n// \"Fixed\" in the UI, but was renamed and replaced by `fixedNoShrink`.\nconst FLEX_CHILD_LAYOUT_VALUES = {\n\tfit: 'fit',\n\tgrow: 'fill',\n\tmax: 'fixed',\n\tfixed: 'fixedNoShrink',\n};\n\nconst FLEX_SIZE_VALUES = [\n\tFLEX_CHILD_LAYOUT_VALUES.max,\n\tFLEX_CHILD_LAYOUT_VALUES.fixed,\n];\n\nfunction isFlexSizeValue( value ) {\n\treturn FLEX_SIZE_VALUES.includes( value );\n}\n\nfunction serializeRule( { selector, declarations } ) {\n\treturn `${ selector } {\n\t\t${ Object.entries( declarations )\n\t\t\t.map( ( [ property, value ] ) => `${ property }: ${ value }` )\n\t\t\t.join( '; ' ) };\n\t}`;\n}\n\nexport function getChildLayoutStyleRules( {\n\tselector,\n\tlayout = {},\n\tviewportOverrides,\n\tparentLayout = {},\n\tincludeContainerQuery = true,\n} ) {\n\tconst hasViewportOverrides = viewportOverrides !== undefined;\n\tconst effectiveLayout = hasViewportOverrides\n\t\t? {\n\t\t\t\t...layout,\n\t\t\t\t...viewportOverrides,\n\t\t }\n\t\t: layout;\n\tconst hasViewportOverride = ( key ) =>\n\t\tObject.hasOwn( viewportOverrides || {}, key );\n\tconst {\n\t\tselfStretch,\n\t\tflexSize,\n\t\tcolumnStart,\n\t\trowStart,\n\t\tcolumnSpan,\n\t\trowSpan,\n\t} = effectiveLayout;\n\tconst baseSelfStretch = layout.selfStretch;\n\tconst { columnCount, minimumColumnWidth } = parentLayout;\n\tconst rules = [];\n\n\tconst declarations = {};\n\tif (\n\t\t! hasViewportOverrides ||\n\t\thasViewportOverride( 'selfStretch' ) ||\n\t\thasViewportOverride( 'flexSize' )\n\t) {\n\t\tif (\n\t\t\thasViewportOverrides &&\n\t\t\t( selfStretch === FLEX_CHILD_LAYOUT_VALUES.fit ||\n\t\t\t\tselfStretch === FLEX_CHILD_LAYOUT_VALUES.grow ) &&\n\t\t\tisFlexSizeValue( baseSelfStretch ) &&\n\t\t\tlayout.flexSize\n\t\t) {\n\t\t\tdeclarations[ 'flex-basis' ] = 'unset';\n\t\t\tif ( baseSelfStretch === FLEX_CHILD_LAYOUT_VALUES.fixed ) {\n\t\t\t\tdeclarations[ 'flex-shrink' ] = 'unset';\n\t\t\t}\n\t\t}\n\t\tif ( isFlexSizeValue( selfStretch ) && flexSize ) {\n\t\t\tdeclarations[ 'flex-basis' ] = flexSize;\n\t\t\tif ( selfStretch === FLEX_CHILD_LAYOUT_VALUES.fixed ) {\n\t\t\t\tdeclarations[ 'flex-shrink' ] = '0';\n\t\t\t} else if (\n\t\t\t\thasViewportOverrides &&\n\t\t\t\tbaseSelfStretch === FLEX_CHILD_LAYOUT_VALUES.fixed\n\t\t\t) {\n\t\t\t\tdeclarations[ 'flex-shrink' ] = 'unset';\n\t\t\t}\n\t\t\tdeclarations[ 'box-sizing' ] = 'border-box';\n\t\t} else if ( selfStretch === FLEX_CHILD_LAYOUT_VALUES.grow ) {\n\t\t\tdeclarations[ 'flex-grow' ] = '1';\n\t\t}\n\t}\n\n\tif (\n\t\t! hasViewportOverrides ||\n\t\thasViewportOverride( 'columnStart' ) ||\n\t\thasViewportOverride( 'columnSpan' )\n\t) {\n\t\tif ( columnStart && columnSpan ) {\n\t\t\tdeclarations[\n\t\t\t\t'grid-column'\n\t\t\t] = `${ columnStart } / span ${ columnSpan }`;\n\t\t} else if ( columnStart ) {\n\t\t\tdeclarations[ 'grid-column' ] = `${ columnStart }`;\n\t\t} else if ( columnSpan ) {\n\t\t\tdeclarations[ 'grid-column' ] = `span ${ columnSpan }`;\n\t\t}\n\t}\n\n\tif (\n\t\t! hasViewportOverrides ||\n\t\thasViewportOverride( 'rowStart' ) ||\n\t\thasViewportOverride( 'rowSpan' )\n\t) {\n\t\tif ( rowStart && rowSpan ) {\n\t\t\tdeclarations[ 'grid-row' ] = `${ rowStart } / span ${ rowSpan }`;\n\t\t} else if ( rowStart ) {\n\t\t\tdeclarations[ 'grid-row' ] = `${ rowStart }`;\n\t\t} else if ( rowSpan ) {\n\t\t\tdeclarations[ 'grid-row' ] = `span ${ rowSpan }`;\n\t\t}\n\t}\n\n\tif ( Object.keys( declarations ).length ) {\n\t\trules.push( { selector, declarations } );\n\t}\n\n\tif ( includeContainerQuery && ! hasViewportOverrides ) {\n\t\t/**\n\t\t * If minimumColumnWidth is set on the parent, or if no\n\t\t * columnCount is set, the grid is responsive so a\n\t\t * container query is needed for the span to resize.\n\t\t */\n\t\tif (\n\t\t\t( columnSpan || columnStart ) &&\n\t\t\t( minimumColumnWidth || ! columnCount )\n\t\t) {\n\t\t\tlet parentColumnValue = parseFloat( minimumColumnWidth );\n\t\t\t/**\n\t\t\t * 12rem is the default minimumColumnWidth value.\n\t\t\t * If parentColumnValue is not a number, default to 12.\n\t\t\t */\n\t\t\tif ( isNaN( parentColumnValue ) ) {\n\t\t\t\tparentColumnValue = 12;\n\t\t\t}\n\n\t\t\tlet parentColumnUnit = minimumColumnWidth?.replace(\n\t\t\t\tparentColumnValue,\n\t\t\t\t''\n\t\t\t);\n\t\t\t/**\n\t\t\t * Check that parent column unit is either 'px', 'rem' or 'em'.\n\t\t\t * If not, default to 'rem'.\n\t\t\t */\n\t\t\tif ( ! [ 'px', 'rem', 'em' ].includes( parentColumnUnit ) ) {\n\t\t\t\tparentColumnUnit = 'rem';\n\t\t\t}\n\n\t\t\tlet numColsToBreakAt = 2;\n\n\t\t\tif ( columnSpan && columnStart ) {\n\t\t\t\tnumColsToBreakAt = columnSpan + columnStart - 1;\n\t\t\t} else if ( columnSpan ) {\n\t\t\t\tnumColsToBreakAt = columnSpan;\n\t\t\t} else {\n\t\t\t\tnumColsToBreakAt = columnStart;\n\t\t\t}\n\n\t\t\tconst defaultGapValue = parentColumnUnit === 'px' ? 24 : 1.5;\n\t\t\tconst containerQueryValue =\n\t\t\t\tnumColsToBreakAt * parentColumnValue +\n\t\t\t\t( numColsToBreakAt - 1 ) * defaultGapValue;\n\t\t\t// For blocks that only span one column, we want to remove any rowStart values as\n\t\t\t// the container reduces in size, so that blocks are still arranged in markup order.\n\t\t\tconst minimumContainerQueryValue =\n\t\t\t\tparentColumnValue * 2 + defaultGapValue - 1;\n\t\t\t// If a span is set we want to preserve it as long as possible, otherwise we just reset the value.\n\t\t\tconst gridColumnValue =\n\t\t\t\tcolumnSpan && columnSpan > 1 ? '1/-1' : 'auto';\n\n\t\t\trules.push( {\n\t\t\t\trulesGroup: `@container (max-width: ${ Math.max(\n\t\t\t\t\tcontainerQueryValue,\n\t\t\t\t\tminimumContainerQueryValue\n\t\t\t\t) }${ parentColumnUnit })`,\n\t\t\t\tselector,\n\t\t\t\tdeclarations: {\n\t\t\t\t\t'grid-column': gridColumnValue,\n\t\t\t\t\t'grid-row': 'auto',\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}\n\n\treturn rules;\n}\n\nexport function getChildLayoutStyles( {\n\tselector,\n\tlayout = {},\n\tparentLayout = {},\n\tincludeContainerQuery = true,\n} ) {\n\treturn getChildLayoutStyleRules( {\n\t\tselector,\n\t\tlayout,\n\t\tparentLayout,\n\t\tincludeContainerQuery,\n\t} )\n\t\t.map( ( rule ) => {\n\t\t\tconst serializedRule = serializeRule( rule );\n\t\t\treturn rule.rulesGroup\n\t\t\t\t? `${ rule.rulesGroup } {\n\t\t\t\t${ serializedRule }\n\t\t\t}`\n\t\t\t\t: serializedRule;\n\t\t} )\n\t\t.join( '' );\n}\n\nexport function getResponsiveChildLayoutStyles( {\n\tstyle = {},\n\tselector,\n\tparentLayout = {},\n\tviewportSettings,\n} ) {\n\tconst baseLayout = style?.layout ?? {};\n\n\treturn Object.entries( getResponsiveMediaQueries( viewportSettings ) )\n\t\t.map( ( [ viewport, mediaQuery ] ) => {\n\t\t\tconst viewportLayout = getStyleForState( style, {\n\t\t\t\tviewport,\n\t\t\t\tpseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,\n\t\t\t} )?.layout;\n\t\t\tif ( ! viewportLayout || ! Object.keys( viewportLayout ).length ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst viewportRules = getChildLayoutStyleRules( {\n\t\t\t\tselector,\n\t\t\t\tlayout: baseLayout,\n\t\t\t\tviewportOverrides: viewportLayout,\n\t\t\t\tparentLayout,\n\t\t\t\tincludeContainerQuery: false,\n\t\t\t} );\n\t\t\tconst css = viewportRules.map( serializeRule ).join( '' );\n\n\t\t\treturn css ? `${ mediaQuery }{${ css }}` : '';\n\t\t} )\n\t\t.filter( Boolean )\n\t\t.join( '' );\n}\n\nfunction useBlockPropsChildLayoutStyles( { style } ) {\n\tconst { shouldRenderChildLayoutStyles, viewportSettings } = useSelect(\n\t\t( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\treturn {\n\t\t\t\tshouldRenderChildLayoutStyles: ! settings.disableLayoutStyles,\n\t\t\t\tviewportSettings: settings?.__experimentalFeatures?.viewport,\n\t\t\t};\n\t\t}\n\t);\n\tconst layout = style?.layout ?? {};\n\tconst { columnStart, rowStart, columnSpan, rowSpan } = layout;\n\tconst parentLayout = useLayout() || {};\n\tconst id = useInstanceId( LAYOUT_CHILD_BLOCK_PROPS_REFERENCE );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\t// Check that the grid layout attributes are of the correct type, so that we don't accidentally\n\t// write code that stores a string attribute instead of a number.\n\tif ( process.env.NODE_ENV === 'development' ) {\n\t\tif ( columnStart && typeof columnStart !== 'number' ) {\n\t\t\tthrow new Error( 'columnStart must be a number' );\n\t\t}\n\t\tif ( rowStart && typeof rowStart !== 'number' ) {\n\t\t\tthrow new Error( 'rowStart must be a number' );\n\t\t}\n\t\tif ( columnSpan && typeof columnSpan !== 'number' ) {\n\t\t\tthrow new Error( 'columnSpan must be a number' );\n\t\t}\n\t\tif ( rowSpan && typeof rowSpan !== 'number' ) {\n\t\t\tthrow new Error( 'rowSpan must be a number' );\n\t\t}\n\t}\n\n\tlet css = '';\n\tif ( shouldRenderChildLayoutStyles ) {\n\t\tcss = [\n\t\t\tgetChildLayoutStyles( {\n\t\t\t\tselector,\n\t\t\t\tlayout,\n\t\t\t\tparentLayout,\n\t\t\t} ),\n\t\t\tgetResponsiveChildLayoutStyles( {\n\t\t\t\tstyle,\n\t\t\t\tselector,\n\t\t\t\tparentLayout,\n\t\t\t\tviewportSettings,\n\t\t\t} ),\n\t\t].join( '' );\n\t}\n\n\tuseStyleOverride( { css } );\n\n\t// Only attach a container class if there is generated CSS to be attached.\n\tif ( ! css ) {\n\t\treturn;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\treturn { className: `wp-container-content-${ id }` };\n}\n\nfunction ChildLayoutControlsPure( { clientId, style, setAttributes } ) {\n\tconst parentLayout = useLayout() || {};\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tallowSizingOnChildren = false,\n\t\tisManualPlacement,\n\t} = parentLayout;\n\n\tif ( parentLayoutType !== 'grid' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GridTools\n\t\t\tclientId={ clientId }\n\t\t\tstyle={ style }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tallowSizingOnChildren={ allowSizingOnChildren }\n\t\t\tisManualPlacement={ isManualPlacement }\n\t\t\tparentLayout={ parentLayout }\n\t\t/>\n\t);\n}\n\nfunction GridTools( {\n\tclientId,\n\tstyle,\n\tsetAttributes,\n\tallowSizingOnChildren,\n\tisManualPlacement,\n\tparentLayout,\n} ) {\n\tconst {\n\t\trootClientId,\n\t\tisVisible,\n\t\tparentBlockVisibility,\n\t\tblockBlockVisibility,\n\t\tdeviceType,\n\t\tviewportSettings,\n\t\tisChildBlockAGrid,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif (\n\t\t\t\tgetTemplateLock( _rootClientId ) ||\n\t\t\t\tgetBlockEditingMode( _rootClientId ) !== 'default'\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\trootClientId: _rootClientId,\n\t\t\t\t\tisVisible: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst parentAttributes = getBlockAttributes( _rootClientId );\n\t\t\tconst blockAttributes = getBlockAttributes( clientId );\n\t\t\tconst settings = getSettings();\n\t\t\tconst currentDeviceType =\n\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() ||\n\t\t\t\tBLOCK_VISIBILITY_VIEWPORTS.desktop.key;\n\n\t\t\treturn {\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisVisible: true,\n\t\t\t\tparentBlockVisibility:\n\t\t\t\t\tparentAttributes?.metadata?.blockVisibility,\n\t\t\t\tblockBlockVisibility:\n\t\t\t\t\tblockAttributes?.metadata?.blockVisibility,\n\t\t\t\tdeviceType: currentDeviceType,\n\t\t\t\tviewportSettings: settings?.__experimentalFeatures?.viewport,\n\t\t\t\t// Check if the selected child block is itself a grid.\n\t\t\t\tisChildBlockAGrid: blockAttributes?.layout?.type === 'grid',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Get the block's DOM element to derive the canvas iframe window,\n\t// so viewport detection matches the actual block rendering context\n\tconst blockElement = useBlockElement( clientId );\n\tconst rawCanvasView = blockElement?.ownerDocument?.defaultView;\n\tconst canvasView = rawCanvasView === null ? undefined : rawCanvasView;\n\n\tconst {\n\t\tisBlockCurrentlyHidden: isParentBlockCurrentlyHidden,\n\t\tcurrentViewport,\n\t} = useBlockVisibility( {\n\t\tblockVisibility: parentBlockVisibility,\n\t\tdeviceType,\n\t\tview: canvasView,\n\t\tviewportSettings,\n\t} );\n\n\t// Check whether any ancestor of the parent grid is hidden at the viewport\n\t// actually detected from the canvas, so it stays consistent with how\n\t// blocks are hidden.\n\tconst isAnyAncestorHidden = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! rootClientId ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { isBlockParentHiddenAtViewport } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn isBlockParentHiddenAtViewport(\n\t\t\t\trootClientId,\n\t\t\t\tcurrentViewport\n\t\t\t);\n\t\t},\n\t\t[ rootClientId, currentViewport ]\n\t);\n\n\tconst { isBlockCurrentlyHidden: isBlockItselfCurrentlyHidden } =\n\t\tuseBlockVisibility( {\n\t\t\tblockVisibility: blockBlockVisibility,\n\t\t\tdeviceType,\n\t\t\tview: canvasView,\n\t\t\tviewportSettings,\n\t\t} );\n\n\t// Use useState() instead of useRef() so that GridItemResizer updates when ref is set.\n\tconst [ resizerBounds, setResizerBounds ] = useState();\n\n\tconst childGridClientId = isChildBlockAGrid ? clientId : undefined;\n\n\tif ( ! isVisible || isParentBlockCurrentlyHidden || isAnyAncestorHidden ) {\n\t\treturn null;\n\t}\n\n\tconst showResizer = allowSizingOnChildren && ! isBlockItselfCurrentlyHidden;\n\n\tfunction updateLayout( layout ) {\n\t\tsetAttributes( {\n\t\t\tstyle: {\n\t\t\t\t...style,\n\t\t\t\tlayout: {\n\t\t\t\t\t...style?.layout,\n\t\t\t\t\t...layout,\n\t\t\t\t},\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<GridVisualizer\n\t\t\t\tclientId={ rootClientId }\n\t\t\t\tcontentRef={ setResizerBounds }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tchildGridClientId={ childGridClientId }\n\t\t\t/>\n\t\t\t{ showResizer && (\n\t\t\t\t<GridItemResizer\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t// Don't allow resizing beyond the grid visualizer.\n\t\t\t\t\tbounds={ resizerBounds }\n\t\t\t\t\tonChange={ updateLayout }\n\t\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isManualPlacement &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity && (\n\t\t\t\t\t<GridItemMovers\n\t\t\t\t\t\tlayout={ style?.layout }\n\t\t\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\t\t\tonChange={ updateLayout }\n\t\t\t\t\t\tgridClientId={ rootClientId }\n\t\t\t\t\t\tblockClientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tuseBlockProps: useBlockPropsChildLayoutStyles,\n\tedit: ChildLayoutControlsPure,\n\tattributeKeys: [ 'style' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["globalStylesEnginePrivateApis", "blockEditorStore", "useBlockVisibility"]
7
7
  }