@wordpress/block-editor 14.11.0 → 14.13.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 (972) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/autocompleters/block.js +0 -1
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +0 -1
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/alignment-control/ui.js +0 -1
  7. package/build/components/alignment-control/ui.js.map +1 -1
  8. package/build/components/autocomplete/index.js +0 -1
  9. package/build/components/autocomplete/index.js.map +1 -1
  10. package/build/components/background-image-control/index.js +0 -1
  11. package/build/components/background-image-control/index.js.map +1 -1
  12. package/build/components/block-actions/index.js +0 -1
  13. package/build/components/block-actions/index.js.map +1 -1
  14. package/build/components/block-alignment-control/ui.js +0 -1
  15. package/build/components/block-alignment-control/ui.js.map +1 -1
  16. package/build/components/block-alignment-control/ui.native.js +0 -1
  17. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  18. package/build/components/block-alignment-control/use-available-alignments.js +0 -1
  19. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  20. package/build/components/block-breadcrumb/index.js +0 -1
  21. package/build/components/block-breadcrumb/index.js.map +1 -1
  22. package/build/components/block-compare/index.js +0 -1
  23. package/build/components/block-compare/index.js.map +1 -1
  24. package/build/components/block-controls/fill.js +0 -1
  25. package/build/components/block-controls/fill.js.map +1 -1
  26. package/build/components/block-edit/edit.js +0 -1
  27. package/build/components/block-edit/edit.js.map +1 -1
  28. package/build/components/block-edit/edit.native.js +0 -1
  29. package/build/components/block-edit/edit.native.js.map +1 -1
  30. package/build/components/block-heading-level-dropdown/index.js +0 -1
  31. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  32. package/build/components/block-heading-level-dropdown/index.native.js +0 -1
  33. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  34. package/build/components/block-inspector/index.js +0 -1
  35. package/build/components/block-inspector/index.js.map +1 -1
  36. package/build/components/block-list/block-invalid-warning.js +0 -1
  37. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  38. package/build/components/block-list/block-list-context.native.js +0 -1
  39. package/build/components/block-list/block-list-context.native.js.map +1 -1
  40. package/build/components/block-list/block.js +0 -1
  41. package/build/components/block-list/block.js.map +1 -1
  42. package/build/components/block-list/block.native.js +0 -1
  43. package/build/components/block-list/block.native.js.map +1 -1
  44. package/build/components/block-list/index.js +9 -6
  45. package/build/components/block-list/index.js.map +1 -1
  46. package/build/components/block-list/index.native.js +0 -1
  47. package/build/components/block-list/index.native.js.map +1 -1
  48. package/build/components/block-list/use-block-props/use-focus-first-element.js +0 -1
  49. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  50. package/build/components/block-list/use-in-between-inserter.js +0 -1
  51. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  52. package/build/components/block-lock/modal.js +0 -1
  53. package/build/components/block-lock/modal.js.map +1 -1
  54. package/build/components/block-manager/category.js +0 -1
  55. package/build/components/block-manager/category.js.map +1 -1
  56. package/build/components/block-manager/checklist.js +0 -1
  57. package/build/components/block-manager/checklist.js.map +1 -1
  58. package/build/components/block-manager/index.js +0 -1
  59. package/build/components/block-manager/index.js.map +1 -1
  60. package/build/components/block-media-update-progress/index.native.js +0 -1
  61. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  62. package/build/components/block-mover/index.native.js +0 -1
  63. package/build/components/block-mover/index.native.js.map +1 -1
  64. package/build/components/block-mover/mover-description.native.js +0 -1
  65. package/build/components/block-mover/mover-description.native.js.map +1 -1
  66. package/build/components/block-pattern-setup/index.js +0 -1
  67. package/build/components/block-pattern-setup/index.js.map +1 -1
  68. package/build/components/block-pattern-setup/use-patterns-setup.js +0 -1
  69. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  70. package/build/components/block-patterns-list/index.js +0 -1
  71. package/build/components/block-patterns-list/index.js.map +1 -1
  72. package/build/components/block-popover/use-popover-scroll.js +13 -7
  73. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  74. package/build/components/block-quick-navigation/index.js +0 -1
  75. package/build/components/block-quick-navigation/index.js.map +1 -1
  76. package/build/components/block-rename/modal.js +0 -1
  77. package/build/components/block-rename/modal.js.map +1 -1
  78. package/build/components/block-settings-menu/block-settings-dropdown.js +0 -1
  79. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  80. package/build/components/block-styles/index.js +0 -1
  81. package/build/components/block-styles/index.js.map +1 -1
  82. package/build/components/block-styles/index.native.js +0 -1
  83. package/build/components/block-styles/index.native.js.map +1 -1
  84. package/build/components/block-styles/menu-items.js +0 -1
  85. package/build/components/block-styles/menu-items.js.map +1 -1
  86. package/build/components/block-styles/preview.native.js +0 -1
  87. package/build/components/block-styles/preview.native.js.map +1 -1
  88. package/build/components/block-switcher/block-transformations-menu.js +0 -1
  89. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  90. package/build/components/block-switcher/block-transformations-menu.native.js +0 -1
  91. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  92. package/build/components/block-switcher/block-variation-transformations.js +0 -1
  93. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  94. package/build/components/block-switcher/index.js +0 -1
  95. package/build/components/block-switcher/index.js.map +1 -1
  96. package/build/components/block-switcher/pattern-transformations-menu.js +0 -1
  97. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  98. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  99. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  100. package/build/components/block-switcher/utils.js +0 -1
  101. package/build/components/block-switcher/utils.js.map +1 -1
  102. package/build/components/block-toolbar/block-toolbar-menu.native.js +0 -1
  103. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  104. package/build/components/block-toolbar/change-design.js +0 -1
  105. package/build/components/block-toolbar/change-design.js.map +1 -1
  106. package/build/components/block-toolbar/index.js +0 -1
  107. package/build/components/block-toolbar/index.js.map +1 -1
  108. package/build/components/block-tools/block-toolbar-popover.js +3 -2
  109. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  110. package/build/components/block-tools/use-selected-block-tool-props.js +0 -1
  111. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  112. package/build/components/block-types-list/index.js +0 -1
  113. package/build/components/block-types-list/index.js.map +1 -1
  114. package/build/components/block-variation-picker/index.js +0 -1
  115. package/build/components/block-variation-picker/index.js.map +1 -1
  116. package/build/components/block-variation-picker/index.native.js +0 -1
  117. package/build/components/block-variation-picker/index.native.js.map +1 -1
  118. package/build/components/block-variation-transforms/index.js +0 -1
  119. package/build/components/block-variation-transforms/index.js.map +1 -1
  120. package/build/components/block-vertical-alignment-control/ui.js +0 -1
  121. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  122. package/build/components/border-radius-control/index.js +0 -1
  123. package/build/components/border-radius-control/index.js.map +1 -1
  124. package/build/components/border-radius-control/input-controls.js +0 -1
  125. package/build/components/border-radius-control/input-controls.js.map +1 -1
  126. package/build/components/border-radius-control/utils.js +0 -1
  127. package/build/components/border-radius-control/utils.js.map +1 -1
  128. package/build/components/colors/utils.js +0 -1
  129. package/build/components/colors/utils.js.map +1 -1
  130. package/build/components/colors/with-colors.js +0 -1
  131. package/build/components/colors/with-colors.js.map +1 -1
  132. package/build/components/colors-gradients/dropdown.js +0 -1
  133. package/build/components/colors-gradients/dropdown.js.map +1 -1
  134. package/build/components/colors-gradients/panel-color-gradient-settings.js +0 -1
  135. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  136. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +0 -1
  137. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  138. package/build/components/convert-to-group-buttons/toolbar.js +0 -1
  139. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  140. package/build/components/date-format-picker/index.js +0 -1
  141. package/build/components/date-format-picker/index.js.map +1 -1
  142. package/build/components/dimensions-tool/scale-tool.js +0 -1
  143. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  144. package/build/components/duotone/utils.js +0 -1
  145. package/build/components/duotone/utils.js.map +1 -1
  146. package/build/components/editor-styles/index.js +0 -1
  147. package/build/components/editor-styles/index.js.map +1 -1
  148. package/build/components/font-appearance-control/index.js +0 -1
  149. package/build/components/font-appearance-control/index.js.map +1 -1
  150. package/build/components/font-family/index.js +0 -1
  151. package/build/components/font-family/index.js.map +1 -1
  152. package/build/components/font-sizes/with-font-sizes.js +0 -1
  153. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  154. package/build/components/global-styles/border-panel.js +0 -1
  155. package/build/components/global-styles/border-panel.js.map +1 -1
  156. package/build/components/global-styles/color-panel.js +0 -1
  157. package/build/components/global-styles/color-panel.js.map +1 -1
  158. package/build/components/global-styles/color-panel.native.js +0 -1
  159. package/build/components/global-styles/color-panel.native.js.map +1 -1
  160. package/build/components/global-styles/dimensions-panel.js +0 -1
  161. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  162. package/build/components/global-styles/filters-panel.js +42 -25
  163. package/build/components/global-styles/filters-panel.js.map +1 -1
  164. package/build/components/global-styles/get-global-styles-changes.js +0 -1
  165. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  166. package/build/components/global-styles/shadow-panel-components.js +41 -17
  167. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  168. package/build/components/global-styles/typography-utils.js +0 -1
  169. package/build/components/global-styles/typography-utils.js.map +1 -1
  170. package/build/components/global-styles/use-global-styles-context.native.js +0 -1
  171. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  172. package/build/components/global-styles/use-global-styles-output.js +0 -1
  173. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  174. package/build/components/global-styles/utils.js +0 -1
  175. package/build/components/global-styles/utils.js.map +1 -1
  176. package/build/components/grid/grid-visualizer.js +11 -20
  177. package/build/components/grid/grid-visualizer.js.map +1 -1
  178. package/build/components/grid/use-grid-layout-sync.js +0 -1
  179. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  180. package/build/components/grid/utils.js +6 -5
  181. package/build/components/grid/utils.js.map +1 -1
  182. package/build/components/iframe/get-compatibility-styles.js +0 -1
  183. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  184. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -2
  185. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  186. package/build/components/inner-blocks/index.js +2 -2
  187. package/build/components/inner-blocks/index.js.map +1 -1
  188. package/build/components/inner-blocks/index.native.js +2 -2
  189. package/build/components/inner-blocks/index.native.js.map +1 -1
  190. package/build/components/inner-blocks/use-block-context.js +0 -1
  191. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  192. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -1
  193. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  194. package/build/components/inserter/block-patterns-explorer/pattern-list.js +0 -1
  195. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  196. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -1
  197. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  198. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -1
  199. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  200. package/build/components/inserter/block-types-tab.js +0 -1
  201. package/build/components/inserter/block-types-tab.js.map +1 -1
  202. package/build/components/inserter/block-types-tab.native.js +0 -1
  203. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  204. package/build/components/inserter/category-tabs/index.js +0 -1
  205. package/build/components/inserter/category-tabs/index.js.map +1 -1
  206. package/build/components/inserter/hooks/use-block-type-impressions.native.js +0 -1
  207. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  208. package/build/components/inserter/hooks/use-patterns-state.js +0 -1
  209. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  210. package/build/components/inserter/index.js +0 -1
  211. package/build/components/inserter/index.js.map +1 -1
  212. package/build/components/inserter/index.native.js +0 -1
  213. package/build/components/inserter/index.native.js.map +1 -1
  214. package/build/components/inserter/media-tab/hooks.js +0 -1
  215. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  216. package/build/components/inserter/media-tab/media-list.js +0 -1
  217. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  218. package/build/components/inserter/media-tab/media-tab.js +0 -1
  219. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  220. package/build/components/inserter/menu.js +13 -2
  221. package/build/components/inserter/menu.js.map +1 -1
  222. package/build/components/inserter/mobile-tab-navigation.js +0 -1
  223. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  224. package/build/components/inserter/no-results.js +3 -7
  225. package/build/components/inserter/no-results.js.map +1 -1
  226. package/build/components/inserter/quick-inserter.js +2 -1
  227. package/build/components/inserter/quick-inserter.js.map +1 -1
  228. package/build/components/inserter/search-items.js +0 -1
  229. package/build/components/inserter/search-items.js.map +1 -1
  230. package/build/components/inserter/search-results.js +1 -2
  231. package/build/components/inserter/search-results.js.map +1 -1
  232. package/build/components/inserter/tabs.native.js +0 -1
  233. package/build/components/inserter/tabs.native.js.map +1 -1
  234. package/build/components/inserter/utils.native.js +0 -1
  235. package/build/components/inserter/utils.native.js.map +1 -1
  236. package/build/components/inspector-controls/block-support-tools-panel.js +0 -1
  237. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  238. package/build/components/inspector-controls/fill.js +0 -1
  239. package/build/components/inspector-controls/fill.js.map +1 -1
  240. package/build/components/inspector-controls-tabs/index.js +0 -1
  241. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  242. package/build/components/inspector-controls-tabs/position-controls-panel.js +49 -21
  243. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  244. package/build/components/inspector-popover-header/index.js +0 -1
  245. package/build/components/inspector-popover-header/index.js.map +1 -1
  246. package/build/components/justify-content-control/ui.js +0 -1
  247. package/build/components/justify-content-control/ui.js.map +1 -1
  248. package/build/components/keyboard-shortcuts/index.js +1 -1
  249. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  250. package/build/components/link-control/index.js +0 -1
  251. package/build/components/link-control/index.js.map +1 -1
  252. package/build/components/link-control/search-results.js +0 -1
  253. package/build/components/link-control/search-results.js.map +1 -1
  254. package/build/components/link-control/settings.js +0 -1
  255. package/build/components/link-control/settings.js.map +1 -1
  256. package/build/components/link-control/use-internal-value.js +0 -1
  257. package/build/components/link-control/use-internal-value.js.map +1 -1
  258. package/build/components/link-control/use-search-handler.js +0 -1
  259. package/build/components/link-control/use-search-handler.js.map +1 -1
  260. package/build/components/list-view/block-select-button.js +0 -1
  261. package/build/components/list-view/block-select-button.js.map +1 -1
  262. package/build/components/list-view/block.js +0 -1
  263. package/build/components/list-view/block.js.map +1 -1
  264. package/build/components/list-view/branch.js +0 -1
  265. package/build/components/list-view/branch.js.map +1 -1
  266. package/build/components/list-view/index.js +0 -1
  267. package/build/components/list-view/index.js.map +1 -1
  268. package/build/components/list-view/use-block-selection.js +0 -1
  269. package/build/components/list-view/use-block-selection.js.map +1 -1
  270. package/build/components/list-view/use-clipboard-handler.js +0 -1
  271. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  272. package/build/components/list-view/use-list-view-block-indexes.js +0 -1
  273. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  274. package/build/components/list-view/use-list-view-drop-zone.js +0 -1
  275. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  276. package/build/components/list-view/utils.js +0 -1
  277. package/build/components/list-view/utils.js.map +1 -1
  278. package/build/components/media-placeholder/index.js +0 -1
  279. package/build/components/media-placeholder/index.js.map +1 -1
  280. package/build/components/media-placeholder/index.native.js +0 -1
  281. package/build/components/media-placeholder/index.native.js.map +1 -1
  282. package/build/components/media-replace-flow/index.js +0 -1
  283. package/build/components/media-replace-flow/index.js.map +1 -1
  284. package/build/components/media-upload/index.native.js +0 -1
  285. package/build/components/media-upload/index.native.js.map +1 -1
  286. package/build/components/navigable-toolbar/index.js +0 -1
  287. package/build/components/navigable-toolbar/index.js.map +1 -1
  288. package/build/components/panel-color-settings/index.js +0 -1
  289. package/build/components/panel-color-settings/index.js.map +1 -1
  290. package/build/components/provider/use-block-sync.js +0 -1
  291. package/build/components/provider/use-block-sync.js.map +1 -1
  292. package/build/components/responsive-block-control/index.js +0 -1
  293. package/build/components/responsive-block-control/index.js.map +1 -1
  294. package/build/components/rich-text/embed-handler-picker.native.js +0 -1
  295. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  296. package/build/components/rich-text/event-listeners/before-input-rules.js +0 -1
  297. package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  298. package/build/components/rich-text/event-listeners/delete.js +5 -3
  299. package/build/components/rich-text/event-listeners/delete.js.map +1 -1
  300. package/build/components/rich-text/event-listeners/index.js +0 -1
  301. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  302. package/build/components/rich-text/event-listeners/input-rules.js +0 -1
  303. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  304. package/build/components/rich-text/event-listeners/paste-handler.js +0 -1
  305. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  306. package/build/components/rich-text/file-paste-handler.native.js +0 -1
  307. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  308. package/build/components/rich-text/format-edit.js +0 -1
  309. package/build/components/rich-text/format-edit.js.map +1 -1
  310. package/build/components/rich-text/format-toolbar/index.js +0 -1
  311. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  312. package/build/components/rich-text/index.js +0 -1
  313. package/build/components/rich-text/index.js.map +1 -1
  314. package/build/components/rich-text/index.native.js +0 -1
  315. package/build/components/rich-text/index.native.js.map +1 -1
  316. package/build/components/rich-text/multiline.js +0 -1
  317. package/build/components/rich-text/multiline.js.map +1 -1
  318. package/build/components/rich-text/native/format-edit.js +0 -1
  319. package/build/components/rich-text/native/format-edit.js.map +1 -1
  320. package/build/components/rich-text/native/get-format-colors.native.js +0 -1
  321. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  322. package/build/components/rich-text/native/index.native.js +0 -1
  323. package/build/components/rich-text/native/index.native.js.map +1 -1
  324. package/build/components/rich-text/native/toolbar-button-with-options.native.js +0 -1
  325. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  326. package/build/components/rich-text/native/use-format-types.js +0 -1
  327. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  328. package/build/components/rich-text/use-format-types.js +0 -1
  329. package/build/components/rich-text/use-format-types.js.map +1 -1
  330. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -1
  331. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  332. package/build/components/spacing-sizes-control/index.js +44 -2
  333. package/build/components/spacing-sizes-control/index.js.map +1 -1
  334. package/build/components/spacing-sizes-control/input-controls/axial.js +0 -1
  335. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  336. package/build/components/spacing-sizes-control/input-controls/separated.js +0 -1
  337. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  338. package/build/components/spacing-sizes-control/input-controls/single.js +0 -1
  339. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  340. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  341. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  342. package/build/components/spacing-sizes-control/linked-button.js +6 -9
  343. package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
  344. package/build/components/spacing-sizes-control/utils.js +0 -109
  345. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  346. package/build/components/tabbed-sidebar/index.js +0 -1
  347. package/build/components/tabbed-sidebar/index.js.map +1 -1
  348. package/build/components/text-alignment-control/index.js +0 -1
  349. package/build/components/text-alignment-control/index.js.map +1 -1
  350. package/build/components/text-decoration-control/index.js +0 -1
  351. package/build/components/text-decoration-control/index.js.map +1 -1
  352. package/build/components/text-transform-control/index.js +0 -1
  353. package/build/components/text-transform-control/index.js.map +1 -1
  354. package/build/components/unsupported-block-details/index.native.js +0 -1
  355. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  356. package/build/components/url-input/index.js +0 -1
  357. package/build/components/url-input/index.js.map +1 -1
  358. package/build/components/url-popover/image-url-input-ui.js +0 -1
  359. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  360. package/build/components/use-block-commands/index.js +0 -1
  361. package/build/components/use-block-commands/index.js.map +1 -1
  362. package/build/components/use-block-drop-zone/index.js +0 -1
  363. package/build/components/use-block-drop-zone/index.js.map +1 -1
  364. package/build/components/use-block-drop-zone/index.native.js +0 -1
  365. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  366. package/build/components/use-flash-editable-blocks/index.js +0 -1
  367. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  368. package/build/components/use-on-block-drop/index.js +0 -1
  369. package/build/components/use-on-block-drop/index.js.map +1 -1
  370. package/build/components/use-on-block-drop/index.native.js +0 -1
  371. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  372. package/build/components/use-paste-styles/index.js +0 -1
  373. package/build/components/use-paste-styles/index.js.map +1 -1
  374. package/build/components/warning/index.js +0 -1
  375. package/build/components/warning/index.js.map +1 -1
  376. package/build/components/writing-flow/use-arrow-nav.js +0 -1
  377. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  378. package/build/components/writing-flow/use-clipboard-handler.js +0 -1
  379. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  380. package/build/components/writing-flow/use-input.js +0 -1
  381. package/build/components/writing-flow/use-input.js.map +1 -1
  382. package/build/components/writing-flow/use-tab-nav.js +3 -1
  383. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  384. package/build/components/writing-flow/utils.js +0 -1
  385. package/build/components/writing-flow/utils.js.map +1 -1
  386. package/build/components/writing-mode-control/index.js +0 -1
  387. package/build/components/writing-mode-control/index.js.map +1 -1
  388. package/build/hooks/align.js +0 -1
  389. package/build/hooks/align.js.map +1 -1
  390. package/build/hooks/align.native.js +0 -1
  391. package/build/hooks/align.native.js.map +1 -1
  392. package/build/hooks/aria-label.js +3 -8
  393. package/build/hooks/aria-label.js.map +1 -1
  394. package/build/hooks/block-bindings.js +0 -1
  395. package/build/hooks/block-bindings.js.map +1 -1
  396. package/build/hooks/block-hooks.js +0 -1
  397. package/build/hooks/block-hooks.js.map +1 -1
  398. package/build/hooks/block-style-variation.js +0 -1
  399. package/build/hooks/block-style-variation.js.map +1 -1
  400. package/build/hooks/border.js +0 -1
  401. package/build/hooks/border.js.map +1 -1
  402. package/build/hooks/contrast-checker.js +40 -22
  403. package/build/hooks/contrast-checker.js.map +1 -1
  404. package/build/hooks/custom-class-name.js +2 -1
  405. package/build/hooks/custom-class-name.js.map +1 -1
  406. package/build/hooks/duotone.js +0 -1
  407. package/build/hooks/duotone.js.map +1 -1
  408. package/build/hooks/index.js +0 -1
  409. package/build/hooks/index.js.map +1 -1
  410. package/build/hooks/layout.js +0 -1
  411. package/build/hooks/layout.js.map +1 -1
  412. package/build/hooks/position.js +0 -1
  413. package/build/hooks/position.js.map +1 -1
  414. package/build/hooks/style.js +0 -1
  415. package/build/hooks/style.js.map +1 -1
  416. package/build/hooks/supports.js +0 -1
  417. package/build/hooks/supports.js.map +1 -1
  418. package/build/hooks/text-align.js +0 -1
  419. package/build/hooks/text-align.js.map +1 -1
  420. package/build/hooks/typography.js +0 -1
  421. package/build/hooks/typography.js.map +1 -1
  422. package/build/hooks/utils.js +0 -1
  423. package/build/hooks/utils.js.map +1 -1
  424. package/build/layouts/constrained.js +0 -1
  425. package/build/layouts/constrained.js.map +1 -1
  426. package/build/layouts/flex.js +0 -1
  427. package/build/layouts/flex.js.map +1 -1
  428. package/build/layouts/flow.js +0 -1
  429. package/build/layouts/flow.js.map +1 -1
  430. package/build/layouts/index.js +0 -1
  431. package/build/layouts/index.js.map +1 -1
  432. package/build/layouts/utils.js +0 -1
  433. package/build/layouts/utils.js.map +1 -1
  434. package/build/store/actions.js +0 -1
  435. package/build/store/actions.js.map +1 -1
  436. package/build/store/get-block-settings.js +0 -1
  437. package/build/store/get-block-settings.js.map +1 -1
  438. package/build/store/private-actions.js +0 -1
  439. package/build/store/private-actions.js.map +1 -1
  440. package/build/store/private-selectors.js +0 -1
  441. package/build/store/private-selectors.js.map +1 -1
  442. package/build/store/reducer.js +0 -1
  443. package/build/store/reducer.js.map +1 -1
  444. package/build/store/selectors.js +13 -3
  445. package/build/store/selectors.js.map +1 -1
  446. package/build/store/utils.js +0 -1
  447. package/build/store/utils.js.map +1 -1
  448. package/build/utils/block-bindings.js +0 -1
  449. package/build/utils/block-bindings.js.map +1 -1
  450. package/build/utils/get-editor-region.js +0 -1
  451. package/build/utils/get-editor-region.js.map +1 -1
  452. package/build/utils/get-font-styles-and-weights.js +0 -1
  453. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  454. package/build/utils/math.js +0 -1
  455. package/build/utils/math.js.map +1 -1
  456. package/build/utils/object.js +0 -1
  457. package/build/utils/object.js.map +1 -1
  458. package/build/utils/selection.js +0 -1
  459. package/build/utils/selection.js.map +1 -1
  460. package/build/utils/transform-styles/index.js +0 -1
  461. package/build/utils/transform-styles/index.js.map +1 -1
  462. package/build-module/autocompleters/block.js +0 -1
  463. package/build-module/autocompleters/block.js.map +1 -1
  464. package/build-module/autocompleters/link.js +0 -1
  465. package/build-module/autocompleters/link.js.map +1 -1
  466. package/build-module/components/alignment-control/ui.js +0 -1
  467. package/build-module/components/alignment-control/ui.js.map +1 -1
  468. package/build-module/components/autocomplete/index.js +0 -1
  469. package/build-module/components/autocomplete/index.js.map +1 -1
  470. package/build-module/components/background-image-control/index.js +0 -1
  471. package/build-module/components/background-image-control/index.js.map +1 -1
  472. package/build-module/components/block-actions/index.js +0 -1
  473. package/build-module/components/block-actions/index.js.map +1 -1
  474. package/build-module/components/block-alignment-control/ui.js +0 -1
  475. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  476. package/build-module/components/block-alignment-control/ui.native.js +0 -1
  477. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  478. package/build-module/components/block-alignment-control/use-available-alignments.js +0 -1
  479. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  480. package/build-module/components/block-breadcrumb/index.js +0 -1
  481. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  482. package/build-module/components/block-compare/index.js +0 -1
  483. package/build-module/components/block-compare/index.js.map +1 -1
  484. package/build-module/components/block-controls/fill.js +0 -1
  485. package/build-module/components/block-controls/fill.js.map +1 -1
  486. package/build-module/components/block-edit/edit.js +0 -1
  487. package/build-module/components/block-edit/edit.js.map +1 -1
  488. package/build-module/components/block-edit/edit.native.js +0 -1
  489. package/build-module/components/block-edit/edit.native.js.map +1 -1
  490. package/build-module/components/block-heading-level-dropdown/index.js +0 -1
  491. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  492. package/build-module/components/block-heading-level-dropdown/index.native.js +0 -1
  493. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  494. package/build-module/components/block-inspector/index.js +0 -1
  495. package/build-module/components/block-inspector/index.js.map +1 -1
  496. package/build-module/components/block-list/block-invalid-warning.js +0 -1
  497. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  498. package/build-module/components/block-list/block-list-context.native.js +0 -1
  499. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  500. package/build-module/components/block-list/block.js +0 -1
  501. package/build-module/components/block-list/block.js.map +1 -1
  502. package/build-module/components/block-list/block.native.js +0 -1
  503. package/build-module/components/block-list/block.native.js.map +1 -1
  504. package/build-module/components/block-list/index.js +9 -6
  505. package/build-module/components/block-list/index.js.map +1 -1
  506. package/build-module/components/block-list/index.native.js +0 -1
  507. package/build-module/components/block-list/index.native.js.map +1 -1
  508. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +0 -1
  509. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  510. package/build-module/components/block-list/use-in-between-inserter.js +0 -1
  511. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  512. package/build-module/components/block-lock/modal.js +0 -1
  513. package/build-module/components/block-lock/modal.js.map +1 -1
  514. package/build-module/components/block-manager/category.js +0 -1
  515. package/build-module/components/block-manager/category.js.map +1 -1
  516. package/build-module/components/block-manager/checklist.js +0 -1
  517. package/build-module/components/block-manager/checklist.js.map +1 -1
  518. package/build-module/components/block-manager/index.js +0 -1
  519. package/build-module/components/block-manager/index.js.map +1 -1
  520. package/build-module/components/block-media-update-progress/index.native.js +0 -1
  521. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  522. package/build-module/components/block-mover/index.native.js +0 -1
  523. package/build-module/components/block-mover/index.native.js.map +1 -1
  524. package/build-module/components/block-mover/mover-description.native.js +0 -1
  525. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  526. package/build-module/components/block-pattern-setup/index.js +0 -1
  527. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  528. package/build-module/components/block-pattern-setup/use-patterns-setup.js +0 -1
  529. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  530. package/build-module/components/block-patterns-list/index.js +0 -1
  531. package/build-module/components/block-patterns-list/index.js.map +1 -1
  532. package/build-module/components/block-popover/use-popover-scroll.js +12 -7
  533. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
  534. package/build-module/components/block-quick-navigation/index.js +0 -1
  535. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  536. package/build-module/components/block-rename/modal.js +0 -1
  537. package/build-module/components/block-rename/modal.js.map +1 -1
  538. package/build-module/components/block-settings-menu/block-settings-dropdown.js +0 -1
  539. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  540. package/build-module/components/block-styles/index.js +0 -1
  541. package/build-module/components/block-styles/index.js.map +1 -1
  542. package/build-module/components/block-styles/index.native.js +0 -1
  543. package/build-module/components/block-styles/index.native.js.map +1 -1
  544. package/build-module/components/block-styles/menu-items.js +0 -1
  545. package/build-module/components/block-styles/menu-items.js.map +1 -1
  546. package/build-module/components/block-styles/preview.native.js +0 -1
  547. package/build-module/components/block-styles/preview.native.js.map +1 -1
  548. package/build-module/components/block-switcher/block-transformations-menu.js +0 -1
  549. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  550. package/build-module/components/block-switcher/block-transformations-menu.native.js +0 -1
  551. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  552. package/build-module/components/block-switcher/block-variation-transformations.js +0 -1
  553. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  554. package/build-module/components/block-switcher/index.js +0 -1
  555. package/build-module/components/block-switcher/index.js.map +1 -1
  556. package/build-module/components/block-switcher/pattern-transformations-menu.js +0 -1
  557. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  558. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  559. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  560. package/build-module/components/block-switcher/utils.js +0 -1
  561. package/build-module/components/block-switcher/utils.js.map +1 -1
  562. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +0 -1
  563. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  564. package/build-module/components/block-toolbar/change-design.js +0 -1
  565. package/build-module/components/block-toolbar/change-design.js.map +1 -1
  566. package/build-module/components/block-toolbar/index.js +0 -1
  567. package/build-module/components/block-toolbar/index.js.map +1 -1
  568. package/build-module/components/block-tools/block-toolbar-popover.js +3 -2
  569. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  570. package/build-module/components/block-tools/use-selected-block-tool-props.js +0 -1
  571. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  572. package/build-module/components/block-types-list/index.js +0 -1
  573. package/build-module/components/block-types-list/index.js.map +1 -1
  574. package/build-module/components/block-variation-picker/index.js +0 -1
  575. package/build-module/components/block-variation-picker/index.js.map +1 -1
  576. package/build-module/components/block-variation-picker/index.native.js +0 -1
  577. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  578. package/build-module/components/block-variation-transforms/index.js +0 -1
  579. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  580. package/build-module/components/block-vertical-alignment-control/ui.js +0 -1
  581. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  582. package/build-module/components/border-radius-control/index.js +0 -1
  583. package/build-module/components/border-radius-control/index.js.map +1 -1
  584. package/build-module/components/border-radius-control/input-controls.js +0 -1
  585. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  586. package/build-module/components/border-radius-control/utils.js +0 -1
  587. package/build-module/components/border-radius-control/utils.js.map +1 -1
  588. package/build-module/components/colors/utils.js +0 -1
  589. package/build-module/components/colors/utils.js.map +1 -1
  590. package/build-module/components/colors/with-colors.js +0 -1
  591. package/build-module/components/colors/with-colors.js.map +1 -1
  592. package/build-module/components/colors-gradients/dropdown.js +0 -1
  593. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  594. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +0 -1
  595. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  596. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +0 -1
  597. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  598. package/build-module/components/convert-to-group-buttons/toolbar.js +0 -1
  599. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  600. package/build-module/components/date-format-picker/index.js +0 -1
  601. package/build-module/components/date-format-picker/index.js.map +1 -1
  602. package/build-module/components/dimensions-tool/scale-tool.js +0 -1
  603. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  604. package/build-module/components/duotone/utils.js +0 -1
  605. package/build-module/components/duotone/utils.js.map +1 -1
  606. package/build-module/components/editor-styles/index.js +0 -1
  607. package/build-module/components/editor-styles/index.js.map +1 -1
  608. package/build-module/components/font-appearance-control/index.js +0 -1
  609. package/build-module/components/font-appearance-control/index.js.map +1 -1
  610. package/build-module/components/font-family/index.js +0 -1
  611. package/build-module/components/font-family/index.js.map +1 -1
  612. package/build-module/components/font-sizes/with-font-sizes.js +0 -1
  613. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  614. package/build-module/components/global-styles/border-panel.js +0 -1
  615. package/build-module/components/global-styles/border-panel.js.map +1 -1
  616. package/build-module/components/global-styles/color-panel.js +0 -1
  617. package/build-module/components/global-styles/color-panel.js.map +1 -1
  618. package/build-module/components/global-styles/color-panel.native.js +0 -1
  619. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  620. package/build-module/components/global-styles/dimensions-panel.js +0 -1
  621. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  622. package/build-module/components/global-styles/filters-panel.js +45 -28
  623. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  624. package/build-module/components/global-styles/get-global-styles-changes.js +0 -1
  625. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  626. package/build-module/components/global-styles/shadow-panel-components.js +44 -20
  627. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  628. package/build-module/components/global-styles/typography-utils.js +0 -1
  629. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  630. package/build-module/components/global-styles/use-global-styles-context.native.js +0 -1
  631. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  632. package/build-module/components/global-styles/use-global-styles-output.js +0 -1
  633. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  634. package/build-module/components/global-styles/utils.js +0 -1
  635. package/build-module/components/global-styles/utils.js.map +1 -1
  636. package/build-module/components/grid/grid-visualizer.js +11 -20
  637. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  638. package/build-module/components/grid/use-grid-layout-sync.js +0 -1
  639. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  640. package/build-module/components/grid/utils.js +6 -5
  641. package/build-module/components/grid/utils.js.map +1 -1
  642. package/build-module/components/iframe/get-compatibility-styles.js +0 -1
  643. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  644. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -2
  645. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  646. package/build-module/components/inner-blocks/index.js +2 -2
  647. package/build-module/components/inner-blocks/index.js.map +1 -1
  648. package/build-module/components/inner-blocks/index.native.js +2 -2
  649. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  650. package/build-module/components/inner-blocks/use-block-context.js +0 -1
  651. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  652. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -1
  653. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  654. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +0 -1
  655. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  656. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -1
  657. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  658. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -1
  659. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  660. package/build-module/components/inserter/block-types-tab.js +0 -1
  661. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  662. package/build-module/components/inserter/block-types-tab.native.js +0 -1
  663. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  664. package/build-module/components/inserter/category-tabs/index.js +0 -1
  665. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  666. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +0 -1
  667. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  668. package/build-module/components/inserter/hooks/use-patterns-state.js +0 -1
  669. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  670. package/build-module/components/inserter/index.js +0 -1
  671. package/build-module/components/inserter/index.js.map +1 -1
  672. package/build-module/components/inserter/index.native.js +0 -1
  673. package/build-module/components/inserter/index.native.js.map +1 -1
  674. package/build-module/components/inserter/media-tab/hooks.js +0 -1
  675. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  676. package/build-module/components/inserter/media-tab/media-list.js +0 -1
  677. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  678. package/build-module/components/inserter/media-tab/media-tab.js +0 -1
  679. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  680. package/build-module/components/inserter/menu.js +13 -2
  681. package/build-module/components/inserter/menu.js.map +1 -1
  682. package/build-module/components/inserter/mobile-tab-navigation.js +0 -1
  683. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  684. package/build-module/components/inserter/no-results.js +4 -8
  685. package/build-module/components/inserter/no-results.js.map +1 -1
  686. package/build-module/components/inserter/quick-inserter.js +2 -1
  687. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  688. package/build-module/components/inserter/search-items.js +0 -1
  689. package/build-module/components/inserter/search-items.js.map +1 -1
  690. package/build-module/components/inserter/search-results.js +1 -2
  691. package/build-module/components/inserter/search-results.js.map +1 -1
  692. package/build-module/components/inserter/tabs.native.js +0 -1
  693. package/build-module/components/inserter/tabs.native.js.map +1 -1
  694. package/build-module/components/inserter/utils.native.js +0 -1
  695. package/build-module/components/inserter/utils.native.js.map +1 -1
  696. package/build-module/components/inspector-controls/block-support-tools-panel.js +0 -1
  697. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  698. package/build-module/components/inspector-controls/fill.js +0 -1
  699. package/build-module/components/inspector-controls/fill.js.map +1 -1
  700. package/build-module/components/inspector-controls-tabs/index.js +0 -1
  701. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  702. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +51 -23
  703. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  704. package/build-module/components/inspector-popover-header/index.js +0 -1
  705. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  706. package/build-module/components/justify-content-control/ui.js +0 -1
  707. package/build-module/components/justify-content-control/ui.js.map +1 -1
  708. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  709. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  710. package/build-module/components/link-control/index.js +0 -1
  711. package/build-module/components/link-control/index.js.map +1 -1
  712. package/build-module/components/link-control/search-results.js +0 -1
  713. package/build-module/components/link-control/search-results.js.map +1 -1
  714. package/build-module/components/link-control/settings.js +0 -1
  715. package/build-module/components/link-control/settings.js.map +1 -1
  716. package/build-module/components/link-control/use-internal-value.js +0 -1
  717. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  718. package/build-module/components/link-control/use-search-handler.js +0 -1
  719. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  720. package/build-module/components/list-view/block-select-button.js +0 -1
  721. package/build-module/components/list-view/block-select-button.js.map +1 -1
  722. package/build-module/components/list-view/block.js +0 -1
  723. package/build-module/components/list-view/block.js.map +1 -1
  724. package/build-module/components/list-view/branch.js +0 -1
  725. package/build-module/components/list-view/branch.js.map +1 -1
  726. package/build-module/components/list-view/index.js +0 -1
  727. package/build-module/components/list-view/index.js.map +1 -1
  728. package/build-module/components/list-view/use-block-selection.js +0 -1
  729. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  730. package/build-module/components/list-view/use-clipboard-handler.js +0 -1
  731. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  732. package/build-module/components/list-view/use-list-view-block-indexes.js +0 -1
  733. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  734. package/build-module/components/list-view/use-list-view-drop-zone.js +0 -1
  735. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  736. package/build-module/components/list-view/utils.js +0 -1
  737. package/build-module/components/list-view/utils.js.map +1 -1
  738. package/build-module/components/media-placeholder/index.js +0 -1
  739. package/build-module/components/media-placeholder/index.js.map +1 -1
  740. package/build-module/components/media-placeholder/index.native.js +0 -1
  741. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  742. package/build-module/components/media-replace-flow/index.js +0 -1
  743. package/build-module/components/media-replace-flow/index.js.map +1 -1
  744. package/build-module/components/media-upload/index.native.js +0 -1
  745. package/build-module/components/media-upload/index.native.js.map +1 -1
  746. package/build-module/components/navigable-toolbar/index.js +0 -1
  747. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  748. package/build-module/components/panel-color-settings/index.js +0 -1
  749. package/build-module/components/panel-color-settings/index.js.map +1 -1
  750. package/build-module/components/provider/use-block-sync.js +0 -1
  751. package/build-module/components/provider/use-block-sync.js.map +1 -1
  752. package/build-module/components/responsive-block-control/index.js +0 -1
  753. package/build-module/components/responsive-block-control/index.js.map +1 -1
  754. package/build-module/components/rich-text/embed-handler-picker.native.js +0 -1
  755. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  756. package/build-module/components/rich-text/event-listeners/before-input-rules.js +0 -1
  757. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  758. package/build-module/components/rich-text/event-listeners/delete.js +5 -3
  759. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
  760. package/build-module/components/rich-text/event-listeners/index.js +0 -1
  761. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  762. package/build-module/components/rich-text/event-listeners/input-rules.js +0 -1
  763. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  764. package/build-module/components/rich-text/event-listeners/paste-handler.js +0 -1
  765. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  766. package/build-module/components/rich-text/file-paste-handler.native.js +0 -1
  767. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  768. package/build-module/components/rich-text/format-edit.js +0 -1
  769. package/build-module/components/rich-text/format-edit.js.map +1 -1
  770. package/build-module/components/rich-text/format-toolbar/index.js +0 -1
  771. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  772. package/build-module/components/rich-text/index.js +0 -1
  773. package/build-module/components/rich-text/index.js.map +1 -1
  774. package/build-module/components/rich-text/index.native.js +0 -1
  775. package/build-module/components/rich-text/index.native.js.map +1 -1
  776. package/build-module/components/rich-text/multiline.js +0 -1
  777. package/build-module/components/rich-text/multiline.js.map +1 -1
  778. package/build-module/components/rich-text/native/format-edit.js +0 -1
  779. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  780. package/build-module/components/rich-text/native/get-format-colors.native.js +0 -1
  781. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  782. package/build-module/components/rich-text/native/index.native.js +0 -1
  783. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  784. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +0 -1
  785. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  786. package/build-module/components/rich-text/native/use-format-types.js +0 -1
  787. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  788. package/build-module/components/rich-text/use-format-types.js +0 -1
  789. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  790. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -1
  791. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  792. package/build-module/components/spacing-sizes-control/index.js +45 -1
  793. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  794. package/build-module/components/spacing-sizes-control/input-controls/axial.js +0 -1
  795. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  796. package/build-module/components/spacing-sizes-control/input-controls/separated.js +0 -1
  797. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  798. package/build-module/components/spacing-sizes-control/input-controls/single.js +0 -1
  799. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  800. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  801. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  802. package/build-module/components/spacing-sizes-control/linked-button.js +7 -10
  803. package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
  804. package/build-module/components/spacing-sizes-control/utils.js +0 -105
  805. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  806. package/build-module/components/tabbed-sidebar/index.js +0 -1
  807. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  808. package/build-module/components/text-alignment-control/index.js +0 -1
  809. package/build-module/components/text-alignment-control/index.js.map +1 -1
  810. package/build-module/components/text-decoration-control/index.js +0 -1
  811. package/build-module/components/text-decoration-control/index.js.map +1 -1
  812. package/build-module/components/text-transform-control/index.js +0 -1
  813. package/build-module/components/text-transform-control/index.js.map +1 -1
  814. package/build-module/components/unsupported-block-details/index.native.js +0 -1
  815. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  816. package/build-module/components/url-input/index.js +0 -1
  817. package/build-module/components/url-input/index.js.map +1 -1
  818. package/build-module/components/url-popover/image-url-input-ui.js +0 -1
  819. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  820. package/build-module/components/use-block-commands/index.js +0 -1
  821. package/build-module/components/use-block-commands/index.js.map +1 -1
  822. package/build-module/components/use-block-drop-zone/index.js +0 -1
  823. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  824. package/build-module/components/use-block-drop-zone/index.native.js +0 -1
  825. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  826. package/build-module/components/use-flash-editable-blocks/index.js +0 -1
  827. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  828. package/build-module/components/use-on-block-drop/index.js +0 -1
  829. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  830. package/build-module/components/use-on-block-drop/index.native.js +0 -1
  831. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  832. package/build-module/components/use-paste-styles/index.js +0 -1
  833. package/build-module/components/use-paste-styles/index.js.map +1 -1
  834. package/build-module/components/warning/index.js +0 -1
  835. package/build-module/components/warning/index.js.map +1 -1
  836. package/build-module/components/writing-flow/use-arrow-nav.js +0 -1
  837. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  838. package/build-module/components/writing-flow/use-clipboard-handler.js +0 -1
  839. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  840. package/build-module/components/writing-flow/use-input.js +0 -1
  841. package/build-module/components/writing-flow/use-input.js.map +1 -1
  842. package/build-module/components/writing-flow/use-tab-nav.js +3 -1
  843. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  844. package/build-module/components/writing-flow/utils.js +0 -1
  845. package/build-module/components/writing-flow/utils.js.map +1 -1
  846. package/build-module/components/writing-mode-control/index.js +0 -1
  847. package/build-module/components/writing-mode-control/index.js.map +1 -1
  848. package/build-module/hooks/align.js +0 -1
  849. package/build-module/hooks/align.js.map +1 -1
  850. package/build-module/hooks/align.native.js +0 -1
  851. package/build-module/hooks/align.native.js.map +1 -1
  852. package/build-module/hooks/aria-label.js +3 -7
  853. package/build-module/hooks/aria-label.js.map +1 -1
  854. package/build-module/hooks/block-bindings.js +0 -1
  855. package/build-module/hooks/block-bindings.js.map +1 -1
  856. package/build-module/hooks/block-hooks.js +0 -1
  857. package/build-module/hooks/block-hooks.js.map +1 -1
  858. package/build-module/hooks/block-style-variation.js +0 -1
  859. package/build-module/hooks/block-style-variation.js.map +1 -1
  860. package/build-module/hooks/border.js +0 -1
  861. package/build-module/hooks/border.js.map +1 -1
  862. package/build-module/hooks/contrast-checker.js +41 -23
  863. package/build-module/hooks/contrast-checker.js.map +1 -1
  864. package/build-module/hooks/custom-class-name.js +2 -1
  865. package/build-module/hooks/custom-class-name.js.map +1 -1
  866. package/build-module/hooks/duotone.js +0 -1
  867. package/build-module/hooks/duotone.js.map +1 -1
  868. package/build-module/hooks/index.js +0 -1
  869. package/build-module/hooks/index.js.map +1 -1
  870. package/build-module/hooks/layout.js +0 -1
  871. package/build-module/hooks/layout.js.map +1 -1
  872. package/build-module/hooks/position.js +0 -1
  873. package/build-module/hooks/position.js.map +1 -1
  874. package/build-module/hooks/style.js +0 -1
  875. package/build-module/hooks/style.js.map +1 -1
  876. package/build-module/hooks/supports.js +0 -1
  877. package/build-module/hooks/supports.js.map +1 -1
  878. package/build-module/hooks/text-align.js +0 -1
  879. package/build-module/hooks/text-align.js.map +1 -1
  880. package/build-module/hooks/typography.js +0 -1
  881. package/build-module/hooks/typography.js.map +1 -1
  882. package/build-module/hooks/utils.js +0 -1
  883. package/build-module/hooks/utils.js.map +1 -1
  884. package/build-module/layouts/constrained.js +0 -1
  885. package/build-module/layouts/constrained.js.map +1 -1
  886. package/build-module/layouts/flex.js +0 -1
  887. package/build-module/layouts/flex.js.map +1 -1
  888. package/build-module/layouts/flow.js +0 -1
  889. package/build-module/layouts/flow.js.map +1 -1
  890. package/build-module/layouts/index.js +0 -1
  891. package/build-module/layouts/index.js.map +1 -1
  892. package/build-module/layouts/utils.js +0 -1
  893. package/build-module/layouts/utils.js.map +1 -1
  894. package/build-module/store/actions.js +0 -1
  895. package/build-module/store/actions.js.map +1 -1
  896. package/build-module/store/get-block-settings.js +0 -1
  897. package/build-module/store/get-block-settings.js.map +1 -1
  898. package/build-module/store/private-actions.js +0 -1
  899. package/build-module/store/private-actions.js.map +1 -1
  900. package/build-module/store/private-selectors.js +0 -1
  901. package/build-module/store/private-selectors.js.map +1 -1
  902. package/build-module/store/reducer.js +0 -1
  903. package/build-module/store/reducer.js.map +1 -1
  904. package/build-module/store/selectors.js +13 -3
  905. package/build-module/store/selectors.js.map +1 -1
  906. package/build-module/store/utils.js +0 -1
  907. package/build-module/store/utils.js.map +1 -1
  908. package/build-module/utils/block-bindings.js +0 -1
  909. package/build-module/utils/block-bindings.js.map +1 -1
  910. package/build-module/utils/get-editor-region.js +0 -1
  911. package/build-module/utils/get-editor-region.js.map +1 -1
  912. package/build-module/utils/get-font-styles-and-weights.js +0 -1
  913. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  914. package/build-module/utils/math.js +0 -1
  915. package/build-module/utils/math.js.map +1 -1
  916. package/build-module/utils/object.js +0 -1
  917. package/build-module/utils/object.js.map +1 -1
  918. package/build-module/utils/selection.js +0 -1
  919. package/build-module/utils/selection.js.map +1 -1
  920. package/build-module/utils/transform-styles/index.js +0 -1
  921. package/build-module/utils/transform-styles/index.js.map +1 -1
  922. package/build-style/content-rtl.css +22 -25
  923. package/build-style/content.css +22 -25
  924. package/build-style/style-rtl.css +131 -104
  925. package/build-style/style.css +131 -104
  926. package/package.json +34 -34
  927. package/src/components/block-canvas/style.scss +3 -2
  928. package/src/components/block-draggable/style.scss +3 -1
  929. package/src/components/block-list/content.scss +19 -12
  930. package/src/components/block-list/index.js +21 -7
  931. package/src/components/block-mover/style.scss +5 -4
  932. package/src/components/block-pattern-setup/style.scss +3 -1
  933. package/src/components/block-patterns-list/style.scss +3 -3
  934. package/src/components/block-popover/use-popover-scroll.js +13 -8
  935. package/src/components/block-switcher/style.scss +3 -1
  936. package/src/components/block-toolbar/style.scss +5 -3
  937. package/src/components/block-tools/block-toolbar-popover.js +4 -3
  938. package/src/components/block-tools/style.scss +6 -3
  939. package/src/components/button-block-appender/content.scss +2 -4
  940. package/src/components/colors-gradients/style.scss +3 -2
  941. package/src/components/global-styles/filters-panel.js +48 -21
  942. package/src/components/global-styles/shadow-panel-components.js +44 -13
  943. package/src/components/global-styles/style.scss +53 -1
  944. package/src/components/grid/grid-visualizer.js +10 -21
  945. package/src/components/grid/style.scss +6 -4
  946. package/src/components/grid/utils.js +6 -4
  947. package/src/components/iframe/content.scss +5 -2
  948. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  949. package/src/components/inner-blocks/index.js +2 -2
  950. package/src/components/inner-blocks/index.native.js +2 -2
  951. package/src/components/inserter/menu.js +11 -9
  952. package/src/components/inserter/no-results.js +0 -5
  953. package/src/components/inserter/quick-inserter.js +4 -1
  954. package/src/components/inserter/search-results.js +3 -1
  955. package/src/components/inserter/style.scss +6 -8
  956. package/src/components/inserter-list-item/style.scss +9 -6
  957. package/src/components/inspector-controls-tabs/position-controls-panel.js +62 -27
  958. package/src/components/keyboard-shortcuts/index.js +1 -1
  959. package/src/components/link-control/style.scss +11 -6
  960. package/src/components/list-view/style.scss +34 -17
  961. package/src/components/rich-text/event-listeners/delete.js +3 -3
  962. package/src/components/spacing-sizes-control/README.md +93 -0
  963. package/src/components/spacing-sizes-control/index.js +44 -1
  964. package/src/components/spacing-sizes-control/linked-button.js +8 -10
  965. package/src/components/spacing-sizes-control/test/utils.js +0 -151
  966. package/src/components/spacing-sizes-control/utils.js +0 -106
  967. package/src/components/url-input/style.scss +3 -2
  968. package/src/components/writing-flow/use-tab-nav.js +4 -0
  969. package/src/hooks/aria-label.js +3 -8
  970. package/src/hooks/contrast-checker.js +64 -30
  971. package/src/hooks/custom-class-name.js +2 -1
  972. package/src/store/selectors.js +15 -7
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -48,27 +47,19 @@ const GridVisualizerGrid = forwardRef(({
48
47
  const [gridInfo, setGridInfo] = useState(() => getGridInfo(gridElement));
49
48
  const [isDroppingAllowed, setIsDroppingAllowed] = useState(false);
50
49
  useEffect(() => {
51
- const observers = [];
52
- for (const element of [gridElement, ...gridElement.children]) {
53
- const observer = new window.ResizeObserver(() => {
54
- setGridInfo(getGridInfo(gridElement));
55
- });
56
- observer.observe(element);
57
- observers.push(observer);
58
- }
59
- const mutationObserver = new window.MutationObserver(() => {
60
- setGridInfo(getGridInfo(gridElement));
50
+ const resizeCallback = () => setGridInfo(getGridInfo(gridElement));
51
+ // Both border-box and content-box are observed as they may change
52
+ // independently. This requires two observers because a single one
53
+ // can’t be made to monitor both on the same element.
54
+ const borderBoxSpy = new window.ResizeObserver(resizeCallback);
55
+ borderBoxSpy.observe(gridElement, {
56
+ box: 'border-box'
61
57
  });
62
- mutationObserver.observe(gridElement, {
63
- attributeFilter: ['style', 'class'],
64
- childList: true,
65
- subtree: true
66
- });
67
- observers.push(mutationObserver);
58
+ const contentBoxSpy = new window.ResizeObserver(resizeCallback);
59
+ contentBoxSpy.observe(gridElement);
68
60
  return () => {
69
- for (const observer of observers) {
70
- observer.disconnect();
71
- }
61
+ borderBoxSpy.disconnect();
62
+ contentBoxSpy.disconnect();
72
63
  };
73
64
  }, [gridElement]);
74
65
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useState","useEffect","forwardRef","useMemo","useSelect","useDispatch","__experimentalUseDropZone","useDropZone","useBlockElement","BlockPopoverCover","range","GridRect","getGridInfo","store","blockEditorStore","useGetNumberOfBlocksBeforeCell","ButtonBlockAppender","unlock","jsx","_jsx","GridVisualizer","clientId","contentRef","parentLayout","isDistractionFree","select","getSettings","gridElement","isManualGrid","isManualPlacement","window","__experimentalEnableGridInteractivity","GridVisualizerGrid","gridClientId","ref","gridInfo","setGridInfo","isDroppingAllowed","setIsDroppingAllowed","observers","element","children","observer","ResizeObserver","observe","push","mutationObserver","MutationObserver","attributeFilter","childList","subtree","disconnect","onGlobalDrag","onGlobalDragEnd","document","addEventListener","removeEventListener","className","__unstablePopoverSlot","style","ManualGridVisualizer","Array","from","length","numItems","_","i","GridVisualizerCell","color","currentColor","highlightedRect","setHighlightedRect","gridItemStyles","getBlockOrder","getBlockStyles","blockOrder","occupiedRects","rects","Object","values","_style$layout","columnStart","rowStart","columnSpan","rowSpan","layout","numRows","map","row","numColumns","column","_highlightedRect$cont","isCellOccupied","some","rect","contains","isHighlighted","GridVisualizerDropZone","GridVisualizerAppender","boxShadow","useGridVisualizerDropZone","getBlockAttributes","getBlockRootClientId","canInsertBlockType","getBlockName","updateBlockAttributes","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","getNumberOfBlocksBeforeCell","useDropZoneWithValidation","validateDrag","srcClientId","blockName","attributes","isInBounds","containsRect","onDragEnter","onDragLeave","prevHighlightedRect","onDrop","rootClientId","onSelect","block","getDraggedBlockClientIds"],"sources":["@wordpress/block-editor/src/components/grid/grid-visualizer.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __experimentalUseDropZone as useDropZone } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { range, GridRect, getGridInfo } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport { useGetNumberOfBlocksBeforeCell } from './use-get-number-of-blocks-before-cell';\nimport ButtonBlockAppender from '../button-block-appender';\nimport { unlock } from '../../lock-unlock';\n\nexport function GridVisualizer( { clientId, contentRef, parentLayout } ) {\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\tconst gridElement = useBlockElement( clientId );\n\n\tif ( isDistractionFree || ! gridElement ) {\n\t\treturn null;\n\t}\n\n\tconst isManualGrid =\n\t\tparentLayout?.isManualPlacement &&\n\t\twindow.__experimentalEnableGridInteractivity;\n\treturn (\n\t\t<GridVisualizerGrid\n\t\t\tgridClientId={ clientId }\n\t\t\tgridElement={ gridElement }\n\t\t\tisManualGrid={ isManualGrid }\n\t\t\tref={ contentRef }\n\t\t/>\n\t);\n}\n\nconst GridVisualizerGrid = forwardRef(\n\t( { gridClientId, gridElement, isManualGrid }, ref ) => {\n\t\tconst [ gridInfo, setGridInfo ] = useState( () =>\n\t\t\tgetGridInfo( gridElement )\n\t\t);\n\t\tconst [ isDroppingAllowed, setIsDroppingAllowed ] = useState( false );\n\n\t\tuseEffect( () => {\n\t\t\tconst observers = [];\n\t\t\tfor ( const element of [ gridElement, ...gridElement.children ] ) {\n\t\t\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\t\t\tsetGridInfo( getGridInfo( gridElement ) );\n\t\t\t\t} );\n\t\t\t\tobserver.observe( element );\n\t\t\t\tobservers.push( observer );\n\t\t\t}\n\n\t\t\tconst mutationObserver = new window.MutationObserver( () => {\n\t\t\t\tsetGridInfo( getGridInfo( gridElement ) );\n\t\t\t} );\n\t\t\tmutationObserver.observe( gridElement, {\n\t\t\t\tattributeFilter: [ 'style', 'class' ],\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t} );\n\t\t\tobservers.push( mutationObserver );\n\n\t\t\treturn () => {\n\t\t\t\tfor ( const observer of observers ) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t}\n\t\t\t};\n\t\t}, [ gridElement ] );\n\n\t\tuseEffect( () => {\n\t\t\tfunction onGlobalDrag() {\n\t\t\t\tsetIsDroppingAllowed( true );\n\t\t\t}\n\t\t\tfunction onGlobalDragEnd() {\n\t\t\t\tsetIsDroppingAllowed( false );\n\t\t\t}\n\t\t\tdocument.addEventListener( 'drag', onGlobalDrag );\n\t\t\tdocument.addEventListener( 'dragend', onGlobalDragEnd );\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener( 'drag', onGlobalDrag );\n\t\t\t\tdocument.removeEventListener( 'dragend', onGlobalDragEnd );\n\t\t\t};\n\t\t}, [] );\n\n\t\treturn (\n\t\t\t<BlockPopoverCover\n\t\t\t\tclassName={ clsx( 'block-editor-grid-visualizer', {\n\t\t\t\t\t'is-dropping-allowed': isDroppingAllowed,\n\t\t\t\t} ) }\n\t\t\t\tclientId={ gridClientId }\n\t\t\t\t__unstablePopoverSlot=\"__unstable-block-tools-after\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName=\"block-editor-grid-visualizer__grid\"\n\t\t\t\t\tstyle={ gridInfo.style }\n\t\t\t\t>\n\t\t\t\t\t{ isManualGrid ? (\n\t\t\t\t\t\t<ManualGridVisualizer\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tArray.from( { length: gridInfo.numItems }, ( _, i ) => (\n\t\t\t\t\t\t\t<GridVisualizerCell\n\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) )\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BlockPopoverCover>\n\t\t);\n\t}\n);\n\nfunction ManualGridVisualizer( { gridClientId, gridInfo } ) {\n\tconst [ highlightedRect, setHighlightedRect ] = useState( null );\n\n\tconst gridItemStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder, getBlockStyles } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst blockOrder = getBlockOrder( gridClientId );\n\t\t\treturn getBlockStyles( blockOrder );\n\t\t},\n\t\t[ gridClientId ]\n\t);\n\tconst occupiedRects = useMemo( () => {\n\t\tconst rects = [];\n\t\tfor ( const style of Object.values( gridItemStyles ) ) {\n\t\t\tconst {\n\t\t\t\tcolumnStart,\n\t\t\t\trowStart,\n\t\t\t\tcolumnSpan = 1,\n\t\t\t\trowSpan = 1,\n\t\t\t} = style?.layout ?? {};\n\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\trects.push(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t\treturn rects;\n\t}, [ gridItemStyles ] );\n\n\treturn range( 1, gridInfo.numRows ).map( ( row ) =>\n\t\trange( 1, gridInfo.numColumns ).map( ( column ) => {\n\t\t\tconst isCellOccupied = occupiedRects.some( ( rect ) =>\n\t\t\t\trect.contains( column, row )\n\t\t\t);\n\t\t\tconst isHighlighted =\n\t\t\t\thighlightedRect?.contains( column, row ) ?? false;\n\t\t\treturn (\n\t\t\t\t<GridVisualizerCell\n\t\t\t\t\tkey={ `${ row }-${ column }` }\n\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\tclassName={ isHighlighted && 'is-highlighted' }\n\t\t\t\t>\n\t\t\t\t\t{ isCellOccupied ? (\n\t\t\t\t\t\t<GridVisualizerDropZone\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<GridVisualizerAppender\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</GridVisualizerCell>\n\t\t\t);\n\t\t} )\n\t);\n}\n\nfunction GridVisualizerCell( { color, children, className } ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-grid-visualizer__cell',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tboxShadow: `inset 0 0 0 1px color-mix(in srgb, ${ color } 20%, #0000)`,\n\t\t\t\tcolor,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction useGridVisualizerDropZone(\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect\n) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockRootClientId,\n\t\tcanInsertBlockType,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn useDropZoneWithValidation( {\n\t\tvalidateDrag( srcClientId ) {\n\t\t\tconst blockName = getBlockName( srcClientId );\n\t\t\tif ( ! canInsertBlockType( blockName, gridClientId ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tconst rect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t} );\n\t\t\tconst isInBounds = new GridRect( {\n\t\t\t\tcolumnSpan: gridInfo.numColumns,\n\t\t\t\trowSpan: gridInfo.numRows,\n\t\t\t} ).containsRect( rect );\n\t\t\treturn isInBounds;\n\t\t},\n\t\tonDragEnter( srcClientId ) {\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tsetHighlightedRect(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\trowStart: row,\n\t\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tonDragLeave() {\n\t\t\t// onDragEnter can be called before onDragLeave if the user moves\n\t\t\t// their mouse quickly, so only clear the highlight if it was set\n\t\t\t// by this cell.\n\t\t\tsetHighlightedRect( ( prevHighlightedRect ) =>\n\t\t\t\tprevHighlightedRect?.columnStart === column &&\n\t\t\t\tprevHighlightedRect?.rowStart === row\n\t\t\t\t\t? null\n\t\t\t\t\t: prevHighlightedRect\n\t\t\t);\n\t\t},\n\t\tonDrop( srcClientId ) {\n\t\t\tsetHighlightedRect( null );\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tupdateBlockAttributes( srcClientId, {\n\t\t\t\tstyle: {\n\t\t\t\t\t...attributes.style,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tmoveBlocksToPosition(\n\t\t\t\t[ srcClientId ],\n\t\t\t\tgetBlockRootClientId( srcClientId ),\n\t\t\t\tgridClientId,\n\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t);\n\t\t},\n\t} );\n}\n\nfunction GridVisualizerDropZone( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-grid-visualizer__drop-zone\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction GridVisualizerAppender( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn (\n\t\t<ButtonBlockAppender\n\t\t\trootClientId={ gridClientId }\n\t\t\tclassName=\"block-editor-grid-visualizer__appender\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tcolor: gridInfo.currentColor,\n\t\t\t} }\n\t\t\tonSelect={ ( block ) => {\n\t\t\t\tif ( ! block ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t[ block.clientId ],\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction useDropZoneWithValidation( {\n\tvalidateDrag,\n\tonDragEnter,\n\tonDragLeave,\n\tonDrop,\n} ) {\n\tconst { getDraggedBlockClientIds } = useSelect( blockEditorStore );\n\treturn useDropZone( {\n\t\tonDragEnter() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDragEnter( srcClientId );\n\t\t\t}\n\t\t},\n\t\tonDragLeave() {\n\t\t\tonDragLeave();\n\t\t},\n\t\tonDrop() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDrop( srcClientId );\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","useEffect","forwardRef","useMemo","useSelect","useDispatch","__experimentalUseDropZone","useDropZone","useBlockElement","BlockPopoverCover","range","GridRect","getGridInfo","store","blockEditorStore","useGetNumberOfBlocksBeforeCell","ButtonBlockAppender","unlock","jsx","_jsx","GridVisualizer","clientId","contentRef","parentLayout","isDistractionFree","select","getSettings","gridElement","isManualGrid","isManualPlacement","window","__experimentalEnableGridInteractivity","GridVisualizerGrid","gridClientId","ref","gridInfo","setGridInfo","isDroppingAllowed","setIsDroppingAllowed","resizeCallback","borderBoxSpy","ResizeObserver","observe","box","contentBoxSpy","disconnect","onGlobalDrag","onGlobalDragEnd","document","addEventListener","removeEventListener","className","__unstablePopoverSlot","children","style","ManualGridVisualizer","Array","from","length","numItems","_","i","GridVisualizerCell","color","currentColor","highlightedRect","setHighlightedRect","gridItemStyles","getBlockOrder","getBlockStyles","blockOrder","occupiedRects","rects","Object","values","_style$layout","columnStart","rowStart","columnSpan","rowSpan","layout","push","numRows","map","row","numColumns","column","_highlightedRect$cont","isCellOccupied","some","rect","contains","isHighlighted","GridVisualizerDropZone","GridVisualizerAppender","boxShadow","useGridVisualizerDropZone","getBlockAttributes","getBlockRootClientId","canInsertBlockType","getBlockName","updateBlockAttributes","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","getNumberOfBlocksBeforeCell","useDropZoneWithValidation","validateDrag","srcClientId","blockName","attributes","isInBounds","containsRect","onDragEnter","onDragLeave","prevHighlightedRect","onDrop","rootClientId","onSelect","block","getDraggedBlockClientIds"],"sources":["@wordpress/block-editor/src/components/grid/grid-visualizer.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __experimentalUseDropZone as useDropZone } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { range, GridRect, getGridInfo } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport { useGetNumberOfBlocksBeforeCell } from './use-get-number-of-blocks-before-cell';\nimport ButtonBlockAppender from '../button-block-appender';\nimport { unlock } from '../../lock-unlock';\n\nexport function GridVisualizer( { clientId, contentRef, parentLayout } ) {\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\tconst gridElement = useBlockElement( clientId );\n\n\tif ( isDistractionFree || ! gridElement ) {\n\t\treturn null;\n\t}\n\n\tconst isManualGrid =\n\t\tparentLayout?.isManualPlacement &&\n\t\twindow.__experimentalEnableGridInteractivity;\n\treturn (\n\t\t<GridVisualizerGrid\n\t\t\tgridClientId={ clientId }\n\t\t\tgridElement={ gridElement }\n\t\t\tisManualGrid={ isManualGrid }\n\t\t\tref={ contentRef }\n\t\t/>\n\t);\n}\n\nconst GridVisualizerGrid = forwardRef(\n\t( { gridClientId, gridElement, isManualGrid }, ref ) => {\n\t\tconst [ gridInfo, setGridInfo ] = useState( () =>\n\t\t\tgetGridInfo( gridElement )\n\t\t);\n\t\tconst [ isDroppingAllowed, setIsDroppingAllowed ] = useState( false );\n\n\t\tuseEffect( () => {\n\t\t\tconst resizeCallback = () =>\n\t\t\t\tsetGridInfo( getGridInfo( gridElement ) );\n\t\t\t// Both border-box and content-box are observed as they may change\n\t\t\t// independently. This requires two observers because a single one\n\t\t\t// can’t be made to monitor both on the same element.\n\t\t\tconst borderBoxSpy = new window.ResizeObserver( resizeCallback );\n\t\t\tborderBoxSpy.observe( gridElement, { box: 'border-box' } );\n\t\t\tconst contentBoxSpy = new window.ResizeObserver( resizeCallback );\n\t\t\tcontentBoxSpy.observe( gridElement );\n\t\t\treturn () => {\n\t\t\t\tborderBoxSpy.disconnect();\n\t\t\t\tcontentBoxSpy.disconnect();\n\t\t\t};\n\t\t}, [ gridElement ] );\n\n\t\tuseEffect( () => {\n\t\t\tfunction onGlobalDrag() {\n\t\t\t\tsetIsDroppingAllowed( true );\n\t\t\t}\n\t\t\tfunction onGlobalDragEnd() {\n\t\t\t\tsetIsDroppingAllowed( false );\n\t\t\t}\n\t\t\tdocument.addEventListener( 'drag', onGlobalDrag );\n\t\t\tdocument.addEventListener( 'dragend', onGlobalDragEnd );\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener( 'drag', onGlobalDrag );\n\t\t\t\tdocument.removeEventListener( 'dragend', onGlobalDragEnd );\n\t\t\t};\n\t\t}, [] );\n\n\t\treturn (\n\t\t\t<BlockPopoverCover\n\t\t\t\tclassName={ clsx( 'block-editor-grid-visualizer', {\n\t\t\t\t\t'is-dropping-allowed': isDroppingAllowed,\n\t\t\t\t} ) }\n\t\t\t\tclientId={ gridClientId }\n\t\t\t\t__unstablePopoverSlot=\"__unstable-block-tools-after\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName=\"block-editor-grid-visualizer__grid\"\n\t\t\t\t\tstyle={ gridInfo.style }\n\t\t\t\t>\n\t\t\t\t\t{ isManualGrid ? (\n\t\t\t\t\t\t<ManualGridVisualizer\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tArray.from( { length: gridInfo.numItems }, ( _, i ) => (\n\t\t\t\t\t\t\t<GridVisualizerCell\n\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) )\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BlockPopoverCover>\n\t\t);\n\t}\n);\n\nfunction ManualGridVisualizer( { gridClientId, gridInfo } ) {\n\tconst [ highlightedRect, setHighlightedRect ] = useState( null );\n\n\tconst gridItemStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder, getBlockStyles } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst blockOrder = getBlockOrder( gridClientId );\n\t\t\treturn getBlockStyles( blockOrder );\n\t\t},\n\t\t[ gridClientId ]\n\t);\n\tconst occupiedRects = useMemo( () => {\n\t\tconst rects = [];\n\t\tfor ( const style of Object.values( gridItemStyles ) ) {\n\t\t\tconst {\n\t\t\t\tcolumnStart,\n\t\t\t\trowStart,\n\t\t\t\tcolumnSpan = 1,\n\t\t\t\trowSpan = 1,\n\t\t\t} = style?.layout ?? {};\n\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\trects.push(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t\treturn rects;\n\t}, [ gridItemStyles ] );\n\n\treturn range( 1, gridInfo.numRows ).map( ( row ) =>\n\t\trange( 1, gridInfo.numColumns ).map( ( column ) => {\n\t\t\tconst isCellOccupied = occupiedRects.some( ( rect ) =>\n\t\t\t\trect.contains( column, row )\n\t\t\t);\n\t\t\tconst isHighlighted =\n\t\t\t\thighlightedRect?.contains( column, row ) ?? false;\n\t\t\treturn (\n\t\t\t\t<GridVisualizerCell\n\t\t\t\t\tkey={ `${ row }-${ column }` }\n\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\tclassName={ isHighlighted && 'is-highlighted' }\n\t\t\t\t>\n\t\t\t\t\t{ isCellOccupied ? (\n\t\t\t\t\t\t<GridVisualizerDropZone\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<GridVisualizerAppender\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</GridVisualizerCell>\n\t\t\t);\n\t\t} )\n\t);\n}\n\nfunction GridVisualizerCell( { color, children, className } ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-grid-visualizer__cell',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tboxShadow: `inset 0 0 0 1px color-mix(in srgb, ${ color } 20%, #0000)`,\n\t\t\t\tcolor,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction useGridVisualizerDropZone(\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect\n) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockRootClientId,\n\t\tcanInsertBlockType,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn useDropZoneWithValidation( {\n\t\tvalidateDrag( srcClientId ) {\n\t\t\tconst blockName = getBlockName( srcClientId );\n\t\t\tif ( ! canInsertBlockType( blockName, gridClientId ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tconst rect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t} );\n\t\t\tconst isInBounds = new GridRect( {\n\t\t\t\tcolumnSpan: gridInfo.numColumns,\n\t\t\t\trowSpan: gridInfo.numRows,\n\t\t\t} ).containsRect( rect );\n\t\t\treturn isInBounds;\n\t\t},\n\t\tonDragEnter( srcClientId ) {\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tsetHighlightedRect(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\trowStart: row,\n\t\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tonDragLeave() {\n\t\t\t// onDragEnter can be called before onDragLeave if the user moves\n\t\t\t// their mouse quickly, so only clear the highlight if it was set\n\t\t\t// by this cell.\n\t\t\tsetHighlightedRect( ( prevHighlightedRect ) =>\n\t\t\t\tprevHighlightedRect?.columnStart === column &&\n\t\t\t\tprevHighlightedRect?.rowStart === row\n\t\t\t\t\t? null\n\t\t\t\t\t: prevHighlightedRect\n\t\t\t);\n\t\t},\n\t\tonDrop( srcClientId ) {\n\t\t\tsetHighlightedRect( null );\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tupdateBlockAttributes( srcClientId, {\n\t\t\t\tstyle: {\n\t\t\t\t\t...attributes.style,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tmoveBlocksToPosition(\n\t\t\t\t[ srcClientId ],\n\t\t\t\tgetBlockRootClientId( srcClientId ),\n\t\t\t\tgridClientId,\n\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t);\n\t\t},\n\t} );\n}\n\nfunction GridVisualizerDropZone( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-grid-visualizer__drop-zone\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction GridVisualizerAppender( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn (\n\t\t<ButtonBlockAppender\n\t\t\trootClientId={ gridClientId }\n\t\t\tclassName=\"block-editor-grid-visualizer__appender\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tcolor: gridInfo.currentColor,\n\t\t\t} }\n\t\t\tonSelect={ ( block ) => {\n\t\t\t\tif ( ! block ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t[ block.clientId ],\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction useDropZoneWithValidation( {\n\tvalidateDrag,\n\tonDragEnter,\n\tonDragLeave,\n\tonDrop,\n} ) {\n\tconst { getDraggedBlockClientIds } = useSelect( blockEditorStore );\n\treturn useDropZone( {\n\t\tonDragEnter() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDragEnter( srcClientId );\n\t\t\t}\n\t\t},\n\t\tonDragLeave() {\n\t\t\tonDragLeave();\n\t\t},\n\t\tonDrop() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDrop( srcClientId );\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","useEffect","useMemo","usePrevious","store","blockEditorStore","GridRect","setImmutably","useGridLayoutSync","clientId","gridClientId","gridLayout","blockOrder","selectedBlockLayout","select","_getBlockAttributes$l","getBlockAttributes","getBlockOrder","selectedBlock","getSelectedBlock","layout","attributes","style","getBlockRootClientId","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","selectedBlockRect","previouslySelectedBlockRect","previousIsManualPlacement","isManualPlacement","previousBlockOrder","updates","occupiedRects","_getBlockAttributes$s","columnStart","rowStart","columnSpan","rowSpan","push","_attributes$style$lay","newColumnStart","newRowStart","placeBlock","columnCount","columnEnd","rowEnd","bottomMostRow","Math","max","map","r","rowCount","includes","_attributes$style$lay2","rootClientId","rootAttributes","type","hasEmptyLayoutAttribute","Object","keys","length","undefined","_attributes$style$lay3","gridColumnCount","blockColumnSpan","blockRowSpan","startColumn","startRow","row","column","candidateRect","some","intersectsRect"],"sources":["@wordpress/block-editor/src/components/grid/use-grid-layout-sync.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { GridRect } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nexport function useGridLayoutSync( { clientId: gridClientId } ) {\n\tconst { gridLayout, blockOrder, selectedBlockLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlock = select( blockEditorStore ).getSelectedBlock();\n\t\t\treturn {\n\t\t\t\tgridLayout: getBlockAttributes( gridClientId ).layout ?? {},\n\t\t\t\tblockOrder: getBlockOrder( gridClientId ),\n\t\t\t\tselectedBlockLayout: selectedBlock?.attributes.style?.layout,\n\t\t\t};\n\t\t},\n\t\t[ gridClientId ]\n\t);\n\n\tconst { getBlockAttributes, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst selectedBlockRect = useMemo(\n\t\t() =>\n\t\t\tselectedBlockLayout ? new GridRect( selectedBlockLayout ) : null,\n\t\t[ selectedBlockLayout ]\n\t);\n\n\tconst previouslySelectedBlockRect = usePrevious( selectedBlockRect );\n\tconst previousIsManualPlacement = usePrevious(\n\t\tgridLayout.isManualPlacement\n\t);\n\tconst previousBlockOrder = usePrevious( blockOrder );\n\n\tuseEffect( () => {\n\t\tconst updates = {};\n\n\t\tif ( gridLayout.isManualPlacement ) {\n\t\t\tconst occupiedRects = [];\n\n\t\t\t// Respect the position of blocks that already have a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = getBlockAttributes( clientId ).style?.layout ?? {};\n\t\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\toccupiedRects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\trowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// When in manual mode, ensure that every block has a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = attributes.style?.layout ?? {};\n\t\t\t\tif ( columnStart && rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst [ newColumnStart, newRowStart ] = placeBlock(\n\t\t\t\t\toccupiedRects,\n\t\t\t\t\tgridLayout.columnCount,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan,\n\t\t\t\t\tpreviouslySelectedBlockRect?.columnEnd,\n\t\t\t\t\tpreviouslySelectedBlockRect?.rowEnd\n\t\t\t\t);\n\t\t\t\toccupiedRects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\tupdates[ clientId ] = {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Ensure there's enough rows to fit all blocks.\n\t\t\tconst bottomMostRow = Math.max(\n\t\t\t\t...occupiedRects.map( ( r ) => r.rowEnd )\n\t\t\t);\n\t\t\tif (\n\t\t\t\t! gridLayout.rowCount ||\n\t\t\t\tgridLayout.rowCount < bottomMostRow\n\t\t\t) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: bottomMostRow,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Unset grid layout attributes for blocks removed from the grid.\n\t\t\tfor ( const clientId of previousBlockOrder ?? [] ) {\n\t\t\t\tif ( ! blockOrder.includes( clientId ) ) {\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\t// Block was removed from the editor, so nothing to do.\n\t\t\t\t\tif ( rootClientId === null ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check if the block is being moved to another grid.\n\t\t\t\t\t// If so, do nothing and let the new grid parent handle\n\t\t\t\t\t// the attributes.\n\t\t\t\t\tconst rootAttributes = getBlockAttributes( rootClientId );\n\t\t\t\t\tif ( rootAttributes?.layout?.type === 'grid' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\t\tconst {\n\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\trowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t...layout\n\t\t\t\t\t} = attributes.style?.layout ?? {};\n\n\t\t\t\t\tif ( columnStart || rowStart || columnSpan || rowSpan ) {\n\t\t\t\t\t\tconst hasEmptyLayoutAttribute =\n\t\t\t\t\t\t\tObject.keys( layout ).length === 0;\n\n\t\t\t\t\t\tupdates[ clientId ] = setImmutably(\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t[ 'style', 'layout' ],\n\t\t\t\t\t\t\thasEmptyLayoutAttribute ? undefined : layout\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Remove all of the columnStart and rowStart values\n\t\t\t// when switching from manual to auto mode,\n\t\t\tif ( previousIsManualPlacement === true ) {\n\t\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\t\tconst { columnStart, rowStart, ...layout } =\n\t\t\t\t\t\tattributes.style?.layout ?? {};\n\t\t\t\t\t// Only update attributes if columnStart or rowStart are set.\n\t\t\t\t\tif ( columnStart || rowStart ) {\n\t\t\t\t\t\tconst hasEmptyLayoutAttribute =\n\t\t\t\t\t\t\tObject.keys( layout ).length === 0;\n\n\t\t\t\t\t\tupdates[ clientId ] = setImmutably(\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t[ 'style', 'layout' ],\n\t\t\t\t\t\t\thasEmptyLayoutAttribute ? undefined : layout\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove row styles in auto mode\n\t\t\tif ( gridLayout.rowCount ) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: undefined,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( Object.keys( updates ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes(\n\t\t\t\tObject.keys( updates ),\n\t\t\t\tupdates,\n\t\t\t\t/* uniqueByBlock: */ true\n\t\t\t);\n\t\t}\n\t}, [\n\t\t// Actual deps to sync:\n\t\tgridClientId,\n\t\tgridLayout,\n\t\tpreviousBlockOrder,\n\t\tblockOrder,\n\t\tpreviouslySelectedBlockRect,\n\t\tpreviousIsManualPlacement,\n\t\t// These won't change, but the linter thinks they might:\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tgetBlockAttributes,\n\t\tgetBlockRootClientId,\n\t\tupdateBlockAttributes,\n\t] );\n}\n\n/**\n * @param {GridRect[]} occupiedRects\n * @param {number} gridColumnCount\n * @param {number} blockColumnSpan\n * @param {number} blockRowSpan\n * @param {number?} startColumn\n * @param {number?} startRow\n */\nfunction placeBlock(\n\toccupiedRects,\n\tgridColumnCount,\n\tblockColumnSpan,\n\tblockRowSpan,\n\tstartColumn = 1,\n\tstartRow = 1\n) {\n\tfor ( let row = startRow; ; row++ ) {\n\t\tfor (\n\t\t\tlet column = row === startRow ? startColumn : 1;\n\t\t\tcolumn <= gridColumnCount;\n\t\t\tcolumn++\n\t\t) {\n\t\t\tconst candidateRect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan: blockColumnSpan,\n\t\t\t\trowSpan: blockRowSpan,\n\t\t\t} );\n\t\t\tif (\n\t\t\t\t! occupiedRects.some( ( r ) =>\n\t\t\t\t\tr.intersectsRect( candidateRect )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn [ column, row ];\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useDispatch","useSelect","useEffect","useMemo","usePrevious","store","blockEditorStore","GridRect","setImmutably","useGridLayoutSync","clientId","gridClientId","gridLayout","blockOrder","selectedBlockLayout","select","_getBlockAttributes$l","getBlockAttributes","getBlockOrder","selectedBlock","getSelectedBlock","layout","attributes","style","getBlockRootClientId","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","selectedBlockRect","previouslySelectedBlockRect","previousIsManualPlacement","isManualPlacement","previousBlockOrder","updates","occupiedRects","_getBlockAttributes$s","columnStart","rowStart","columnSpan","rowSpan","push","_attributes$style$lay","newColumnStart","newRowStart","placeBlock","columnCount","columnEnd","rowEnd","bottomMostRow","Math","max","map","r","rowCount","includes","_attributes$style$lay2","rootClientId","rootAttributes","type","hasEmptyLayoutAttribute","Object","keys","length","undefined","_attributes$style$lay3","gridColumnCount","blockColumnSpan","blockRowSpan","startColumn","startRow","row","column","candidateRect","some","intersectsRect"],"sources":["@wordpress/block-editor/src/components/grid/use-grid-layout-sync.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { GridRect } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nexport function useGridLayoutSync( { clientId: gridClientId } ) {\n\tconst { gridLayout, blockOrder, selectedBlockLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlock = select( blockEditorStore ).getSelectedBlock();\n\t\t\treturn {\n\t\t\t\tgridLayout: getBlockAttributes( gridClientId ).layout ?? {},\n\t\t\t\tblockOrder: getBlockOrder( gridClientId ),\n\t\t\t\tselectedBlockLayout: selectedBlock?.attributes.style?.layout,\n\t\t\t};\n\t\t},\n\t\t[ gridClientId ]\n\t);\n\n\tconst { getBlockAttributes, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst selectedBlockRect = useMemo(\n\t\t() =>\n\t\t\tselectedBlockLayout ? new GridRect( selectedBlockLayout ) : null,\n\t\t[ selectedBlockLayout ]\n\t);\n\n\tconst previouslySelectedBlockRect = usePrevious( selectedBlockRect );\n\tconst previousIsManualPlacement = usePrevious(\n\t\tgridLayout.isManualPlacement\n\t);\n\tconst previousBlockOrder = usePrevious( blockOrder );\n\n\tuseEffect( () => {\n\t\tconst updates = {};\n\n\t\tif ( gridLayout.isManualPlacement ) {\n\t\t\tconst occupiedRects = [];\n\n\t\t\t// Respect the position of blocks that already have a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = getBlockAttributes( clientId ).style?.layout ?? {};\n\t\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\toccupiedRects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\trowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// When in manual mode, ensure that every block has a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = attributes.style?.layout ?? {};\n\t\t\t\tif ( columnStart && rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst [ newColumnStart, newRowStart ] = placeBlock(\n\t\t\t\t\toccupiedRects,\n\t\t\t\t\tgridLayout.columnCount,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan,\n\t\t\t\t\tpreviouslySelectedBlockRect?.columnEnd,\n\t\t\t\t\tpreviouslySelectedBlockRect?.rowEnd\n\t\t\t\t);\n\t\t\t\toccupiedRects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\tupdates[ clientId ] = {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Ensure there's enough rows to fit all blocks.\n\t\t\tconst bottomMostRow = Math.max(\n\t\t\t\t...occupiedRects.map( ( r ) => r.rowEnd )\n\t\t\t);\n\t\t\tif (\n\t\t\t\t! gridLayout.rowCount ||\n\t\t\t\tgridLayout.rowCount < bottomMostRow\n\t\t\t) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: bottomMostRow,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Unset grid layout attributes for blocks removed from the grid.\n\t\t\tfor ( const clientId of previousBlockOrder ?? [] ) {\n\t\t\t\tif ( ! blockOrder.includes( clientId ) ) {\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\t// Block was removed from the editor, so nothing to do.\n\t\t\t\t\tif ( rootClientId === null ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check if the block is being moved to another grid.\n\t\t\t\t\t// If so, do nothing and let the new grid parent handle\n\t\t\t\t\t// the attributes.\n\t\t\t\t\tconst rootAttributes = getBlockAttributes( rootClientId );\n\t\t\t\t\tif ( rootAttributes?.layout?.type === 'grid' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\t\tconst {\n\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\trowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t...layout\n\t\t\t\t\t} = attributes.style?.layout ?? {};\n\n\t\t\t\t\tif ( columnStart || rowStart || columnSpan || rowSpan ) {\n\t\t\t\t\t\tconst hasEmptyLayoutAttribute =\n\t\t\t\t\t\t\tObject.keys( layout ).length === 0;\n\n\t\t\t\t\t\tupdates[ clientId ] = setImmutably(\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t[ 'style', 'layout' ],\n\t\t\t\t\t\t\thasEmptyLayoutAttribute ? undefined : layout\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Remove all of the columnStart and rowStart values\n\t\t\t// when switching from manual to auto mode,\n\t\t\tif ( previousIsManualPlacement === true ) {\n\t\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\t\tconst { columnStart, rowStart, ...layout } =\n\t\t\t\t\t\tattributes.style?.layout ?? {};\n\t\t\t\t\t// Only update attributes if columnStart or rowStart are set.\n\t\t\t\t\tif ( columnStart || rowStart ) {\n\t\t\t\t\t\tconst hasEmptyLayoutAttribute =\n\t\t\t\t\t\t\tObject.keys( layout ).length === 0;\n\n\t\t\t\t\t\tupdates[ clientId ] = setImmutably(\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t[ 'style', 'layout' ],\n\t\t\t\t\t\t\thasEmptyLayoutAttribute ? undefined : layout\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove row styles in auto mode\n\t\t\tif ( gridLayout.rowCount ) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: undefined,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( Object.keys( updates ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes(\n\t\t\t\tObject.keys( updates ),\n\t\t\t\tupdates,\n\t\t\t\t/* uniqueByBlock: */ true\n\t\t\t);\n\t\t}\n\t}, [\n\t\t// Actual deps to sync:\n\t\tgridClientId,\n\t\tgridLayout,\n\t\tpreviousBlockOrder,\n\t\tblockOrder,\n\t\tpreviouslySelectedBlockRect,\n\t\tpreviousIsManualPlacement,\n\t\t// These won't change, but the linter thinks they might:\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tgetBlockAttributes,\n\t\tgetBlockRootClientId,\n\t\tupdateBlockAttributes,\n\t] );\n}\n\n/**\n * @param {GridRect[]} occupiedRects\n * @param {number} gridColumnCount\n * @param {number} blockColumnSpan\n * @param {number} blockRowSpan\n * @param {number?} startColumn\n * @param {number?} startRow\n */\nfunction placeBlock(\n\toccupiedRects,\n\tgridColumnCount,\n\tblockColumnSpan,\n\tblockRowSpan,\n\tstartColumn = 1,\n\tstartRow = 1\n) {\n\tfor ( let row = startRow; ; row++ ) {\n\t\tfor (\n\t\t\tlet column = row === startRow ? startColumn : 1;\n\t\t\tcolumn <= gridColumnCount;\n\t\t\tcolumn++\n\t\t) {\n\t\t\tconst candidateRect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan: blockColumnSpan,\n\t\t\t\trowSpan: blockRowSpan,\n\t\t\t} );\n\t\t\tif (\n\t\t\t\t! occupiedRects.some( ( r ) =>\n\t\t\t\t\tr.intersectsRect( candidateRect )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn [ column, row ];\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  export function range(start, length) {
3
2
  return Array.from({
4
3
  length
@@ -133,10 +132,12 @@ export function getGridInfo(gridElement) {
133
132
  gridTemplateColumns,
134
133
  gridTemplateRows,
135
134
  gap: getComputedCSS(gridElement, 'gap'),
136
- paddingTop: `calc(${paddingTop} + ${borderTopWidth})`,
137
- paddingRight: `calc(${paddingRight} + ${borderRightWidth})`,
138
- paddingBottom: `calc(${paddingBottom} + ${borderBottomWidth})`,
139
- paddingLeft: `calc(${paddingLeft} + ${borderLeftWidth})`
135
+ inset: `
136
+ calc(${paddingTop} + ${borderTopWidth})
137
+ calc(${paddingRight} + ${borderRightWidth})
138
+ calc(${paddingBottom} + ${borderBottomWidth})
139
+ calc(${paddingLeft} + ${borderLeftWidth})
140
+ `
140
141
  }
141
142
  };
142
143
  }
@@ -1 +1 @@
1
- {"version":3,"names":["range","start","length","Array","from","_","i","GridRect","constructor","columnStart","rowStart","columnEnd","rowEnd","columnSpan","rowSpan","undefined","contains","column","row","containsRect","rect","intersectsRect","getComputedCSS","element","property","ownerDocument","defaultView","getComputedStyle","getPropertyValue","getGridTracks","template","gap","tracks","size","split","previousTrack","end","parseFloat","push","getClosestTrack","position","edge","reduce","closest","track","index","Math","abs","getGridRect","gridElement","columnGap","rowGap","gridColumnTracks","gridRowTracks","left","top","right","bottom","getGridItemRect","gridItemElement","parentElement","window","DOMRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getGridInfo","gridTemplateColumns","gridTemplateRows","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","paddingTop","paddingRight","paddingBottom","paddingLeft","numColumns","numRows","numItems","currentColor","style"],"sources":["@wordpress/block-editor/src/components/grid/utils.js"],"sourcesContent":["export function range( start, length ) {\n\treturn Array.from( { length }, ( _, i ) => start + i );\n}\n\nexport class GridRect {\n\tconstructor( {\n\t\tcolumnStart,\n\t\trowStart,\n\t\tcolumnEnd,\n\t\trowEnd,\n\t\tcolumnSpan,\n\t\trowSpan,\n\t} = {} ) {\n\t\tthis.columnStart = columnStart ?? 1;\n\t\tthis.rowStart = rowStart ?? 1;\n\t\tif ( columnSpan !== undefined ) {\n\t\t\tthis.columnEnd = this.columnStart + columnSpan - 1;\n\t\t} else {\n\t\t\tthis.columnEnd = columnEnd ?? this.columnStart;\n\t\t}\n\t\tif ( rowSpan !== undefined ) {\n\t\t\tthis.rowEnd = this.rowStart + rowSpan - 1;\n\t\t} else {\n\t\t\tthis.rowEnd = rowEnd ?? this.rowStart;\n\t\t}\n\t}\n\n\tget columnSpan() {\n\t\treturn this.columnEnd - this.columnStart + 1;\n\t}\n\n\tget rowSpan() {\n\t\treturn this.rowEnd - this.rowStart + 1;\n\t}\n\n\tcontains( column, row ) {\n\t\treturn (\n\t\t\tcolumn >= this.columnStart &&\n\t\t\tcolumn <= this.columnEnd &&\n\t\t\trow >= this.rowStart &&\n\t\t\trow <= this.rowEnd\n\t\t);\n\t}\n\n\tcontainsRect( rect ) {\n\t\treturn (\n\t\t\tthis.contains( rect.columnStart, rect.rowStart ) &&\n\t\t\tthis.contains( rect.columnEnd, rect.rowEnd )\n\t\t);\n\t}\n\n\tintersectsRect( rect ) {\n\t\treturn (\n\t\t\tthis.columnStart <= rect.columnEnd &&\n\t\t\tthis.columnEnd >= rect.columnStart &&\n\t\t\tthis.rowStart <= rect.rowEnd &&\n\t\t\tthis.rowEnd >= rect.rowStart\n\t\t);\n\t}\n}\n\nexport function getComputedCSS( element, property ) {\n\treturn element.ownerDocument.defaultView\n\t\t.getComputedStyle( element )\n\t\t.getPropertyValue( property );\n}\n\n/**\n * Given a grid-template-columns or grid-template-rows CSS property value, gets the start and end\n * position in pixels of each grid track.\n *\n * https://css-tricks.com/snippets/css/complete-guide-grid/#aa-grid-track\n *\n * @param {string} template The grid-template-columns or grid-template-rows CSS property value.\n * Only supports fixed sizes in pixels.\n * @param {number} gap The gap between grid tracks in pixels.\n *\n * @return {Array<{start: number, end: number}>} An array of objects with the start and end\n * position in pixels of each grid track.\n */\nexport function getGridTracks( template, gap ) {\n\tconst tracks = [];\n\tfor ( const size of template.split( ' ' ) ) {\n\t\tconst previousTrack = tracks[ tracks.length - 1 ];\n\t\tconst start = previousTrack ? previousTrack.end + gap : 0;\n\t\tconst end = start + parseFloat( size );\n\t\ttracks.push( { start, end } );\n\t}\n\treturn tracks;\n}\n\n/**\n * Given an array of grid tracks and a position in pixels, gets the index of the closest track to\n * that position.\n *\n * https://css-tricks.com/snippets/css/complete-guide-grid/#aa-grid-track\n *\n * @param {Array<{start: number, end: number}>} tracks An array of objects with the start and end\n * position in pixels of each grid track.\n * @param {number} position The position in pixels.\n * @param {string} edge The edge of the track to compare the\n * position to. Either 'start' or 'end'.\n *\n * @return {number} The index of the closest track to the position. 0-based, unlike CSS grid which\n * is 1-based.\n */\nexport function getClosestTrack( tracks, position, edge = 'start' ) {\n\treturn tracks.reduce(\n\t\t( closest, track, index ) =>\n\t\t\tMath.abs( track[ edge ] - position ) <\n\t\t\tMath.abs( tracks[ closest ][ edge ] - position )\n\t\t\t\t? index\n\t\t\t\t: closest,\n\t\t0\n\t);\n}\n\nexport function getGridRect( gridElement, rect ) {\n\tconst columnGap = parseFloat( getComputedCSS( gridElement, 'column-gap' ) );\n\tconst rowGap = parseFloat( getComputedCSS( gridElement, 'row-gap' ) );\n\tconst gridColumnTracks = getGridTracks(\n\t\tgetComputedCSS( gridElement, 'grid-template-columns' ),\n\t\tcolumnGap\n\t);\n\tconst gridRowTracks = getGridTracks(\n\t\tgetComputedCSS( gridElement, 'grid-template-rows' ),\n\t\trowGap\n\t);\n\tconst columnStart = getClosestTrack( gridColumnTracks, rect.left ) + 1;\n\tconst rowStart = getClosestTrack( gridRowTracks, rect.top ) + 1;\n\tconst columnEnd =\n\t\tgetClosestTrack( gridColumnTracks, rect.right, 'end' ) + 1;\n\tconst rowEnd = getClosestTrack( gridRowTracks, rect.bottom, 'end' ) + 1;\n\treturn new GridRect( {\n\t\tcolumnStart,\n\t\tcolumnEnd,\n\t\trowStart,\n\t\trowEnd,\n\t} );\n}\n\nexport function getGridItemRect( gridItemElement ) {\n\treturn getGridRect(\n\t\tgridItemElement.parentElement,\n\t\tnew window.DOMRect(\n\t\t\tgridItemElement.offsetLeft,\n\t\t\tgridItemElement.offsetTop,\n\t\t\tgridItemElement.offsetWidth,\n\t\t\tgridItemElement.offsetHeight\n\t\t)\n\t);\n}\n\nexport function getGridInfo( gridElement ) {\n\tconst gridTemplateColumns = getComputedCSS(\n\t\tgridElement,\n\t\t'grid-template-columns'\n\t);\n\tconst gridTemplateRows = getComputedCSS(\n\t\tgridElement,\n\t\t'grid-template-rows'\n\t);\n\tconst borderTopWidth = getComputedCSS( gridElement, 'border-top-width' );\n\tconst borderRightWidth = getComputedCSS(\n\t\tgridElement,\n\t\t'border-right-width'\n\t);\n\tconst borderBottomWidth = getComputedCSS(\n\t\tgridElement,\n\t\t'border-bottom-width'\n\t);\n\tconst borderLeftWidth = getComputedCSS( gridElement, 'border-left-width' );\n\tconst paddingTop = getComputedCSS( gridElement, 'padding-top' );\n\tconst paddingRight = getComputedCSS( gridElement, 'padding-right' );\n\tconst paddingBottom = getComputedCSS( gridElement, 'padding-bottom' );\n\tconst paddingLeft = getComputedCSS( gridElement, 'padding-left' );\n\n\tconst numColumns = gridTemplateColumns.split( ' ' ).length;\n\tconst numRows = gridTemplateRows.split( ' ' ).length;\n\tconst numItems = numColumns * numRows;\n\treturn {\n\t\tnumColumns,\n\t\tnumRows,\n\t\tnumItems,\n\t\tcurrentColor: getComputedCSS( gridElement, 'color' ),\n\t\tstyle: {\n\t\t\tgridTemplateColumns,\n\t\t\tgridTemplateRows,\n\t\t\tgap: getComputedCSS( gridElement, 'gap' ),\n\t\t\tpaddingTop: `calc(${ paddingTop } + ${ borderTopWidth })`,\n\t\t\tpaddingRight: `calc(${ paddingRight } + ${ borderRightWidth })`,\n\t\t\tpaddingBottom: `calc(${ paddingBottom } + ${ borderBottomWidth })`,\n\t\t\tpaddingLeft: `calc(${ paddingLeft } + ${ borderLeftWidth })`,\n\t\t},\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["range","start","length","Array","from","_","i","GridRect","constructor","columnStart","rowStart","columnEnd","rowEnd","columnSpan","rowSpan","undefined","contains","column","row","containsRect","rect","intersectsRect","getComputedCSS","element","property","ownerDocument","defaultView","getComputedStyle","getPropertyValue","getGridTracks","template","gap","tracks","size","split","previousTrack","end","parseFloat","push","getClosestTrack","position","edge","reduce","closest","track","index","Math","abs","getGridRect","gridElement","columnGap","rowGap","gridColumnTracks","gridRowTracks","left","top","right","bottom","getGridItemRect","gridItemElement","parentElement","window","DOMRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getGridInfo","gridTemplateColumns","gridTemplateRows","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","paddingTop","paddingRight","paddingBottom","paddingLeft","numColumns","numRows","numItems","currentColor","style","inset"],"sources":["@wordpress/block-editor/src/components/grid/utils.js"],"sourcesContent":["export function range( start, length ) {\n\treturn Array.from( { length }, ( _, i ) => start + i );\n}\n\nexport class GridRect {\n\tconstructor( {\n\t\tcolumnStart,\n\t\trowStart,\n\t\tcolumnEnd,\n\t\trowEnd,\n\t\tcolumnSpan,\n\t\trowSpan,\n\t} = {} ) {\n\t\tthis.columnStart = columnStart ?? 1;\n\t\tthis.rowStart = rowStart ?? 1;\n\t\tif ( columnSpan !== undefined ) {\n\t\t\tthis.columnEnd = this.columnStart + columnSpan - 1;\n\t\t} else {\n\t\t\tthis.columnEnd = columnEnd ?? this.columnStart;\n\t\t}\n\t\tif ( rowSpan !== undefined ) {\n\t\t\tthis.rowEnd = this.rowStart + rowSpan - 1;\n\t\t} else {\n\t\t\tthis.rowEnd = rowEnd ?? this.rowStart;\n\t\t}\n\t}\n\n\tget columnSpan() {\n\t\treturn this.columnEnd - this.columnStart + 1;\n\t}\n\n\tget rowSpan() {\n\t\treturn this.rowEnd - this.rowStart + 1;\n\t}\n\n\tcontains( column, row ) {\n\t\treturn (\n\t\t\tcolumn >= this.columnStart &&\n\t\t\tcolumn <= this.columnEnd &&\n\t\t\trow >= this.rowStart &&\n\t\t\trow <= this.rowEnd\n\t\t);\n\t}\n\n\tcontainsRect( rect ) {\n\t\treturn (\n\t\t\tthis.contains( rect.columnStart, rect.rowStart ) &&\n\t\t\tthis.contains( rect.columnEnd, rect.rowEnd )\n\t\t);\n\t}\n\n\tintersectsRect( rect ) {\n\t\treturn (\n\t\t\tthis.columnStart <= rect.columnEnd &&\n\t\t\tthis.columnEnd >= rect.columnStart &&\n\t\t\tthis.rowStart <= rect.rowEnd &&\n\t\t\tthis.rowEnd >= rect.rowStart\n\t\t);\n\t}\n}\n\nexport function getComputedCSS( element, property ) {\n\treturn element.ownerDocument.defaultView\n\t\t.getComputedStyle( element )\n\t\t.getPropertyValue( property );\n}\n\n/**\n * Given a grid-template-columns or grid-template-rows CSS property value, gets the start and end\n * position in pixels of each grid track.\n *\n * https://css-tricks.com/snippets/css/complete-guide-grid/#aa-grid-track\n *\n * @param {string} template The grid-template-columns or grid-template-rows CSS property value.\n * Only supports fixed sizes in pixels.\n * @param {number} gap The gap between grid tracks in pixels.\n *\n * @return {Array<{start: number, end: number}>} An array of objects with the start and end\n * position in pixels of each grid track.\n */\nexport function getGridTracks( template, gap ) {\n\tconst tracks = [];\n\tfor ( const size of template.split( ' ' ) ) {\n\t\tconst previousTrack = tracks[ tracks.length - 1 ];\n\t\tconst start = previousTrack ? previousTrack.end + gap : 0;\n\t\tconst end = start + parseFloat( size );\n\t\ttracks.push( { start, end } );\n\t}\n\treturn tracks;\n}\n\n/**\n * Given an array of grid tracks and a position in pixels, gets the index of the closest track to\n * that position.\n *\n * https://css-tricks.com/snippets/css/complete-guide-grid/#aa-grid-track\n *\n * @param {Array<{start: number, end: number}>} tracks An array of objects with the start and end\n * position in pixels of each grid track.\n * @param {number} position The position in pixels.\n * @param {string} edge The edge of the track to compare the\n * position to. Either 'start' or 'end'.\n *\n * @return {number} The index of the closest track to the position. 0-based, unlike CSS grid which\n * is 1-based.\n */\nexport function getClosestTrack( tracks, position, edge = 'start' ) {\n\treturn tracks.reduce(\n\t\t( closest, track, index ) =>\n\t\t\tMath.abs( track[ edge ] - position ) <\n\t\t\tMath.abs( tracks[ closest ][ edge ] - position )\n\t\t\t\t? index\n\t\t\t\t: closest,\n\t\t0\n\t);\n}\n\nexport function getGridRect( gridElement, rect ) {\n\tconst columnGap = parseFloat( getComputedCSS( gridElement, 'column-gap' ) );\n\tconst rowGap = parseFloat( getComputedCSS( gridElement, 'row-gap' ) );\n\tconst gridColumnTracks = getGridTracks(\n\t\tgetComputedCSS( gridElement, 'grid-template-columns' ),\n\t\tcolumnGap\n\t);\n\tconst gridRowTracks = getGridTracks(\n\t\tgetComputedCSS( gridElement, 'grid-template-rows' ),\n\t\trowGap\n\t);\n\tconst columnStart = getClosestTrack( gridColumnTracks, rect.left ) + 1;\n\tconst rowStart = getClosestTrack( gridRowTracks, rect.top ) + 1;\n\tconst columnEnd =\n\t\tgetClosestTrack( gridColumnTracks, rect.right, 'end' ) + 1;\n\tconst rowEnd = getClosestTrack( gridRowTracks, rect.bottom, 'end' ) + 1;\n\treturn new GridRect( {\n\t\tcolumnStart,\n\t\tcolumnEnd,\n\t\trowStart,\n\t\trowEnd,\n\t} );\n}\n\nexport function getGridItemRect( gridItemElement ) {\n\treturn getGridRect(\n\t\tgridItemElement.parentElement,\n\t\tnew window.DOMRect(\n\t\t\tgridItemElement.offsetLeft,\n\t\t\tgridItemElement.offsetTop,\n\t\t\tgridItemElement.offsetWidth,\n\t\t\tgridItemElement.offsetHeight\n\t\t)\n\t);\n}\n\nexport function getGridInfo( gridElement ) {\n\tconst gridTemplateColumns = getComputedCSS(\n\t\tgridElement,\n\t\t'grid-template-columns'\n\t);\n\tconst gridTemplateRows = getComputedCSS(\n\t\tgridElement,\n\t\t'grid-template-rows'\n\t);\n\tconst borderTopWidth = getComputedCSS( gridElement, 'border-top-width' );\n\tconst borderRightWidth = getComputedCSS(\n\t\tgridElement,\n\t\t'border-right-width'\n\t);\n\tconst borderBottomWidth = getComputedCSS(\n\t\tgridElement,\n\t\t'border-bottom-width'\n\t);\n\tconst borderLeftWidth = getComputedCSS( gridElement, 'border-left-width' );\n\tconst paddingTop = getComputedCSS( gridElement, 'padding-top' );\n\tconst paddingRight = getComputedCSS( gridElement, 'padding-right' );\n\tconst paddingBottom = getComputedCSS( gridElement, 'padding-bottom' );\n\tconst paddingLeft = getComputedCSS( gridElement, 'padding-left' );\n\n\tconst numColumns = gridTemplateColumns.split( ' ' ).length;\n\tconst numRows = gridTemplateRows.split( ' ' ).length;\n\tconst numItems = numColumns * numRows;\n\treturn {\n\t\tnumColumns,\n\t\tnumRows,\n\t\tnumItems,\n\t\tcurrentColor: getComputedCSS( gridElement, 'color' ),\n\t\tstyle: {\n\t\t\tgridTemplateColumns,\n\t\t\tgridTemplateRows,\n\t\t\tgap: getComputedCSS( gridElement, 'gap' ),\n\t\t\tinset: `\n\t\t\t\tcalc(${ paddingTop } + ${ borderTopWidth })\n\t\t\t\tcalc(${ paddingRight } + ${ borderRightWidth })\n\t\t\t\tcalc(${ paddingBottom } + ${ borderBottomWidth })\n\t\t\t\tcalc(${ paddingLeft } + ${ borderLeftWidth })\n\t\t\t`,\n\t\t},\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  let compatibilityStyles = null;
3
2
 
4
3
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["compatibilityStyles","getCompatibilityStyles","Array","from","document","styleSheets","reduce","accumulator","styleSheet","cssRules","e","ownerNode","id","startsWith","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","isInline","tagName","mainStylesCssId","replace","mainStylesElement","getElementById","push","cloneNode","inlineStylesCssId","inlineStylesElement"],"sources":["@wordpress/block-editor/src/components/iframe/get-compatibility-styles.js"],"sourcesContent":["let compatibilityStyles = null;\n\n/**\n * Returns a list of stylesheets that target the editor canvas. A stylesheet is\n * considered targeting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nexport function getCompatibilityStyles() {\n\tif ( compatibilityStyles ) {\n\t\treturn compatibilityStyles;\n\t}\n\n\t// Only memoize the result once on load, since these stylesheets should not\n\t// change.\n\tcompatibilityStyles = Array.from( document.styleSheets ).reduce(\n\t\t( accumulator, styleSheet ) => {\n\t\t\ttry {\n\t\t\t\t// May fail for external styles.\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\tstyleSheet.cssRules;\n\t\t\t} catch ( e ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\t// Stylesheet is added by another stylesheet. See\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes.\n\t\t\tif ( ownerNode === null ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\tif ( ! cssRules ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\t// Don't try to add core WP styles. We are responsible for adding\n\t\t\t// them. This compatibility layer is only meant to add styles added\n\t\t\t// by plugins or themes.\n\t\t\tif ( ownerNode.id.startsWith( 'wp-' ) ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\t// Don't try to add styles without ID. Styles enqueued via the WP dependency system will always have IDs.\n\t\t\tif ( ! ownerNode.id ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t( {\n\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t'.editor-styles-wrapper'\n\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\tselectorText.includes( '.wp-block' ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( matchFromRules( cssRules ) ) {\n\t\t\t\tconst isInline = ownerNode.tagName === 'STYLE';\n\n\t\t\t\tif ( isInline ) {\n\t\t\t\t\t// If the current target is inline,\n\t\t\t\t\t// it could be a dependency of an existing stylesheet.\n\t\t\t\t\t// Look for that dependency and add it BEFORE the current target.\n\t\t\t\t\tconst mainStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t'-inline-css',\n\t\t\t\t\t\t'-css'\n\t\t\t\t\t);\n\t\t\t\t\tconst mainStylesElement =\n\t\t\t\t\t\tdocument.getElementById( mainStylesCssId );\n\t\t\t\t\tif ( mainStylesElement ) {\n\t\t\t\t\t\taccumulator.push( mainStylesElement.cloneNode( true ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\taccumulator.push( ownerNode.cloneNode( true ) );\n\n\t\t\t\tif ( ! isInline ) {\n\t\t\t\t\t// If the current target is not inline,\n\t\t\t\t\t// we still look for inline styles that could be relevant for the current target.\n\t\t\t\t\t// If they exist, add them AFTER the current target.\n\t\t\t\t\tconst inlineStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t'-css',\n\t\t\t\t\t\t'-inline-css'\n\t\t\t\t\t);\n\t\t\t\t\tconst inlineStylesElement =\n\t\t\t\t\t\tdocument.getElementById( inlineStylesCssId );\n\t\t\t\t\tif ( inlineStylesElement ) {\n\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\tinlineStylesElement.cloneNode( true )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\n\treturn compatibilityStyles;\n}\n"],"mappings":";AAAA,IAAIA,mBAAmB,GAAG,IAAI;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACxC,IAAKD,mBAAmB,EAAG;IAC1B,OAAOA,mBAAmB;EAC3B;;EAEA;EACA;EACAA,mBAAmB,GAAGE,KAAK,CAACC,IAAI,CAAEC,QAAQ,CAACC,WAAY,CAAC,CAACC,MAAM,CAC9D,CAAEC,WAAW,EAAEC,UAAU,KAAM;IAC9B,IAAI;MACH;MACA;MACAA,UAAU,CAACC,QAAQ;IACpB,CAAC,CAAC,OAAQC,CAAC,EAAG;MACb,OAAOH,WAAW;IACnB;IAEA,MAAM;MAAEI,SAAS;MAAEF;IAAS,CAAC,GAAGD,UAAU;;IAE1C;IACA;IACA,IAAKG,SAAS,KAAK,IAAI,EAAG;MACzB,OAAOJ,WAAW;IACnB;IAEA,IAAK,CAAEE,QAAQ,EAAG;MACjB,OAAOF,WAAW;IACnB;;IAEA;IACA;IACA;IACA,IAAKI,SAAS,CAACC,EAAE,CAACC,UAAU,CAAE,KAAM,CAAC,EAAG;MACvC,OAAON,WAAW;IACnB;;IAEA;IACA,IAAK,CAAEI,SAAS,CAACC,EAAE,EAAG;MACrB,OAAOL,WAAW;IACnB;IAEA,SAASO,cAAcA,CAAEC,SAAS,EAAG;MACpC,OAAOb,KAAK,CAACC,IAAI,CAAEY,SAAU,CAAC,CAACC,IAAI,CAClC,CAAE;QACDC,YAAY;QACZC,aAAa;QACbT,QAAQ,EAAEU;MACX,CAAC,KAAM;QACN;QACA;QACA,IAAKD,aAAa,EAAG;UACpB,OAAOJ,cAAc,CAAEK,UAAW,CAAC;QACpC;QAEA,OACCF,YAAY,KACVA,YAAY,CAACG,QAAQ,CACtB,wBACD,CAAC,IACAH,YAAY,CAACG,QAAQ,CAAE,WAAY,CAAC,CAAE;MAEzC,CACD,CAAC;IACF;IAEA,IAAKN,cAAc,CAAEL,QAAS,CAAC,EAAG;MACjC,MAAMY,QAAQ,GAAGV,SAAS,CAACW,OAAO,KAAK,OAAO;MAE9C,IAAKD,QAAQ,EAAG;QACf;QACA;QACA;QACA,MAAME,eAAe,GAAGZ,SAAS,CAACC,EAAE,CAACY,OAAO,CAC3C,aAAa,EACb,MACD,CAAC;QACD,MAAMC,iBAAiB,GACtBrB,QAAQ,CAACsB,cAAc,CAAEH,eAAgB,CAAC;QAC3C,IAAKE,iBAAiB,EAAG;UACxBlB,WAAW,CAACoB,IAAI,CAAEF,iBAAiB,CAACG,SAAS,CAAE,IAAK,CAAE,CAAC;QACxD;MACD;MAEArB,WAAW,CAACoB,IAAI,CAAEhB,SAAS,CAACiB,SAAS,CAAE,IAAK,CAAE,CAAC;MAE/C,IAAK,CAAEP,QAAQ,EAAG;QACjB;QACA;QACA;QACA,MAAMQ,iBAAiB,GAAGlB,SAAS,CAACC,EAAE,CAACY,OAAO,CAC7C,MAAM,EACN,aACD,CAAC;QACD,MAAMM,mBAAmB,GACxB1B,QAAQ,CAACsB,cAAc,CAAEG,iBAAkB,CAAC;QAC7C,IAAKC,mBAAmB,EAAG;UAC1BvB,WAAW,CAACoB,IAAI,CACfG,mBAAmB,CAACF,SAAS,CAAE,IAAK,CACrC,CAAC;QACF;MACD;IACD;IAEA,OAAOrB,WAAW;EACnB,CAAC,EACD,EACD,CAAC;EAED,OAAOP,mBAAmB;AAC3B","ignoreList":[]}
1
+ {"version":3,"names":["compatibilityStyles","getCompatibilityStyles","Array","from","document","styleSheets","reduce","accumulator","styleSheet","cssRules","e","ownerNode","id","startsWith","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","isInline","tagName","mainStylesCssId","replace","mainStylesElement","getElementById","push","cloneNode","inlineStylesCssId","inlineStylesElement"],"sources":["@wordpress/block-editor/src/components/iframe/get-compatibility-styles.js"],"sourcesContent":["let compatibilityStyles = null;\n\n/**\n * Returns a list of stylesheets that target the editor canvas. A stylesheet is\n * considered targeting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nexport function getCompatibilityStyles() {\n\tif ( compatibilityStyles ) {\n\t\treturn compatibilityStyles;\n\t}\n\n\t// Only memoize the result once on load, since these stylesheets should not\n\t// change.\n\tcompatibilityStyles = Array.from( document.styleSheets ).reduce(\n\t\t( accumulator, styleSheet ) => {\n\t\t\ttry {\n\t\t\t\t// May fail for external styles.\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\tstyleSheet.cssRules;\n\t\t\t} catch ( e ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\t// Stylesheet is added by another stylesheet. See\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes.\n\t\t\tif ( ownerNode === null ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\tif ( ! cssRules ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\t// Don't try to add core WP styles. We are responsible for adding\n\t\t\t// them. This compatibility layer is only meant to add styles added\n\t\t\t// by plugins or themes.\n\t\t\tif ( ownerNode.id.startsWith( 'wp-' ) ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\t// Don't try to add styles without ID. Styles enqueued via the WP dependency system will always have IDs.\n\t\t\tif ( ! ownerNode.id ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\n\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t( {\n\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t'.editor-styles-wrapper'\n\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\tselectorText.includes( '.wp-block' ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( matchFromRules( cssRules ) ) {\n\t\t\t\tconst isInline = ownerNode.tagName === 'STYLE';\n\n\t\t\t\tif ( isInline ) {\n\t\t\t\t\t// If the current target is inline,\n\t\t\t\t\t// it could be a dependency of an existing stylesheet.\n\t\t\t\t\t// Look for that dependency and add it BEFORE the current target.\n\t\t\t\t\tconst mainStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t'-inline-css',\n\t\t\t\t\t\t'-css'\n\t\t\t\t\t);\n\t\t\t\t\tconst mainStylesElement =\n\t\t\t\t\t\tdocument.getElementById( mainStylesCssId );\n\t\t\t\t\tif ( mainStylesElement ) {\n\t\t\t\t\t\taccumulator.push( mainStylesElement.cloneNode( true ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\taccumulator.push( ownerNode.cloneNode( true ) );\n\n\t\t\t\tif ( ! isInline ) {\n\t\t\t\t\t// If the current target is not inline,\n\t\t\t\t\t// we still look for inline styles that could be relevant for the current target.\n\t\t\t\t\t// If they exist, add them AFTER the current target.\n\t\t\t\t\tconst inlineStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t'-css',\n\t\t\t\t\t\t'-inline-css'\n\t\t\t\t\t);\n\t\t\t\t\tconst inlineStylesElement =\n\t\t\t\t\t\tdocument.getElementById( inlineStylesCssId );\n\t\t\t\t\tif ( inlineStylesElement ) {\n\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\tinlineStylesElement.cloneNode( true )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\n\treturn compatibilityStyles;\n}\n"],"mappings":"AAAA,IAAIA,mBAAmB,GAAG,IAAI;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACxC,IAAKD,mBAAmB,EAAG;IAC1B,OAAOA,mBAAmB;EAC3B;;EAEA;EACA;EACAA,mBAAmB,GAAGE,KAAK,CAACC,IAAI,CAAEC,QAAQ,CAACC,WAAY,CAAC,CAACC,MAAM,CAC9D,CAAEC,WAAW,EAAEC,UAAU,KAAM;IAC9B,IAAI;MACH;MACA;MACAA,UAAU,CAACC,QAAQ;IACpB,CAAC,CAAC,OAAQC,CAAC,EAAG;MACb,OAAOH,WAAW;IACnB;IAEA,MAAM;MAAEI,SAAS;MAAEF;IAAS,CAAC,GAAGD,UAAU;;IAE1C;IACA;IACA,IAAKG,SAAS,KAAK,IAAI,EAAG;MACzB,OAAOJ,WAAW;IACnB;IAEA,IAAK,CAAEE,QAAQ,EAAG;MACjB,OAAOF,WAAW;IACnB;;IAEA;IACA;IACA;IACA,IAAKI,SAAS,CAACC,EAAE,CAACC,UAAU,CAAE,KAAM,CAAC,EAAG;MACvC,OAAON,WAAW;IACnB;;IAEA;IACA,IAAK,CAAEI,SAAS,CAACC,EAAE,EAAG;MACrB,OAAOL,WAAW;IACnB;IAEA,SAASO,cAAcA,CAAEC,SAAS,EAAG;MACpC,OAAOb,KAAK,CAACC,IAAI,CAAEY,SAAU,CAAC,CAACC,IAAI,CAClC,CAAE;QACDC,YAAY;QACZC,aAAa;QACbT,QAAQ,EAAEU;MACX,CAAC,KAAM;QACN;QACA;QACA,IAAKD,aAAa,EAAG;UACpB,OAAOJ,cAAc,CAAEK,UAAW,CAAC;QACpC;QAEA,OACCF,YAAY,KACVA,YAAY,CAACG,QAAQ,CACtB,wBACD,CAAC,IACAH,YAAY,CAACG,QAAQ,CAAE,WAAY,CAAC,CAAE;MAEzC,CACD,CAAC;IACF;IAEA,IAAKN,cAAc,CAAEL,QAAS,CAAC,EAAG;MACjC,MAAMY,QAAQ,GAAGV,SAAS,CAACW,OAAO,KAAK,OAAO;MAE9C,IAAKD,QAAQ,EAAG;QACf;QACA;QACA;QACA,MAAME,eAAe,GAAGZ,SAAS,CAACC,EAAE,CAACY,OAAO,CAC3C,aAAa,EACb,MACD,CAAC;QACD,MAAMC,iBAAiB,GACtBrB,QAAQ,CAACsB,cAAc,CAAEH,eAAgB,CAAC;QAC3C,IAAKE,iBAAiB,EAAG;UACxBlB,WAAW,CAACoB,IAAI,CAAEF,iBAAiB,CAACG,SAAS,CAAE,IAAK,CAAE,CAAC;QACxD;MACD;MAEArB,WAAW,CAACoB,IAAI,CAAEhB,SAAS,CAACiB,SAAS,CAAE,IAAK,CAAE,CAAC;MAE/C,IAAK,CAAEP,QAAQ,EAAG;QACjB;QACA;QACA;QACA,MAAMQ,iBAAiB,GAAGlB,SAAS,CAACC,EAAE,CAACY,OAAO,CAC7C,MAAM,EACN,aACD,CAAC;QACD,MAAMM,mBAAmB,GACxB1B,QAAQ,CAACsB,cAAc,CAAEG,iBAAkB,CAAC;QAC7C,IAAKC,mBAAmB,EAAG;UAC1BvB,WAAW,CAACoB,IAAI,CACfG,mBAAmB,CAACF,SAAS,CAAE,IAAK,CACrC,CAAC;QACF;MACD;IACD;IAEA,OAAOrB,WAAW;EACnB,CAAC,EACD,EACD,CAAC;EAED,OAAOP,mBAAmB;AAC3B","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -86,7 +85,7 @@ export default function AspectRatioDropdown({
86
85
  {
87
86
  slug: 'original',
88
87
  name: __('Original'),
89
- aspect: defaultAspect
88
+ ratio: defaultAspect
90
89
  }, ...(showDefaultRatios ? defaultRatios.map(presetRatioAsNumber).filter(({
91
90
  ratio
92
91
  }) => ratio === 1) : [])]
@@ -1 +1 @@
1
- {"version":3,"names":["check","aspectRatio","aspectRatioIcon","DropdownMenu","MenuGroup","MenuItem","__","useSettings","POPOVER_PROPS","useImageEditingContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AspectRatioGroup","aspectRatios","isDisabled","label","onClick","value","children","map","name","slug","ratio","disabled","role","isSelected","icon","undefined","ratioToNumber","str","a","b","rest","split","Number","isNaN","length","NaN","presetRatioAsNumber","AspectRatioDropdown","toggleProps","isInProgress","aspect","setAspect","defaultAspect","defaultRatios","themeRatios","showDefaultRatios","popoverProps","onClose","newAspect","filter"],"sources":["@wordpress/block-editor/src/components/image-editor/aspect-ratio-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { check, aspectRatio as aspectRatioIcon } from '@wordpress/icons';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\nimport { POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nfunction AspectRatioGroup( {\n\taspectRatios,\n\tisDisabled,\n\tlabel,\n\tonClick,\n\tvalue,\n} ) {\n\treturn (\n\t\t<MenuGroup label={ label }>\n\t\t\t{ aspectRatios.map( ( { name, slug, ratio } ) => (\n\t\t\t\t<MenuItem\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonClick( ratio );\n\t\t\t\t\t} }\n\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\tisSelected={ ratio === value }\n\t\t\t\t\ticon={ ratio === value ? check : undefined }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</MenuItem>\n\t\t\t) ) }\n\t\t</MenuGroup>\n\t);\n}\n\nexport function ratioToNumber( str ) {\n\t// TODO: support two-value aspect ratio?\n\t// https://css-tricks.com/almanac/properties/a/aspect-ratio/#aa-it-can-take-two-values\n\tconst [ a, b, ...rest ] = str.split( '/' ).map( Number );\n\tif (\n\t\ta <= 0 ||\n\t\tb <= 0 ||\n\t\tNumber.isNaN( a ) ||\n\t\tNumber.isNaN( b ) ||\n\t\trest.length\n\t) {\n\t\treturn NaN;\n\t}\n\treturn b ? a / b : a;\n}\n\nfunction presetRatioAsNumber( { ratio, ...rest } ) {\n\treturn {\n\t\tratio: ratioToNumber( ratio ),\n\t\t...rest,\n\t};\n}\n\nexport default function AspectRatioDropdown( { toggleProps } ) {\n\tconst { isInProgress, aspect, setAspect, defaultAspect } =\n\t\tuseImageEditingContext();\n\n\tconst [ defaultRatios, themeRatios, showDefaultRatios ] = useSettings(\n\t\t'dimensions.aspectRatios.default',\n\t\t'dimensions.aspectRatios.theme',\n\t\t'dimensions.defaultAspectRatios'\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ aspectRatioIcon }\n\t\t\tlabel={ __( 'Aspect Ratio' ) }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ttoggleProps={ toggleProps }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t// All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tslug: 'original',\n\t\t\t\t\t\t\t\tname: __( 'Original' ),\n\t\t\t\t\t\t\t\taspect: defaultAspect,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...( showDefaultRatios\n\t\t\t\t\t\t\t\t? defaultRatios\n\t\t\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio === 1 )\n\t\t\t\t\t\t\t\t: [] ),\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t\t{ themeRatios?.length > 0 && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ themeRatios }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Landscape' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio > 1 ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Portrait' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio < 1 ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["check","aspectRatio","aspectRatioIcon","DropdownMenu","MenuGroup","MenuItem","__","useSettings","POPOVER_PROPS","useImageEditingContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AspectRatioGroup","aspectRatios","isDisabled","label","onClick","value","children","map","name","slug","ratio","disabled","role","isSelected","icon","undefined","ratioToNumber","str","a","b","rest","split","Number","isNaN","length","NaN","presetRatioAsNumber","AspectRatioDropdown","toggleProps","isInProgress","aspect","setAspect","defaultAspect","defaultRatios","themeRatios","showDefaultRatios","popoverProps","onClose","newAspect","filter"],"sources":["@wordpress/block-editor/src/components/image-editor/aspect-ratio-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { check, aspectRatio as aspectRatioIcon } from '@wordpress/icons';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\nimport { POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nfunction AspectRatioGroup( {\n\taspectRatios,\n\tisDisabled,\n\tlabel,\n\tonClick,\n\tvalue,\n} ) {\n\treturn (\n\t\t<MenuGroup label={ label }>\n\t\t\t{ aspectRatios.map( ( { name, slug, ratio } ) => (\n\t\t\t\t<MenuItem\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonClick( ratio );\n\t\t\t\t\t} }\n\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\tisSelected={ ratio === value }\n\t\t\t\t\ticon={ ratio === value ? check : undefined }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</MenuItem>\n\t\t\t) ) }\n\t\t</MenuGroup>\n\t);\n}\n\nexport function ratioToNumber( str ) {\n\t// TODO: support two-value aspect ratio?\n\t// https://css-tricks.com/almanac/properties/a/aspect-ratio/#aa-it-can-take-two-values\n\tconst [ a, b, ...rest ] = str.split( '/' ).map( Number );\n\tif (\n\t\ta <= 0 ||\n\t\tb <= 0 ||\n\t\tNumber.isNaN( a ) ||\n\t\tNumber.isNaN( b ) ||\n\t\trest.length\n\t) {\n\t\treturn NaN;\n\t}\n\treturn b ? a / b : a;\n}\n\nfunction presetRatioAsNumber( { ratio, ...rest } ) {\n\treturn {\n\t\tratio: ratioToNumber( ratio ),\n\t\t...rest,\n\t};\n}\n\nexport default function AspectRatioDropdown( { toggleProps } ) {\n\tconst { isInProgress, aspect, setAspect, defaultAspect } =\n\t\tuseImageEditingContext();\n\n\tconst [ defaultRatios, themeRatios, showDefaultRatios ] = useSettings(\n\t\t'dimensions.aspectRatios.default',\n\t\t'dimensions.aspectRatios.theme',\n\t\t'dimensions.defaultAspectRatios'\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ aspectRatioIcon }\n\t\t\tlabel={ __( 'Aspect Ratio' ) }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ttoggleProps={ toggleProps }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t// All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tslug: 'original',\n\t\t\t\t\t\t\t\tname: __( 'Original' ),\n\t\t\t\t\t\t\t\tratio: defaultAspect,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...( showDefaultRatios\n\t\t\t\t\t\t\t\t? defaultRatios\n\t\t\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio === 1 )\n\t\t\t\t\t\t\t\t: [] ),\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t\t{ themeRatios?.length > 0 && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ themeRatios }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Landscape' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio > 1 ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Portrait' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio < 1 ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -143,11 +143,11 @@ const ForwardedInnerBlocks = forwardRef((props, ref) => {
143
143
  * returns. Optionally, you can also pass any other props through this hook, and
144
144
  * they will be merged and returned.
145
145
  *
146
+ * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md
147
+ *
146
148
  * @param {Object} props Optional. Props to pass to the element. Must contain
147
149
  * the ref if one is defined.
148
150
  * @param {Object} options Optional. Inner blocks options.
149
- *
150
- * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md
151
151
  */
152
152
  export function useInnerBlocksProps(props = {}, options = {}) {
153
153
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useMergeRefs","forwardRef","useMemo","memo","useSelect","getBlockSupport","store","blocksStore","__unstableGetInnerBlocksProps","getInnerBlocksProps","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockListItems","BlockContextProvider","useBlockEditContext","useBlockSync","blockEditorStore","useBlockDropZone","unlock","jsx","_jsx","EMPTY_OBJECT","BlockContext","children","clientId","context","value","BlockListItemsMemo","UncontrolledInnerBlocks","props","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","name","blockType","parentLock","defaultLayout","defaultLayoutBlockSupport","allowSizingOnChildren","usedLayout","memoedLayout","items","rootClientId","providesContext","Object","keys","length","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","dropZoneElement","__unstableLayoutClassNames","layoutClassNames","selected","select","getBlockName","isZoomOut","getTemplateLock","getBlockRootClientId","getBlockEditingMode","getBlockSettings","getSectionRootClientId","sectionRootClientId","isDropZoneDisabled","hasBlockSupport","getBlockType","blockName","blockEditingMode","parentClientId","_isDropZoneDisabled","blockDropZoneRef","isManualPlacement","window","__experimentalEnableGridInteractivity","InnerBlocks","onChange","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_OBJECT = {};\n\nfunction BlockContext( { children, clientId } ) {\n\tconst context = useBlockContext( clientId );\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t{ children }\n\t\t</BlockContextProvider>\n\t);\n}\n\nconst BlockListItemsMemo = memo( BlockListItems );\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tparentLock,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// For controlled inner blocks, we don't want a change in blocks to\n\t// re-render the blocks list.\n\tconst items = (\n\t\t<BlockListItemsMemo\n\t\t\trootClientId={ clientId }\n\t\t\trenderAppender={ renderAppender }\n\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\tlayout={ memoedLayout }\n\t\t\twrapperRef={ wrapperRef }\n\t\t\tplaceholder={ placeholder }\n\t\t/>\n\t);\n\n\tif (\n\t\t! blockType?.providesContext ||\n\t\tObject.keys( blockType.providesContext ).length === 0\n\t) {\n\t\treturn items;\n\t}\n\n\treturn <BlockContext clientId={ clientId }>{ items }</BlockContext>;\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst {\n\t\t__unstableDisableLayoutClassNames,\n\t\t__unstableDisableDropZone,\n\t\tdropZoneElement,\n\t} = options;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisZoomOut,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockSettings,\n\t\t\t\tgetSectionRootClientId,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tif ( ! clientId ) {\n\t\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\t\t\t\t// Disable the root drop zone when zoomed out and the section root client id\n\t\t\t\t// is not the root block list (represented by an empty string).\n\t\t\t\t// This avoids drag handling bugs caused by having two block lists acting as\n\t\t\t\t// drop zones - the actual 'root' block list and the section root.\n\t\t\t\treturn {\n\t\t\t\t\tisDropZoneDisabled:\n\t\t\t\t\t\tisZoomOut() && sectionRootClientId !== '',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { hasBlockSupport, getBlockType } = select( blocksStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst parentClientId = getBlockRootClientId( clientId );\n\t\t\tconst [ defaultLayout ] = getBlockSettings( clientId, 'layout' );\n\n\t\t\tlet _isDropZoneDisabled = blockEditingMode === 'disabled';\n\n\t\t\tif ( isZoomOut() ) {\n\t\t\t\t// In zoom out mode, we want to disable the drop zone for the sections.\n\t\t\t\t// The inner blocks belonging to the section drop zone is\n\t\t\t\t// already disabled by the blocks themselves being disabled.\n\t\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\t\t\t\t_isDropZoneDisabled = clientId !== sectionRootClientId;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tname: blockName,\n\t\t\t\tblockType: getBlockType( blockName ),\n\t\t\t\tparentLock: getTemplateLock( parentClientId ),\n\t\t\t\tparentClientId,\n\t\t\t\tisDropZoneDisabled: _isDropZoneDisabled,\n\t\t\t\tdefaultLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\t__experimentalCaptureToolbars,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tparentClientId,\n\t\tisDropZoneDisabled,\n\t\tdefaultLayout,\n\t} = selected;\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\tdropZoneElement,\n\t\trootClientId: clientId,\n\t\tparentClientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ||\n\t\tisDropZoneDisabled ||\n\t\t( layout?.isManualPlacement &&\n\t\t\twindow.__experimentalEnableGridInteractivity )\n\t\t\t? null\n\t\t\t: blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: clsx(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useMergeRefs","forwardRef","useMemo","memo","useSelect","getBlockSupport","store","blocksStore","__unstableGetInnerBlocksProps","getInnerBlocksProps","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockListItems","BlockContextProvider","useBlockEditContext","useBlockSync","blockEditorStore","useBlockDropZone","unlock","jsx","_jsx","EMPTY_OBJECT","BlockContext","children","clientId","context","value","BlockListItemsMemo","UncontrolledInnerBlocks","props","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","name","blockType","parentLock","defaultLayout","defaultLayoutBlockSupport","allowSizingOnChildren","usedLayout","memoedLayout","items","rootClientId","providesContext","Object","keys","length","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","dropZoneElement","__unstableLayoutClassNames","layoutClassNames","selected","select","getBlockName","isZoomOut","getTemplateLock","getBlockRootClientId","getBlockEditingMode","getBlockSettings","getSectionRootClientId","sectionRootClientId","isDropZoneDisabled","hasBlockSupport","getBlockType","blockName","blockEditingMode","parentClientId","_isDropZoneDisabled","blockDropZoneRef","isManualPlacement","window","__experimentalEnableGridInteractivity","InnerBlocks","onChange","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_OBJECT = {};\n\nfunction BlockContext( { children, clientId } ) {\n\tconst context = useBlockContext( clientId );\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t{ children }\n\t\t</BlockContextProvider>\n\t);\n}\n\nconst BlockListItemsMemo = memo( BlockListItems );\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tparentLock,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// For controlled inner blocks, we don't want a change in blocks to\n\t// re-render the blocks list.\n\tconst items = (\n\t\t<BlockListItemsMemo\n\t\t\trootClientId={ clientId }\n\t\t\trenderAppender={ renderAppender }\n\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\tlayout={ memoedLayout }\n\t\t\twrapperRef={ wrapperRef }\n\t\t\tplaceholder={ placeholder }\n\t\t/>\n\t);\n\n\tif (\n\t\t! blockType?.providesContext ||\n\t\tObject.keys( blockType.providesContext ).length === 0\n\t) {\n\t\treturn items;\n\t}\n\n\treturn <BlockContext clientId={ clientId }>{ items }</BlockContext>;\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst {\n\t\t__unstableDisableLayoutClassNames,\n\t\t__unstableDisableDropZone,\n\t\tdropZoneElement,\n\t} = options;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisZoomOut,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockSettings,\n\t\t\t\tgetSectionRootClientId,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tif ( ! clientId ) {\n\t\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\t\t\t\t// Disable the root drop zone when zoomed out and the section root client id\n\t\t\t\t// is not the root block list (represented by an empty string).\n\t\t\t\t// This avoids drag handling bugs caused by having two block lists acting as\n\t\t\t\t// drop zones - the actual 'root' block list and the section root.\n\t\t\t\treturn {\n\t\t\t\t\tisDropZoneDisabled:\n\t\t\t\t\t\tisZoomOut() && sectionRootClientId !== '',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { hasBlockSupport, getBlockType } = select( blocksStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst parentClientId = getBlockRootClientId( clientId );\n\t\t\tconst [ defaultLayout ] = getBlockSettings( clientId, 'layout' );\n\n\t\t\tlet _isDropZoneDisabled = blockEditingMode === 'disabled';\n\n\t\t\tif ( isZoomOut() ) {\n\t\t\t\t// In zoom out mode, we want to disable the drop zone for the sections.\n\t\t\t\t// The inner blocks belonging to the section drop zone is\n\t\t\t\t// already disabled by the blocks themselves being disabled.\n\t\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\t\t\t\t_isDropZoneDisabled = clientId !== sectionRootClientId;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tname: blockName,\n\t\t\t\tblockType: getBlockType( blockName ),\n\t\t\t\tparentLock: getTemplateLock( parentClientId ),\n\t\t\t\tparentClientId,\n\t\t\t\tisDropZoneDisabled: _isDropZoneDisabled,\n\t\t\t\tdefaultLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\t__experimentalCaptureToolbars,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tparentClientId,\n\t\tisDropZoneDisabled,\n\t\tdefaultLayout,\n\t} = selected;\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\tdropZoneElement,\n\t\trootClientId: clientId,\n\t\tparentClientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ||\n\t\tisDropZoneDisabled ||\n\t\t( layout?.isManualPlacement &&\n\t\t\twindow.__experimentalEnableGridInteractivity )\n\t\t\t? null\n\t\t\t: blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: clsx(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":"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","ignoreList":[]}
@@ -35,11 +35,11 @@ import { MAX_NESTING_DEPTH } from './constants';
35
35
  * returns. Optionally, you can also pass any other props through this hook, and
36
36
  * they will be merged and returned.
37
37
  *
38
+ * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/inner-blocks/README.md
39
+ *
38
40
  * @param {Object} props Optional. Props to pass to the element. Must contain
39
41
  * the ref if one is defined.
40
42
  * @param {Object} options Optional. Inner blocks options.
41
- *
42
- * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/inner-blocks/README.md
43
43
  */
44
44
  import { jsx as _jsx } from "react/jsx-runtime";
45
45
  export function useInnerBlocksProps(props = {}, options = {}) {