@wordpress/block-editor 13.1.0 → 13.3.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 (437) hide show
  1. package/CHANGELOG.md +21 -17
  2. package/README.md +1 -2
  3. package/build/components/block-breadcrumb/index.js +12 -1
  4. package/build/components/block-breadcrumb/index.js.map +1 -1
  5. package/build/components/block-lock/modal.js +67 -67
  6. package/build/components/block-lock/modal.js.map +1 -1
  7. package/build/components/block-lock/toolbar.js +0 -1
  8. package/build/components/block-lock/toolbar.js.map +1 -1
  9. package/build/components/block-mover/button.js +1 -1
  10. package/build/components/block-mover/button.js.map +1 -1
  11. package/build/components/block-mover/index.js +12 -6
  12. package/build/components/block-mover/index.js.map +1 -1
  13. package/build/components/block-pattern-setup/setup-toolbar.js +2 -2
  14. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  15. package/build/components/block-patterns-paging/index.js +5 -7
  16. package/build/components/block-patterns-paging/index.js.map +1 -1
  17. package/build/components/block-quick-navigation/index.js +20 -17
  18. package/build/components/block-quick-navigation/index.js.map +1 -1
  19. package/build/components/block-rename/modal.js +4 -12
  20. package/build/components/block-rename/modal.js.map +1 -1
  21. package/build/components/block-toolbar/shuffle.js +4 -1
  22. package/build/components/block-toolbar/shuffle.js.map +1 -1
  23. package/build/components/block-tools/block-selection-button.js +7 -58
  24. package/build/components/block-tools/block-selection-button.js.map +1 -1
  25. package/build/components/block-tools/block-toolbar-breadcrumb.js +9 -2
  26. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  27. package/build/components/block-tools/index.js +14 -1
  28. package/build/components/block-tools/index.js.map +1 -1
  29. package/build/components/block-tools/use-show-block-tools.js +4 -2
  30. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  31. package/build/components/block-tools/zoom-out-mode-inserters.js +5 -4
  32. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  33. package/build/components/block-tools/zoom-out-popover.js +57 -0
  34. package/build/components/block-tools/zoom-out-popover.js.map +1 -0
  35. package/build/components/block-tools/zoom-out-toolbar.js +138 -0
  36. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -0
  37. package/build/components/button-block-appender/index.js +3 -1
  38. package/build/components/button-block-appender/index.js.map +1 -1
  39. package/build/components/child-layout-control/index.js +193 -127
  40. package/build/components/child-layout-control/index.js.map +1 -1
  41. package/build/components/date-format-picker/index.js +10 -1
  42. package/build/components/date-format-picker/index.js.map +1 -1
  43. package/build/components/dimensions-tool/index.js +6 -4
  44. package/build/components/dimensions-tool/index.js.map +1 -1
  45. package/build/components/font-appearance-control/index.js +26 -61
  46. package/build/components/font-appearance-control/index.js.map +1 -1
  47. package/build/components/global-styles/background-panel.js +178 -116
  48. package/build/components/global-styles/background-panel.js.map +1 -1
  49. package/build/components/global-styles/border-panel.js +2 -1
  50. package/build/components/global-styles/border-panel.js.map +1 -1
  51. package/build/components/global-styles/color-panel.js +2 -1
  52. package/build/components/global-styles/color-panel.js.map +1 -1
  53. package/build/components/global-styles/dimensions-panel.js +2 -1
  54. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  55. package/build/components/global-styles/filters-panel.js +2 -1
  56. package/build/components/global-styles/filters-panel.js.map +1 -1
  57. package/build/components/global-styles/hooks.js +8 -0
  58. package/build/components/global-styles/hooks.js.map +1 -1
  59. package/build/components/global-styles/image-settings-panel.js +2 -1
  60. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  61. package/build/components/global-styles/typography-panel.js +50 -12
  62. package/build/components/global-styles/typography-panel.js.map +1 -1
  63. package/build/components/global-styles/typography-utils.js +50 -0
  64. package/build/components/global-styles/typography-utils.js.map +1 -1
  65. package/build/components/global-styles/use-global-styles-output.js +25 -9
  66. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  67. package/build/components/global-styles/utils.js +17 -7
  68. package/build/components/global-styles/utils.js.map +1 -1
  69. package/build/components/grid/grid-item-movers.js +94 -0
  70. package/build/components/grid/grid-item-movers.js.map +1 -0
  71. package/build/components/{grid-visualizer → grid}/grid-item-resizer.js +18 -56
  72. package/build/components/grid/grid-item-resizer.js.map +1 -0
  73. package/build/components/grid/grid-visualizer.js +305 -0
  74. package/build/components/grid/grid-visualizer.js.map +1 -0
  75. package/build/components/{grid-visualizer → grid}/index.js +14 -0
  76. package/build/components/grid/index.js.map +1 -0
  77. package/build/components/grid/use-get-number-of-blocks-before-cell.js +40 -0
  78. package/build/components/grid/use-get-number-of-blocks-before-cell.js.map +1 -0
  79. package/build/components/grid/use-grid-layout-sync.js +169 -0
  80. package/build/components/grid/use-grid-layout-sync.js.map +1 -0
  81. package/build/components/grid/utils.js +145 -0
  82. package/build/components/grid/utils.js.map +1 -0
  83. package/build/components/image-editor/aspect-ratio-dropdown.js +0 -1
  84. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  85. package/build/components/inner-blocks/index.js +1 -1
  86. package/build/components/inner-blocks/index.js.map +1 -1
  87. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
  88. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  89. package/build/components/inserter/menu.js +26 -4
  90. package/build/components/inserter/menu.js.map +1 -1
  91. package/build/components/inserter/quick-inserter.js +2 -1
  92. package/build/components/inserter/quick-inserter.js.map +1 -1
  93. package/build/components/inspector-controls/block-support-tools-panel.js +2 -1
  94. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  95. package/build/components/link-control/link-preview.js +1 -1
  96. package/build/components/link-control/link-preview.js.map +1 -1
  97. package/build/components/media-placeholder/index.js +19 -23
  98. package/build/components/media-placeholder/index.js.map +1 -1
  99. package/build/components/navigable-toolbar/index.js +3 -1
  100. package/build/components/navigable-toolbar/index.js.map +1 -1
  101. package/build/components/rich-text/event-listeners/input-rules.js +1 -0
  102. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  103. package/build/components/rich-text/index.native.js +10 -4
  104. package/build/components/rich-text/index.native.js.map +1 -1
  105. package/build/components/rich-text/native/index.native.js +14 -0
  106. package/build/components/rich-text/native/index.native.js.map +1 -1
  107. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +5 -1
  108. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  109. package/build/components/tabbed-sidebar/index.js +66 -0
  110. package/build/components/tabbed-sidebar/index.js.map +1 -0
  111. package/build/components/url-popover/index.js +3 -0
  112. package/build/components/url-popover/index.js.map +1 -1
  113. package/build/hooks/background.js +26 -4
  114. package/build/hooks/background.js.map +1 -1
  115. package/build/hooks/block-hooks.js +11 -17
  116. package/build/hooks/block-hooks.js.map +1 -1
  117. package/build/hooks/block-style-variation.js +195 -11
  118. package/build/hooks/block-style-variation.js.map +1 -1
  119. package/build/hooks/duotone.js +16 -11
  120. package/build/hooks/duotone.js.map +1 -1
  121. package/build/hooks/grid-visualizer.js +65 -0
  122. package/build/hooks/grid-visualizer.js.map +1 -0
  123. package/build/hooks/index.js +15 -2
  124. package/build/hooks/index.js.map +1 -1
  125. package/build/hooks/layout-child.js +65 -40
  126. package/build/hooks/layout-child.js.map +1 -1
  127. package/build/hooks/position.js +2 -9
  128. package/build/hooks/position.js.map +1 -1
  129. package/build/hooks/use-bindings-attributes.js +16 -6
  130. package/build/hooks/use-bindings-attributes.js.map +1 -1
  131. package/build/hooks/utils.js +5 -2
  132. package/build/hooks/utils.js.map +1 -1
  133. package/build/layouts/constrained.js +44 -2
  134. package/build/layouts/constrained.js.map +1 -1
  135. package/build/layouts/grid.js +92 -76
  136. package/build/layouts/grid.js.map +1 -1
  137. package/build/lock-unlock.js +1 -1
  138. package/build/lock-unlock.js.map +1 -1
  139. package/build/private-apis.js +6 -1
  140. package/build/private-apis.js.map +1 -1
  141. package/build/store/actions.js +17 -1
  142. package/build/store/actions.js.map +1 -1
  143. package/build/store/defaults.js +0 -2
  144. package/build/store/defaults.js.map +1 -1
  145. package/build/store/defaults.native.js +0 -3
  146. package/build/store/defaults.native.js.map +1 -1
  147. package/build/store/private-keys.js +2 -1
  148. package/build/store/private-keys.js.map +1 -1
  149. package/build/utils/format-font-style.js +45 -0
  150. package/build/utils/format-font-style.js.map +1 -0
  151. package/build/utils/format-font-weight.js +68 -0
  152. package/build/utils/format-font-weight.js.map +1 -0
  153. package/build/utils/get-editor-region.js +34 -0
  154. package/build/utils/get-editor-region.js.map +1 -0
  155. package/build/utils/get-font-styles-and-weights.js +167 -0
  156. package/build/utils/get-font-styles-and-weights.js.map +1 -0
  157. package/build/utils/pasting.js +5 -13
  158. package/build/utils/pasting.js.map +1 -1
  159. package/build-module/components/block-breadcrumb/index.js +12 -1
  160. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  161. package/build-module/components/block-lock/modal.js +67 -67
  162. package/build-module/components/block-lock/modal.js.map +1 -1
  163. package/build-module/components/block-lock/toolbar.js +0 -1
  164. package/build-module/components/block-lock/toolbar.js.map +1 -1
  165. package/build-module/components/block-mover/button.js +1 -1
  166. package/build-module/components/block-mover/button.js.map +1 -1
  167. package/build-module/components/block-mover/index.js +12 -6
  168. package/build-module/components/block-mover/index.js.map +1 -1
  169. package/build-module/components/block-pattern-setup/setup-toolbar.js +2 -2
  170. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  171. package/build-module/components/block-patterns-paging/index.js +5 -7
  172. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  173. package/build-module/components/block-quick-navigation/index.js +20 -17
  174. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  175. package/build-module/components/block-rename/modal.js +5 -13
  176. package/build-module/components/block-rename/modal.js.map +1 -1
  177. package/build-module/components/block-toolbar/shuffle.js +4 -1
  178. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  179. package/build-module/components/block-tools/block-selection-button.js +10 -61
  180. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  181. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +9 -2
  182. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  183. package/build-module/components/block-tools/index.js +14 -1
  184. package/build-module/components/block-tools/index.js.map +1 -1
  185. package/build-module/components/block-tools/use-show-block-tools.js +4 -2
  186. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  187. package/build-module/components/block-tools/zoom-out-mode-inserters.js +5 -4
  188. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  189. package/build-module/components/block-tools/zoom-out-popover.js +48 -0
  190. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -0
  191. package/build-module/components/block-tools/zoom-out-toolbar.js +131 -0
  192. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -0
  193. package/build-module/components/button-block-appender/index.js +3 -1
  194. package/build-module/components/button-block-appender/index.js.map +1 -1
  195. package/build-module/components/child-layout-control/index.js +194 -128
  196. package/build-module/components/child-layout-control/index.js.map +1 -1
  197. package/build-module/components/date-format-picker/index.js +11 -3
  198. package/build-module/components/date-format-picker/index.js.map +1 -1
  199. package/build-module/components/dimensions-tool/index.js +6 -4
  200. package/build-module/components/dimensions-tool/index.js.map +1 -1
  201. package/build-module/components/font-appearance-control/index.js +28 -63
  202. package/build-module/components/font-appearance-control/index.js.map +1 -1
  203. package/build-module/components/global-styles/background-panel.js +181 -119
  204. package/build-module/components/global-styles/background-panel.js.map +1 -1
  205. package/build-module/components/global-styles/border-panel.js +3 -2
  206. package/build-module/components/global-styles/border-panel.js.map +1 -1
  207. package/build-module/components/global-styles/color-panel.js +3 -2
  208. package/build-module/components/global-styles/color-panel.js.map +1 -1
  209. package/build-module/components/global-styles/dimensions-panel.js +3 -2
  210. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  211. package/build-module/components/global-styles/filters-panel.js +3 -2
  212. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  213. package/build-module/components/global-styles/hooks.js +8 -0
  214. package/build-module/components/global-styles/hooks.js.map +1 -1
  215. package/build-module/components/global-styles/image-settings-panel.js +3 -2
  216. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  217. package/build-module/components/global-styles/typography-panel.js +52 -14
  218. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  219. package/build-module/components/global-styles/typography-utils.js +48 -0
  220. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  221. package/build-module/components/global-styles/use-global-styles-output.js +25 -9
  222. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  223. package/build-module/components/global-styles/utils.js +15 -6
  224. package/build-module/components/global-styles/utils.js.map +1 -1
  225. package/build-module/components/grid/grid-item-movers.js +87 -0
  226. package/build-module/components/grid/grid-item-movers.js.map +1 -0
  227. package/build-module/components/{grid-visualizer → grid}/grid-item-resizer.js +13 -51
  228. package/build-module/components/grid/grid-item-resizer.js.map +1 -0
  229. package/build-module/components/grid/grid-visualizer.js +297 -0
  230. package/build-module/components/grid/grid-visualizer.js.map +1 -0
  231. package/build-module/components/grid/index.js +5 -0
  232. package/build-module/components/grid/index.js.map +1 -0
  233. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js +33 -0
  234. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js.map +1 -0
  235. package/build-module/components/grid/use-grid-layout-sync.js +162 -0
  236. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -0
  237. package/build-module/components/grid/utils.js +131 -0
  238. package/build-module/components/grid/utils.js.map +1 -0
  239. package/build-module/components/image-editor/aspect-ratio-dropdown.js +0 -1
  240. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  241. package/build-module/components/inner-blocks/index.js +1 -1
  242. package/build-module/components/inner-blocks/index.js.map +1 -1
  243. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
  244. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  245. package/build-module/components/inserter/menu.js +26 -4
  246. package/build-module/components/inserter/menu.js.map +1 -1
  247. package/build-module/components/inserter/quick-inserter.js +2 -1
  248. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  249. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -2
  250. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  251. package/build-module/components/link-control/link-preview.js +1 -1
  252. package/build-module/components/link-control/link-preview.js.map +1 -1
  253. package/build-module/components/media-placeholder/index.js +19 -23
  254. package/build-module/components/media-placeholder/index.js.map +1 -1
  255. package/build-module/components/navigable-toolbar/index.js +3 -1
  256. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  257. package/build-module/components/rich-text/event-listeners/input-rules.js +1 -1
  258. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  259. package/build-module/components/rich-text/index.native.js +11 -5
  260. package/build-module/components/rich-text/index.native.js.map +1 -1
  261. package/build-module/components/rich-text/native/index.native.js +14 -0
  262. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  263. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +5 -1
  264. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  265. package/build-module/components/tabbed-sidebar/index.js +60 -0
  266. package/build-module/components/tabbed-sidebar/index.js.map +1 -0
  267. package/build-module/components/url-popover/index.js +3 -0
  268. package/build-module/components/url-popover/index.js.map +1 -1
  269. package/build-module/hooks/background.js +26 -4
  270. package/build-module/hooks/background.js.map +1 -1
  271. package/build-module/hooks/block-hooks.js +11 -17
  272. package/build-module/hooks/block-hooks.js.map +1 -1
  273. package/build-module/hooks/block-style-variation.js +193 -11
  274. package/build-module/hooks/block-style-variation.js.map +1 -1
  275. package/build-module/hooks/duotone.js +16 -11
  276. package/build-module/hooks/duotone.js.map +1 -1
  277. package/build-module/hooks/grid-visualizer.js +64 -0
  278. package/build-module/hooks/grid-visualizer.js.map +1 -0
  279. package/build-module/hooks/index.js +3 -0
  280. package/build-module/hooks/index.js.map +1 -1
  281. package/build-module/hooks/layout-child.js +63 -38
  282. package/build-module/hooks/layout-child.js.map +1 -1
  283. package/build-module/hooks/position.js +2 -9
  284. package/build-module/hooks/position.js.map +1 -1
  285. package/build-module/hooks/use-bindings-attributes.js +16 -6
  286. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  287. package/build-module/hooks/utils.js +5 -2
  288. package/build-module/hooks/utils.js.map +1 -1
  289. package/build-module/layouts/constrained.js +44 -2
  290. package/build-module/layouts/constrained.js.map +1 -1
  291. package/build-module/layouts/grid.js +92 -76
  292. package/build-module/layouts/grid.js.map +1 -1
  293. package/build-module/lock-unlock.js +1 -1
  294. package/build-module/lock-unlock.js.map +1 -1
  295. package/build-module/private-apis.js +8 -3
  296. package/build-module/private-apis.js.map +1 -1
  297. package/build-module/store/actions.js +17 -1
  298. package/build-module/store/actions.js.map +1 -1
  299. package/build-module/store/defaults.js +0 -2
  300. package/build-module/store/defaults.js.map +1 -1
  301. package/build-module/store/defaults.native.js +0 -3
  302. package/build-module/store/defaults.native.js.map +1 -1
  303. package/build-module/store/private-keys.js +1 -0
  304. package/build-module/store/private-keys.js.map +1 -1
  305. package/build-module/utils/format-font-style.js +39 -0
  306. package/build-module/utils/format-font-style.js.map +1 -0
  307. package/build-module/utils/format-font-weight.js +62 -0
  308. package/build-module/utils/format-font-weight.js.map +1 -0
  309. package/build-module/utils/get-editor-region.js +28 -0
  310. package/build-module/utils/get-editor-region.js.map +1 -0
  311. package/build-module/utils/get-font-styles-and-weights.js +160 -0
  312. package/build-module/utils/get-font-styles-and-weights.js.map +1 -0
  313. package/build-module/utils/pasting.js +5 -13
  314. package/build-module/utils/pasting.js.map +1 -1
  315. package/build-style/content-rtl.css +1 -0
  316. package/build-style/content.css +1 -0
  317. package/build-style/style-rtl.css +238 -106
  318. package/build-style/style.css +238 -106
  319. package/package.json +32 -32
  320. package/src/components/block-breadcrumb/index.js +16 -1
  321. package/src/components/block-lock/modal.js +95 -82
  322. package/src/components/block-lock/style.scss +11 -1
  323. package/src/components/block-lock/toolbar.js +0 -1
  324. package/src/components/block-mover/button.js +1 -1
  325. package/src/components/block-mover/index.js +37 -24
  326. package/src/components/block-pattern-setup/setup-toolbar.js +2 -2
  327. package/src/components/block-patterns-paging/index.js +8 -11
  328. package/src/components/block-patterns-paging/style.scss +18 -0
  329. package/src/components/block-quick-navigation/index.js +21 -28
  330. package/src/components/block-rename/modal.js +2 -8
  331. package/src/components/block-switcher/test/index.js +6 -6
  332. package/src/components/block-toolbar/shuffle.js +4 -1
  333. package/src/components/block-toolbar/style.scss +1 -11
  334. package/src/components/block-tools/block-selection-button.js +11 -83
  335. package/src/components/block-tools/block-toolbar-breadcrumb.js +9 -4
  336. package/src/components/block-tools/index.js +21 -1
  337. package/src/components/block-tools/style.scss +15 -0
  338. package/src/components/block-tools/use-show-block-tools.js +14 -6
  339. package/src/components/block-tools/zoom-out-mode-inserters.js +5 -4
  340. package/src/components/block-tools/zoom-out-popover.js +49 -0
  341. package/src/components/block-tools/zoom-out-toolbar.js +140 -0
  342. package/src/components/button-block-appender/index.js +2 -1
  343. package/src/components/child-layout-control/index.js +243 -160
  344. package/src/components/date-format-picker/index.js +10 -1
  345. package/src/components/date-format-picker/style.scss +0 -9
  346. package/src/components/dimensions-tool/index.js +97 -89
  347. package/src/components/font-appearance-control/index.js +29 -83
  348. package/src/components/font-appearance-control/style.scss +3 -5
  349. package/src/components/global-styles/background-panel.js +249 -170
  350. package/src/components/global-styles/border-panel.js +3 -2
  351. package/src/components/global-styles/color-panel.js +3 -2
  352. package/src/components/global-styles/dimensions-panel.js +3 -2
  353. package/src/components/global-styles/filters-panel.js +3 -2
  354. package/src/components/global-styles/hooks.js +9 -0
  355. package/src/components/global-styles/image-settings-panel.js +3 -2
  356. package/src/components/global-styles/style.scss +105 -20
  357. package/src/components/global-styles/test/typography-utils.js +269 -0
  358. package/src/components/global-styles/test/use-global-styles-output.js +38 -3
  359. package/src/components/global-styles/typography-panel.js +49 -12
  360. package/src/components/global-styles/typography-utils.js +63 -0
  361. package/src/components/global-styles/use-global-styles-output.js +25 -9
  362. package/src/components/global-styles/utils.js +17 -6
  363. package/src/components/grid/grid-item-movers.js +112 -0
  364. package/src/components/{grid-visualizer → grid}/grid-item-resizer.js +15 -52
  365. package/src/components/grid/grid-visualizer.js +384 -0
  366. package/src/components/grid/index.js +4 -0
  367. package/src/components/grid/style.scss +98 -0
  368. package/src/components/grid/use-get-number-of-blocks-before-cell.js +30 -0
  369. package/src/components/grid/use-grid-layout-sync.js +170 -0
  370. package/src/components/grid/utils.js +178 -0
  371. package/src/components/iframe/content.scss +1 -0
  372. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -1
  373. package/src/components/inner-blocks/index.js +4 -1
  374. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -16
  375. package/src/components/inserter/menu.js +47 -13
  376. package/src/components/inserter/quick-inserter.js +6 -1
  377. package/src/components/inserter/style.scss +1 -49
  378. package/src/components/inspector-controls/block-support-tools-panel.js +3 -3
  379. package/src/components/link-control/link-preview.js +1 -1
  380. package/src/components/media-placeholder/index.js +22 -32
  381. package/src/components/navigable-toolbar/index.js +3 -1
  382. package/src/components/rich-text/event-listeners/input-rules.js +1 -1
  383. package/src/components/rich-text/index.native.js +10 -8
  384. package/src/components/rich-text/native/index.native.js +17 -0
  385. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +6 -1
  386. package/src/components/tabbed-sidebar/README.md +76 -0
  387. package/src/components/tabbed-sidebar/index.js +70 -0
  388. package/src/components/tabbed-sidebar/style.scss +53 -0
  389. package/src/components/url-popover/index.js +3 -0
  390. package/src/hooks/background.js +25 -10
  391. package/src/hooks/block-hooks.js +9 -16
  392. package/src/hooks/block-style-variation.js +226 -9
  393. package/src/hooks/duotone.js +16 -12
  394. package/src/hooks/grid-visualizer.js +64 -0
  395. package/src/hooks/index.js +3 -0
  396. package/src/hooks/layout-child.js +75 -39
  397. package/src/hooks/position.js +3 -10
  398. package/src/hooks/test/get-variation-styles-with-ref-values.js +91 -0
  399. package/src/hooks/use-bindings-attributes.js +18 -4
  400. package/src/hooks/utils.js +5 -1
  401. package/src/layouts/constrained.js +43 -2
  402. package/src/layouts/grid.js +175 -88
  403. package/src/lock-unlock.js +1 -1
  404. package/src/private-apis.js +12 -1
  405. package/src/store/actions.js +21 -1
  406. package/src/store/defaults.js +0 -2
  407. package/src/store/defaults.native.js +0 -3
  408. package/src/store/private-keys.js +1 -0
  409. package/src/style.scss +2 -2
  410. package/src/utils/format-font-style.js +40 -0
  411. package/src/utils/format-font-weight.js +63 -0
  412. package/src/utils/get-editor-region.js +31 -0
  413. package/src/utils/get-font-styles-and-weights.js +191 -0
  414. package/src/utils/pasting.js +5 -12
  415. package/src/utils/test/format-font-style.js +34 -0
  416. package/src/utils/test/format-font-weight.js +66 -0
  417. package/src/utils/test/get-font-styles-and-weights.js +513 -0
  418. package/tsconfig.tsbuildinfo +1 -1
  419. package/build/components/grid-visualizer/grid-item-resizer.js.map +0 -1
  420. package/build/components/grid-visualizer/grid-visualizer.js +0 -92
  421. package/build/components/grid-visualizer/grid-visualizer.js.map +0 -1
  422. package/build/components/grid-visualizer/index.js.map +0 -1
  423. package/build/components/grid-visualizer/utils.js +0 -10
  424. package/build/components/grid-visualizer/utils.js.map +0 -1
  425. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +0 -1
  426. package/build-module/components/grid-visualizer/grid-visualizer.js +0 -84
  427. package/build-module/components/grid-visualizer/grid-visualizer.js.map +0 -1
  428. package/build-module/components/grid-visualizer/index.js +0 -3
  429. package/build-module/components/grid-visualizer/index.js.map +0 -1
  430. package/build-module/components/grid-visualizer/utils.js +0 -4
  431. package/build-module/components/grid-visualizer/utils.js.map +0 -1
  432. package/src/components/grid-visualizer/grid-visualizer.js +0 -101
  433. package/src/components/grid-visualizer/index.js +0 -2
  434. package/src/components/grid-visualizer/style.scss +0 -34
  435. package/src/components/grid-visualizer/utils.js +0 -5
  436. package/src/hooks/position.scss +0 -18
  437. /package/src/components/font-sizes/{README.MD → README.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","Icon","positionCenter","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSettings","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","layoutBlockSupport","wideSize","contentSize","justifyContent","allowJustification","allowCustomContentAndWideSize","onJustificationChange","value","justificationOptions","icon","availableUnits","units","children","className","labelPosition","__unstableInputWidth","nextWidth","parseFloat","__nextHasNoMarginBottom","map","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","key","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none"],"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tpositionCenter,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ allowCustomContentAndWideSize && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls\">\n\t\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\twideSize: nextWidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","Icon","positionCenter","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSettings","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","BlockControls","JustifyContentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","layoutBlockSupport","wideSize","contentSize","justifyContent","allowJustification","allowCustomContentAndWideSize","onJustificationChange","value","justificationOptions","icon","availableUnits","units","children","className","labelPosition","__unstableInputWidth","nextWidth","parseFloat","__nextHasNoMarginBottom","map","toolBarControls","DefaultLayoutToolbarControls","group","__experimentalShareWithChildBlocks","DefaultLayoutJustifyContentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","key","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none","POPOVER_PROPS","placement","allowedControls","popoverProps"],"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tpositionCenter,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { BlockControls, JustifyContentControl } from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ allowCustomContentAndWideSize && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls\">\n\t\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\twideSize: nextWidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tconst { allowJustification = true } = layoutBlockSupport;\n\n\t\tif ( ! allowJustification ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DefaultLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction DefaultLayoutJustifyContentControl( { layout, onChange } ) {\n\tconst { justifyContent = 'center' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\n\treturn (\n\t\t<JustifyContentControl\n\t\t\tallowedControls={ allowedControls }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,6 @@ import { appendSelectors, getBlockGapCSS } from './utils';
12
12
  import { getGapCSSValue } from '../hooks/gap';
13
13
  import { shouldSkipSerialization } from '../hooks/utils';
14
14
  import { LAYOUT_DEFINITIONS } from './definitions';
15
- import { GridVisualizer } from '../components/grid-visualizer';
16
15
  import { jsx as _jsx } from "react/jsx-runtime";
17
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
18
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -70,26 +69,27 @@ export default {
70
69
  const {
71
70
  allowSizingOnChildren = false
72
71
  } = layoutBlockSupport;
72
+
73
+ // In the experiment we want to also show column control in Auto mode, and
74
+ // the minimum width control in Manual mode.
75
+ const showColumnsControl = window.__experimentalEnableGridInteractivity || layout?.columnCount;
76
+ const showMinWidthControl = window.__experimentalEnableGridInteractivity || !layout?.columnCount;
73
77
  return /*#__PURE__*/_jsxs(_Fragment, {
74
78
  children: [/*#__PURE__*/_jsx(GridLayoutTypeControl, {
75
79
  layout: layout,
76
80
  onChange: onChange
77
- }), layout?.columnCount ? /*#__PURE__*/_jsx(GridLayoutColumnsAndRowsControl, {
81
+ }), showColumnsControl && /*#__PURE__*/_jsx(GridLayoutColumnsAndRowsControl, {
78
82
  layout: layout,
79
83
  onChange: onChange,
80
84
  allowSizingOnChildren: allowSizingOnChildren
81
- }) : /*#__PURE__*/_jsx(GridLayoutMinimumWidthControl, {
85
+ }), showMinWidthControl && /*#__PURE__*/_jsx(GridLayoutMinimumWidthControl, {
82
86
  layout: layout,
83
87
  onChange: onChange
84
88
  })]
85
89
  });
86
90
  },
87
- toolBarControls: function GridLayoutToolbarControls({
88
- clientId
89
- }) {
90
- return /*#__PURE__*/_jsx(GridVisualizer, {
91
- clientId: clientId
92
- });
91
+ toolBarControls: function GridLayoutToolbarControls() {
92
+ return null;
93
93
  },
94
94
  getLayoutStyle: function getLayoutStyle({
95
95
  selector,
@@ -100,23 +100,43 @@ export default {
100
100
  layoutDefinitions = LAYOUT_DEFINITIONS
101
101
  }) {
102
102
  const {
103
- minimumColumnWidth = '12rem',
103
+ minimumColumnWidth = null,
104
104
  columnCount = null,
105
105
  rowCount = null
106
106
  } = layout;
107
107
 
108
+ // Check that the grid layout attributes are of the correct type, so that we don't accidentally
109
+ // write code that stores a string attribute instead of a number.
110
+ if (process.env.NODE_ENV === 'development') {
111
+ if (minimumColumnWidth && typeof minimumColumnWidth !== 'string') {
112
+ throw new Error('minimumColumnWidth must be a string');
113
+ }
114
+ if (columnCount && typeof columnCount !== 'number') {
115
+ throw new Error('columnCount must be a number');
116
+ }
117
+ if (rowCount && typeof rowCount !== 'number') {
118
+ throw new Error('rowCount must be a number');
119
+ }
120
+ }
121
+
108
122
  // If a block's block.json skips serialization for spacing or spacing.blockGap,
109
123
  // don't apply the user-defined value to the styles.
110
124
  const blockGapValue = style?.spacing?.blockGap && !shouldSkipSerialization(blockName, 'spacing', 'blockGap') ? getGapCSSValue(style?.spacing?.blockGap, '0.5em') : undefined;
111
125
  let output = '';
112
126
  const rules = [];
113
- if (columnCount) {
127
+ if (minimumColumnWidth && columnCount > 0) {
128
+ const maxValue = `max(${minimumColumnWidth}, ( 100% - (${blockGapValue || '1.2rem'}*${columnCount - 1}) ) / ${columnCount})`;
129
+ rules.push(`grid-template-columns: repeat(auto-fill, minmax(${maxValue}, 1fr))`, `container-type: inline-size`);
130
+ if (rowCount) {
131
+ rules.push(`grid-template-rows: repeat(${rowCount}, minmax(1rem, auto))`);
132
+ }
133
+ } else if (columnCount) {
114
134
  rules.push(`grid-template-columns: repeat(${columnCount}, minmax(0, 1fr))`);
115
135
  if (rowCount) {
116
- rules.push(`grid-template-rows: repeat(${rowCount}, minmax(0, 1fr))`);
136
+ rules.push(`grid-template-rows: repeat(${rowCount}, minmax(1rem, auto))`);
117
137
  }
118
- } else if (minimumColumnWidth) {
119
- rules.push(`grid-template-columns: repeat(auto-fill, minmax(min(${minimumColumnWidth}, 100%), 1fr))`, 'container-type: inline-size');
138
+ } else {
139
+ rules.push(`grid-template-columns: repeat(auto-fill, minmax(min(${minimumColumnWidth || '12rem'}, 100%), 1fr))`, 'container-type: inline-size');
120
140
  }
121
141
  if (rules.length) {
122
142
  // Reason to disable: the extra line breaks added by prettier mess with the unit tests.
@@ -144,9 +164,13 @@ function GridLayoutMinimumWidthControl({
144
164
  onChange
145
165
  }) {
146
166
  const {
147
- minimumColumnWidth: value = '12rem'
167
+ minimumColumnWidth,
168
+ columnCount,
169
+ isManualPlacement
148
170
  } = layout;
149
- const [quantity, unit] = parseQuantityAndUnitFromRawValue(value);
171
+ const defaultValue = isManualPlacement || columnCount ? null : '12rem';
172
+ const value = minimumColumnWidth || defaultValue;
173
+ const [quantity, unit = 'rem'] = parseQuantityAndUnitFromRawValue(value);
150
174
  const handleSliderChange = next => {
151
175
  onChange({
152
176
  ...layout,
@@ -184,7 +208,7 @@ function GridLayoutMinimumWidthControl({
184
208
  onChange: newValue => {
185
209
  onChange({
186
210
  ...layout,
187
- minimumColumnWidth: newValue
211
+ minimumColumnWidth: newValue === '' ? undefined : newValue
188
212
  });
189
213
  },
190
214
  onUnitChange: handleUnitChange,
@@ -198,7 +222,7 @@ function GridLayoutMinimumWidthControl({
198
222
  isBlock: true,
199
223
  children: /*#__PURE__*/_jsx(RangeControl, {
200
224
  onChange: handleSliderChange,
201
- value: quantity,
225
+ value: quantity || 0,
202
226
  min: 0,
203
227
  max: RANGE_CONTROL_MAX_VALUES[unit] || 600,
204
228
  withInputField: false,
@@ -216,13 +240,16 @@ function GridLayoutColumnsAndRowsControl({
216
240
  onChange,
217
241
  allowSizingOnChildren
218
242
  }) {
243
+ // If the grid interactivity experiment is enabled, allow unsetting the column count.
244
+ const defaultColumnCount = window.__experimentalEnableGridInteractivity ? undefined : 3;
219
245
  const {
220
- columnCount = 3,
221
- rowCount
246
+ columnCount = defaultColumnCount,
247
+ rowCount,
248
+ isManualPlacement
222
249
  } = layout;
223
- return /*#__PURE__*/_jsxs(_Fragment, {
224
- children: [/*#__PURE__*/_jsxs("fieldset", {
225
- children: [/*#__PURE__*/_jsx(BaseControl.VisualLabel, {
250
+ return /*#__PURE__*/_jsx(_Fragment, {
251
+ children: /*#__PURE__*/_jsxs("fieldset", {
252
+ children: [(!window.__experimentalEnableGridInteractivity || !isManualPlacement) && /*#__PURE__*/_jsx(BaseControl.VisualLabel, {
226
253
  as: "legend",
227
254
  children: __('Columns')
228
255
  }), /*#__PURE__*/_jsxs(Flex, {
@@ -232,77 +259,58 @@ function GridLayoutColumnsAndRowsControl({
232
259
  children: /*#__PURE__*/_jsx(NumberControl, {
233
260
  size: "__unstable-large",
234
261
  onChange: value => {
235
- /**
236
- * If the input is cleared, avoid switching
237
- * back to "Auto" by setting a value of "1".
238
- */
239
- const validValue = value !== '' ? value : '1';
240
- onChange({
241
- ...layout,
242
- columnCount: validValue
243
- });
262
+ if (window.__experimentalEnableGridInteractivity) {
263
+ // Allow unsetting the column count when in auto mode.
264
+ const defaultNewColumnCount = isManualPlacement ? 1 : undefined;
265
+ const newColumnCount = value === '' ? defaultNewColumnCount : parseInt(value, 10);
266
+ onChange({
267
+ ...layout,
268
+ columnCount: newColumnCount
269
+ });
270
+ } else {
271
+ // Don't allow unsetting the column count.
272
+ const newColumnCount = value === '' ? 1 : parseInt(value, 10);
273
+ onChange({
274
+ ...layout,
275
+ columnCount: newColumnCount
276
+ });
277
+ }
244
278
  },
245
279
  value: columnCount,
246
- min: 1,
280
+ min: 0,
247
281
  label: __('Columns'),
248
- hideLabelFromVision: true
282
+ hideLabelFromVision: !window.__experimentalEnableGridInteractivity || !isManualPlacement
249
283
  })
250
284
  }), /*#__PURE__*/_jsx(FlexItem, {
251
285
  isBlock: true,
252
- children: /*#__PURE__*/_jsx(RangeControl, {
253
- value: parseInt(columnCount, 10) // RangeControl can't deal with strings.
254
- ,
255
- onChange: value => onChange({
256
- ...layout,
257
- columnCount: value
258
- }),
259
- min: 1,
260
- max: 16,
261
- withInputField: false,
262
- label: __('Columns'),
263
- hideLabelFromVision: true
264
- })
265
- })]
266
- })]
267
- }), allowSizingOnChildren && window.__experimentalEnableGridInteractivity && /*#__PURE__*/_jsxs("fieldset", {
268
- children: [/*#__PURE__*/_jsx(BaseControl.VisualLabel, {
269
- as: "legend",
270
- children: __('Rows')
271
- }), /*#__PURE__*/_jsxs(Flex, {
272
- gap: 4,
273
- children: [/*#__PURE__*/_jsx(FlexItem, {
274
- isBlock: true,
275
- children: /*#__PURE__*/_jsx(NumberControl, {
286
+ children: window.__experimentalEnableGridInteractivity && allowSizingOnChildren && isManualPlacement ? /*#__PURE__*/_jsx(NumberControl, {
276
287
  size: "__unstable-large",
277
288
  onChange: value => {
289
+ // Don't allow unsetting the row count.
290
+ const newRowCount = value === '' ? 1 : parseInt(value, 10);
278
291
  onChange({
279
292
  ...layout,
280
- rowCount: value
293
+ rowCount: newRowCount
281
294
  });
282
295
  },
283
296
  value: rowCount,
284
- min: 1,
285
- label: __('Rows'),
286
- hideLabelFromVision: true
287
- })
288
- }), /*#__PURE__*/_jsx(FlexItem, {
289
- isBlock: true,
290
- children: /*#__PURE__*/_jsx(RangeControl, {
291
- value: parseInt(rowCount, 10) // RangeControl can't deal with strings.
292
- ,
297
+ min: 0,
298
+ label: __('Rows')
299
+ }) : /*#__PURE__*/_jsx(RangeControl, {
300
+ value: columnCount !== null && columnCount !== void 0 ? columnCount : 0,
293
301
  onChange: value => onChange({
294
302
  ...layout,
295
- rowCount: value
303
+ columnCount: value
296
304
  }),
297
- min: 1,
305
+ min: 0,
298
306
  max: 16,
299
307
  withInputField: false,
300
- label: __('Rows'),
308
+ label: __('Columns'),
301
309
  hideLabelFromVision: true
302
310
  })
303
311
  })]
304
312
  })]
305
- })]
313
+ })
306
314
  });
307
315
  }
308
316
 
@@ -313,7 +321,9 @@ function GridLayoutTypeControl({
313
321
  }) {
314
322
  const {
315
323
  columnCount,
316
- minimumColumnWidth
324
+ rowCount,
325
+ minimumColumnWidth,
326
+ isManualPlacement
317
327
  } = layout;
318
328
 
319
329
  /**
@@ -321,26 +331,32 @@ function GridLayoutTypeControl({
321
331
  * previous type so we can switch back without loss.
322
332
  */
323
333
  const [tempColumnCount, setTempColumnCount] = useState(columnCount || 3);
334
+ const [tempRowCount, setTempRowCount] = useState(rowCount);
324
335
  const [tempMinimumColumnWidth, setTempMinimumColumnWidth] = useState(minimumColumnWidth || '12rem');
325
- const isManual = !!columnCount ? 'manual' : 'auto';
336
+ const gridPlacement = isManualPlacement || !!columnCount && !window.__experimentalEnableGridInteractivity ? 'manual' : 'auto';
326
337
  const onChangeType = value => {
327
338
  if (value === 'manual') {
328
339
  setTempMinimumColumnWidth(minimumColumnWidth || '12rem');
329
340
  } else {
330
341
  setTempColumnCount(columnCount || 3);
342
+ setTempRowCount(rowCount);
331
343
  }
332
344
  onChange({
333
345
  ...layout,
334
346
  columnCount: value === 'manual' ? tempColumnCount : null,
347
+ rowCount: value === 'manual' && window.__experimentalEnableGridInteractivity ? tempRowCount : undefined,
348
+ isManualPlacement: value === 'manual' && window.__experimentalEnableGridInteractivity ? true : undefined,
335
349
  minimumColumnWidth: value === 'auto' ? tempMinimumColumnWidth : null
336
350
  });
337
351
  };
352
+ const helpText = gridPlacement === 'manual' ? __('Grid items can be manually placed in any position on the grid.') : __('Grid items are placed automatically depending on their order.');
338
353
  return /*#__PURE__*/_jsxs(ToggleGroupControl, {
339
354
  __nextHasNoMarginBottom: true,
340
- label: __('Type'),
341
- value: isManual,
355
+ label: __('Grid item position'),
356
+ value: gridPlacement,
342
357
  onChange: onChangeType,
343
358
  isBlock: true,
359
+ help: window.__experimentalEnableGridInteractivity ? helpText : undefined,
344
360
  children: [/*#__PURE__*/_jsx(ToggleGroupControlOption, {
345
361
  value: "auto",
346
362
  label: __('Auto')
@@ -1 +1 @@
1
- {"version":3,"names":["__","BaseControl","Flex","FlexItem","RangeControl","__experimentalNumberControl","NumberControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useState","appendSelectors","getBlockGapCSS","getGapCSSValue","shouldSkipSerialization","LAYOUT_DEFINITIONS","GridVisualizer","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","RANGE_CONTROL_MAX_VALUES","px","vw","vh","em","rem","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","units","value","label","default","name","inspectorControls","GridLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowSizingOnChildren","children","GridLayoutTypeControl","columnCount","GridLayoutColumnsAndRowsControl","GridLayoutMinimumWidthControl","toolBarControls","GridLayoutToolbarControls","clientId","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","minimumColumnWidth","rowCount","blockGapValue","spacing","blockGap","undefined","output","rules","push","length","join","getOrientation","getAlignments","quantity","unit","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","VisualLabel","as","gap","isBlock","size","onUnitChange","min","hideLabelFromVision","max","withInputField","validValue","parseInt","window","__experimentalEnableGridInteractivity","tempColumnCount","setTempColumnCount","tempMinimumColumnWidth","setTempMinimumColumnWidth","isManual","onChangeType","__nextHasNoMarginBottom"],"sources":["@wordpress/block-editor/src/layouts/grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\tBaseControl,\n\tFlex,\n\tFlexItem,\n\tRangeControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\nimport { GridVisualizer } from '../components/grid-visualizer';\n\nconst RANGE_CONTROL_MAX_VALUES = {\n\tpx: 600,\n\t'%': 100,\n\tvw: 100,\n\tvh: 100,\n\tem: 38,\n\trem: 38,\n\tsvw: 100,\n\tlvw: 100,\n\tdvw: 100,\n\tsvh: 100,\n\tlvh: 100,\n\tdvh: 100,\n\tvi: 100,\n\tsvi: 100,\n\tlvi: 100,\n\tdvi: 100,\n\tvb: 100,\n\tsvb: 100,\n\tlvb: 100,\n\tdvb: 100,\n\tvmin: 100,\n\tsvmin: 100,\n\tlvmin: 100,\n\tdvmin: 100,\n\tvmax: 100,\n\tsvmax: 100,\n\tlvmax: 100,\n\tdvmax: 100,\n};\n\nconst units = [\n\t{ value: 'px', label: 'px', default: 0 },\n\t{ value: 'rem', label: 'rem', default: 0 },\n\t{ value: 'em', label: 'em', default: 0 },\n];\n\nexport default {\n\tname: 'grid',\n\tlabel: __( 'Grid' ),\n\tinspectorControls: function GridLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowSizingOnChildren = false } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<GridLayoutTypeControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t\t{ layout?.columnCount ? (\n\t\t\t\t\t<GridLayoutColumnsAndRowsControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tallowSizingOnChildren={ allowSizingOnChildren }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<GridLayoutMinimumWidthControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function GridLayoutToolbarControls( { clientId } ) {\n\t\treturn <GridVisualizer clientId={ clientId } />;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst {\n\t\t\tminimumColumnWidth = '12rem',\n\t\t\tcolumnCount = null,\n\t\t\trowCount = null,\n\t\t} = layout;\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, '0.5em' )\n\t\t\t\t: undefined;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( columnCount ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(${ columnCount }, minmax(0, 1fr))`\n\t\t\t);\n\t\t\tif ( rowCount ) {\n\t\t\t\trules.push(\n\t\t\t\t\t`grid-template-rows: repeat(${ rowCount }, minmax(0, 1fr))`\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( minimumColumnWidth ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(min(${ minimumColumnWidth }, 100%), 1fr))`,\n\t\t\t\t'container-type: inline-size'\n\t\t\t);\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\t// Reason to disable: the extra line breaks added by prettier mess with the unit tests.\n\t\t\t// eslint-disable-next-line prettier/prettier\n\t\t\toutput = `${ appendSelectors( selector ) } { ${ rules.join(\n\t\t\t\t'; '\n\t\t\t) }; }`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'grid',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'horizontal';\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\n// Enables setting minimum width of grid items.\nfunction GridLayoutMinimumWidthControl( { layout, onChange } ) {\n\tconst { minimumColumnWidth: value = '12rem' } = layout;\n\tconst [ quantity, unit ] = parseQuantityAndUnitFromRawValue( value );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: [ next, unit ].join( '' ),\n\t\t} );\n\t};\n\n\t// Mostly copied from HeightControl.\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tlet newValue;\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && unit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tnewValue = ( quantity / 16 ).toFixed( 2 ) + newUnit;\n\t\t} else if ( [ 'em', 'rem' ].includes( unit ) && newUnit === 'px' ) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tnewValue = Math.round( quantity * 16 ) + newUnit;\n\t\t}\n\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<fieldset>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Minimum column width' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex gap={ 4 }>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\tminimumColumnWidth: newValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\tvalue={ quantity }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ RANGE_CONTROL_MAX_VALUES[ unit ] || 600 }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n\n// Enables setting number of grid columns\nfunction GridLayoutColumnsAndRowsControl( {\n\tlayout,\n\tonChange,\n\tallowSizingOnChildren,\n} ) {\n\tconst { columnCount = 3, rowCount } = layout;\n\n\treturn (\n\t\t<>\n\t\t\t<fieldset>\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ __( 'Columns' ) }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t<Flex gap={ 4 }>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t * If the input is cleared, avoid switching\n\t\t\t\t\t\t\t\t * back to \"Auto\" by setting a value of \"1\".\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\tconst validValue = value !== '' ? value : '1';\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcolumnCount: validValue,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tvalue={ parseInt( columnCount, 10 ) } // RangeControl can't deal with strings.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcolumnCount: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ 16 }\n\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</fieldset>\n\t\t\t{ allowSizingOnChildren &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity && (\n\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Rows' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t<Flex gap={ 4 }>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\trowCount: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tvalue={ rowCount }\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Rows' ) }\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\tvalue={ parseInt( rowCount, 10 ) } // RangeControl can't deal with strings.\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\trowCount: value,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={ 16 }\n\t\t\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Rows' ) }\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</fieldset>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n\n// Enables switching between grid types\nfunction GridLayoutTypeControl( { layout, onChange } ) {\n\tconst { columnCount, minimumColumnWidth } = layout;\n\n\t/**\n\t * When switching, temporarily save any custom values set on the\n\t * previous type so we can switch back without loss.\n\t */\n\tconst [ tempColumnCount, setTempColumnCount ] = useState(\n\t\tcolumnCount || 3\n\t);\n\tconst [ tempMinimumColumnWidth, setTempMinimumColumnWidth ] = useState(\n\t\tminimumColumnWidth || '12rem'\n\t);\n\n\tconst isManual = !! columnCount ? 'manual' : 'auto';\n\n\tconst onChangeType = ( value ) => {\n\t\tif ( value === 'manual' ) {\n\t\t\tsetTempMinimumColumnWidth( minimumColumnWidth || '12rem' );\n\t\t} else {\n\t\t\tsetTempColumnCount( columnCount || 3 );\n\t\t}\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tcolumnCount: value === 'manual' ? tempColumnCount : null,\n\t\t\tminimumColumnWidth:\n\t\t\t\tvalue === 'auto' ? tempMinimumColumnWidth : null,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Type' ) }\n\t\t\tvalue={ isManual }\n\t\t\tonChange={ onChangeType }\n\t\t\tisBlock\n\t\t>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"auto\"\n\t\t\t\tvalue=\"auto\"\n\t\t\t\tlabel={ __( 'Auto' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"manual\"\n\t\t\t\tvalue=\"manual\"\n\t\t\t\tlabel={ __( 'Manual' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AAEpC,SACCC,WAAW,EACXC,IAAI,EACJC,QAAQ,EACRC,YAAY,EACZC,2BAA2B,IAAIC,aAAa,EAC5CC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,yBAAyB,IAAIC,WAAW,EACxCC,8CAA8C,IAAIC,gCAAgC,QAC5E,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SAASC,eAAe,EAAEC,cAAc,QAAQ,SAAS;AACzD,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,uBAAuB,QAAQ,gBAAgB;AACxD,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,cAAc,QAAQ,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE/D,MAAMC,wBAAwB,GAAG;EAChCC,EAAE,EAAE,GAAG;EACP,GAAG,EAAE,GAAG;EACRC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE,EAAE;EACPC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,EAAE,EAAE,GAAG;EACPC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,EAAE,EAAE,GAAG;EACPC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,IAAI,EAAE,GAAG;EACTC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,GAAG;EACTC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE;AACR,CAAC;AAED,MAAMC,KAAK,GAAG,CACb;EAAEC,KAAK,EAAE,IAAI;EAAEC,KAAK,EAAE,IAAI;EAAEC,OAAO,EAAE;AAAE,CAAC,EACxC;EAAEF,KAAK,EAAE,KAAK;EAAEC,KAAK,EAAE,KAAK;EAAEC,OAAO,EAAE;AAAE,CAAC,EAC1C;EAAEF,KAAK,EAAE,IAAI;EAAEC,KAAK,EAAE,IAAI;EAAEC,OAAO,EAAE;AAAE,CAAC,CACxC;AAED,eAAe;EACdC,IAAI,EAAE,MAAM;EACZF,KAAK,EAAE1D,EAAE,CAAE,MAAO,CAAC;EACnB6D,iBAAiB,EAAE,SAASC,2BAA2BA,CAAE;IACxDC,MAAM,GAAG,CAAC,CAAC;IACXC,QAAQ;IACRC,kBAAkB,GAAG,CAAC;EACvB,CAAC,EAAG;IACH,MAAM;MAAEC,qBAAqB,GAAG;IAAM,CAAC,GAAGD,kBAAkB;IAC5D,oBACCtC,KAAA,CAAAF,SAAA;MAAA0C,QAAA,gBACC5C,IAAA,CAAC6C,qBAAqB;QACrBL,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA;MAAU,CACrB,CAAC,EACAD,MAAM,EAAEM,WAAW,gBACpB9C,IAAA,CAAC+C,+BAA+B;QAC/BP,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA,QAAU;QACrBE,qBAAqB,EAAGA;MAAuB,CAC/C,CAAC,gBAEF3C,IAAA,CAACgD,6BAA6B;QAC7BR,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA;MAAU,CACrB,CACD;IAAA,CACA,CAAC;EAEL,CAAC;EACDQ,eAAe,EAAE,SAASC,yBAAyBA,CAAE;IAAEC;EAAS,CAAC,EAAG;IACnE,oBAAOnD,IAAA,CAACF,cAAc;MAACqD,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAChD,CAAC;EACDC,cAAc,EAAE,SAASA,cAAcA,CAAE;IACxCC,QAAQ;IACRb,MAAM;IACNc,KAAK;IACLC,SAAS;IACTC,kBAAkB;IAClBC,iBAAiB,GAAG5D;EACrB,CAAC,EAAG;IACH,MAAM;MACL6D,kBAAkB,GAAG,OAAO;MAC5BZ,WAAW,GAAG,IAAI;MAClBa,QAAQ,GAAG;IACZ,CAAC,GAAGnB,MAAM;;IAEV;IACA;IACA,MAAMoB,aAAa,GAClBN,KAAK,EAAEO,OAAO,EAAEC,QAAQ,IACxB,CAAElE,uBAAuB,CAAE2D,SAAS,EAAE,SAAS,EAAE,UAAW,CAAC,GAC1D5D,cAAc,CAAE2D,KAAK,EAAEO,OAAO,EAAEC,QAAQ,EAAE,OAAQ,CAAC,GACnDC,SAAS;IAEb,IAAIC,MAAM,GAAG,EAAE;IACf,MAAMC,KAAK,GAAG,EAAE;IAEhB,IAAKnB,WAAW,EAAG;MAClBmB,KAAK,CAACC,IAAI,CACR,iCAAiCpB,WAAa,mBAChD,CAAC;MACD,IAAKa,QAAQ,EAAG;QACfM,KAAK,CAACC,IAAI,CACR,8BAA8BP,QAAU,mBAC1C,CAAC;MACF;IACD,CAAC,MAAM,IAAKD,kBAAkB,EAAG;MAChCO,KAAK,CAACC,IAAI,CACR,uDAAuDR,kBAAoB,gBAAe,EAC3F,6BACD,CAAC;IACF;IAEA,IAAKO,KAAK,CAACE,MAAM,EAAG;MACnB;MACA;MACAH,MAAM,GAAI,GAAGvE,eAAe,CAAE4D,QAAS,CAAG,MAAMY,KAAK,CAACG,IAAI,CACzD,IACD,CAAG,KAAI;IACR;;IAEA;IACA,IAAKZ,kBAAkB,IAAII,aAAa,EAAG;MAC1CI,MAAM,IAAItE,cAAc,CACvB2D,QAAQ,EACRI,iBAAiB,EACjB,MAAM,EACNG,aACD,CAAC;IACF;IACA,OAAOI,MAAM;EACd,CAAC;EACDK,cAAcA,CAAA,EAAG;IAChB,OAAO,YAAY;EACpB,CAAC;EACDC,aAAaA,CAAA,EAAG;IACf,OAAO,EAAE;EACV;AACD,CAAC;;AAED;AACA,SAAStB,6BAA6BA,CAAE;EAAER,MAAM;EAAEC;AAAS,CAAC,EAAG;EAC9D,MAAM;IAAEiB,kBAAkB,EAAExB,KAAK,GAAG;EAAQ,CAAC,GAAGM,MAAM;EACtD,MAAM,CAAE+B,QAAQ,EAAEC,IAAI,CAAE,GAAGjF,gCAAgC,CAAE2C,KAAM,CAAC;EAEpE,MAAMuC,kBAAkB,GAAKC,IAAI,IAAM;IACtCjC,QAAQ,CAAE;MACT,GAAGD,MAAM;MACTkB,kBAAkB,EAAE,CAAEgB,IAAI,EAAEF,IAAI,CAAE,CAACJ,IAAI,CAAE,EAAG;IAC7C,CAAE,CAAC;EACJ,CAAC;;EAED;EACA,MAAMO,gBAAgB,GAAKC,OAAO,IAAM;IACvC;IACA;IACA,IAAIC,QAAQ;IAEZ,IAAK,CAAE,IAAI,EAAE,KAAK,CAAE,CAACC,QAAQ,CAAEF,OAAQ,CAAC,IAAIJ,IAAI,KAAK,IAAI,EAAG;MAC3D;MACAK,QAAQ,GAAG,CAAEN,QAAQ,GAAG,EAAE,EAAGQ,OAAO,CAAE,CAAE,CAAC,GAAGH,OAAO;IACpD,CAAC,MAAM,IAAK,CAAE,IAAI,EAAE,KAAK,CAAE,CAACE,QAAQ,CAAEN,IAAK,CAAC,IAAII,OAAO,KAAK,IAAI,EAAG;MAClE;MACAC,QAAQ,GAAGG,IAAI,CAACC,KAAK,CAAEV,QAAQ,GAAG,EAAG,CAAC,GAAGK,OAAO;IACjD;IAEAnC,QAAQ,CAAE;MACT,GAAGD,MAAM;MACTkB,kBAAkB,EAAEmB;IACrB,CAAE,CAAC;EACJ,CAAC;EAED,oBACCzE,KAAA;IAAAwC,QAAA,gBACC5C,IAAA,CAACtB,WAAW,CAACwG,WAAW;MAACC,EAAE,EAAC,QAAQ;MAAAvC,QAAA,EACjCnE,EAAE,CAAE,sBAAuB;IAAC,CACN,CAAC,eAC1B2B,KAAA,CAACzB,IAAI;MAACyG,GAAG,EAAG,CAAG;MAAAxC,QAAA,gBACd5C,IAAA,CAACpB,QAAQ;QAACyG,OAAO;QAAAzC,QAAA,eAChB5C,IAAA,CAACX,WAAW;UACXiG,IAAI,EAAC,kBAAkB;UACvB7C,QAAQ,EAAKoC,QAAQ,IAAM;YAC1BpC,QAAQ,CAAE;cACT,GAAGD,MAAM;cACTkB,kBAAkB,EAAEmB;YACrB,CAAE,CAAC;UACJ,CAAG;UACHU,YAAY,EAAGZ,gBAAkB;UACjCzC,KAAK,EAAGA,KAAO;UACfD,KAAK,EAAGA,KAAO;UACfuD,GAAG,EAAG,CAAG;UACTrD,KAAK,EAAG1D,EAAE,CAAE,sBAAuB,CAAG;UACtCgH,mBAAmB;QAAA,CACnB;MAAC,CACO,CAAC,eACXzF,IAAA,CAACpB,QAAQ;QAACyG,OAAO;QAAAzC,QAAA,eAChB5C,IAAA,CAACnB,YAAY;UACZ4D,QAAQ,EAAGgC,kBAAoB;UAC/BvC,KAAK,EAAGqC,QAAU;UAClBiB,GAAG,EAAG,CAAG;UACTE,GAAG,EAAGrF,wBAAwB,CAAEmE,IAAI,CAAE,IAAI,GAAK;UAC/CmB,cAAc,EAAG,KAAO;UACxBxD,KAAK,EAAG1D,EAAE,CAAE,sBAAuB,CAAG;UACtCgH,mBAAmB;QAAA,CACnB;MAAC,CACO,CAAC;IAAA,CACN,CAAC;EAAA,CACE,CAAC;AAEb;;AAEA;AACA,SAAS1C,+BAA+BA,CAAE;EACzCP,MAAM;EACNC,QAAQ;EACRE;AACD,CAAC,EAAG;EACH,MAAM;IAAEG,WAAW,GAAG,CAAC;IAAEa;EAAS,CAAC,GAAGnB,MAAM;EAE5C,oBACCpC,KAAA,CAAAF,SAAA;IAAA0C,QAAA,gBACCxC,KAAA;MAAAwC,QAAA,gBACC5C,IAAA,CAACtB,WAAW,CAACwG,WAAW;QAACC,EAAE,EAAC,QAAQ;QAAAvC,QAAA,EACjCnE,EAAE,CAAE,SAAU;MAAC,CACO,CAAC,eAC1B2B,KAAA,CAACzB,IAAI;QAACyG,GAAG,EAAG,CAAG;QAAAxC,QAAA,gBACd5C,IAAA,CAACpB,QAAQ;UAACyG,OAAO;UAAAzC,QAAA,eAChB5C,IAAA,CAACjB,aAAa;YACbuG,IAAI,EAAC,kBAAkB;YACvB7C,QAAQ,EAAKP,KAAK,IAAM;cACvB;AACR;AACA;AACA;cACQ,MAAM0D,UAAU,GAAG1D,KAAK,KAAK,EAAE,GAAGA,KAAK,GAAG,GAAG;cAC7CO,QAAQ,CAAE;gBACT,GAAGD,MAAM;gBACTM,WAAW,EAAE8C;cACd,CAAE,CAAC;YACJ,CAAG;YACH1D,KAAK,EAAGY,WAAa;YACrB0C,GAAG,EAAG,CAAG;YACTrD,KAAK,EAAG1D,EAAE,CAAE,SAAU,CAAG;YACzBgH,mBAAmB;UAAA,CACnB;QAAC,CACO,CAAC,eACXzF,IAAA,CAACpB,QAAQ;UAACyG,OAAO;UAAAzC,QAAA,eAChB5C,IAAA,CAACnB,YAAY;YACZqD,KAAK,EAAG2D,QAAQ,CAAE/C,WAAW,EAAE,EAAG,CAAG,CAAC;YAAA;YACtCL,QAAQ,EAAKP,KAAK,IACjBO,QAAQ,CAAE;cACT,GAAGD,MAAM;cACTM,WAAW,EAAEZ;YACd,CAAE,CACF;YACDsD,GAAG,EAAG,CAAG;YACTE,GAAG,EAAG,EAAI;YACVC,cAAc,EAAG,KAAO;YACxBxD,KAAK,EAAG1D,EAAE,CAAE,SAAU,CAAG;YACzBgH,mBAAmB;UAAA,CACnB;QAAC,CACO,CAAC;MAAA,CACN,CAAC;IAAA,CACE,CAAC,EACT9C,qBAAqB,IACtBmD,MAAM,CAACC,qCAAqC,iBAC3C3F,KAAA;MAAAwC,QAAA,gBACC5C,IAAA,CAACtB,WAAW,CAACwG,WAAW;QAACC,EAAE,EAAC,QAAQ;QAAAvC,QAAA,EACjCnE,EAAE,CAAE,MAAO;MAAC,CACU,CAAC,eAC1B2B,KAAA,CAACzB,IAAI;QAACyG,GAAG,EAAG,CAAG;QAAAxC,QAAA,gBACd5C,IAAA,CAACpB,QAAQ;UAACyG,OAAO;UAAAzC,QAAA,eAChB5C,IAAA,CAACjB,aAAa;YACbuG,IAAI,EAAC,kBAAkB;YACvB7C,QAAQ,EAAKP,KAAK,IAAM;cACvBO,QAAQ,CAAE;gBACT,GAAGD,MAAM;gBACTmB,QAAQ,EAAEzB;cACX,CAAE,CAAC;YACJ,CAAG;YACHA,KAAK,EAAGyB,QAAU;YAClB6B,GAAG,EAAG,CAAG;YACTrD,KAAK,EAAG1D,EAAE,CAAE,MAAO,CAAG;YACtBgH,mBAAmB;UAAA,CACnB;QAAC,CACO,CAAC,eACXzF,IAAA,CAACpB,QAAQ;UAACyG,OAAO;UAAAzC,QAAA,eAChB5C,IAAA,CAACnB,YAAY;YACZqD,KAAK,EAAG2D,QAAQ,CAAElC,QAAQ,EAAE,EAAG,CAAG,CAAC;YAAA;YACnClB,QAAQ,EAAKP,KAAK,IACjBO,QAAQ,CAAE;cACT,GAAGD,MAAM;cACTmB,QAAQ,EAAEzB;YACX,CAAE,CACF;YACDsD,GAAG,EAAG,CAAG;YACTE,GAAG,EAAG,EAAI;YACVC,cAAc,EAAG,KAAO;YACxBxD,KAAK,EAAG1D,EAAE,CAAE,MAAO,CAAG;YACtBgH,mBAAmB;UAAA,CACnB;QAAC,CACO,CAAC;MAAA,CACN,CAAC;IAAA,CACE,CACV;EAAA,CACD,CAAC;AAEL;;AAEA;AACA,SAAS5C,qBAAqBA,CAAE;EAAEL,MAAM;EAAEC;AAAS,CAAC,EAAG;EACtD,MAAM;IAAEK,WAAW;IAAEY;EAAmB,CAAC,GAAGlB,MAAM;;EAElD;AACD;AACA;AACA;EACC,MAAM,CAAEwD,eAAe,EAAEC,kBAAkB,CAAE,GAAGzG,QAAQ,CACvDsD,WAAW,IAAI,CAChB,CAAC;EACD,MAAM,CAAEoD,sBAAsB,EAAEC,yBAAyB,CAAE,GAAG3G,QAAQ,CACrEkE,kBAAkB,IAAI,OACvB,CAAC;EAED,MAAM0C,QAAQ,GAAG,CAAC,CAAEtD,WAAW,GAAG,QAAQ,GAAG,MAAM;EAEnD,MAAMuD,YAAY,GAAKnE,KAAK,IAAM;IACjC,IAAKA,KAAK,KAAK,QAAQ,EAAG;MACzBiE,yBAAyB,CAAEzC,kBAAkB,IAAI,OAAQ,CAAC;IAC3D,CAAC,MAAM;MACNuC,kBAAkB,CAAEnD,WAAW,IAAI,CAAE,CAAC;IACvC;IACAL,QAAQ,CAAE;MACT,GAAGD,MAAM;MACTM,WAAW,EAAEZ,KAAK,KAAK,QAAQ,GAAG8D,eAAe,GAAG,IAAI;MACxDtC,kBAAkB,EACjBxB,KAAK,KAAK,MAAM,GAAGgE,sBAAsB,GAAG;IAC9C,CAAE,CAAC;EACJ,CAAC;EAED,oBACC9F,KAAA,CAACnB,kBAAkB;IAClBqH,uBAAuB;IACvBnE,KAAK,EAAG1D,EAAE,CAAE,MAAO,CAAG;IACtByD,KAAK,EAAGkE,QAAU;IAClB3D,QAAQ,EAAG4D,YAAc;IACzBhB,OAAO;IAAAzC,QAAA,gBAEP5C,IAAA,CAACb,wBAAwB;MAExB+C,KAAK,EAAC,MAAM;MACZC,KAAK,EAAG1D,EAAE,CAAE,MAAO;IAAG,GAFlB,MAGJ,CAAC,eACFuB,IAAA,CAACb,wBAAwB;MAExB+C,KAAK,EAAC,QAAQ;MACdC,KAAK,EAAG1D,EAAE,CAAE,QAAS;IAAG,GAFpB,QAGJ,CAAC;EAAA,CACiB,CAAC;AAEvB","ignoreList":[]}
1
+ {"version":3,"names":["__","BaseControl","Flex","FlexItem","RangeControl","__experimentalNumberControl","NumberControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useState","appendSelectors","getBlockGapCSS","getGapCSSValue","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","RANGE_CONTROL_MAX_VALUES","px","vw","vh","em","rem","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","units","value","label","default","name","inspectorControls","GridLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowSizingOnChildren","showColumnsControl","window","__experimentalEnableGridInteractivity","columnCount","showMinWidthControl","children","GridLayoutTypeControl","GridLayoutColumnsAndRowsControl","GridLayoutMinimumWidthControl","toolBarControls","GridLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","minimumColumnWidth","rowCount","process","env","NODE_ENV","Error","blockGapValue","spacing","blockGap","undefined","output","rules","maxValue","push","length","join","getOrientation","getAlignments","isManualPlacement","defaultValue","quantity","unit","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","VisualLabel","as","gap","isBlock","size","onUnitChange","min","hideLabelFromVision","max","withInputField","defaultColumnCount","defaultNewColumnCount","newColumnCount","parseInt","newRowCount","tempColumnCount","setTempColumnCount","tempRowCount","setTempRowCount","tempMinimumColumnWidth","setTempMinimumColumnWidth","gridPlacement","onChangeType","helpText","__nextHasNoMarginBottom","help"],"sources":["@wordpress/block-editor/src/layouts/grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\tBaseControl,\n\tFlex,\n\tFlexItem,\n\tRangeControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nconst RANGE_CONTROL_MAX_VALUES = {\n\tpx: 600,\n\t'%': 100,\n\tvw: 100,\n\tvh: 100,\n\tem: 38,\n\trem: 38,\n\tsvw: 100,\n\tlvw: 100,\n\tdvw: 100,\n\tsvh: 100,\n\tlvh: 100,\n\tdvh: 100,\n\tvi: 100,\n\tsvi: 100,\n\tlvi: 100,\n\tdvi: 100,\n\tvb: 100,\n\tsvb: 100,\n\tlvb: 100,\n\tdvb: 100,\n\tvmin: 100,\n\tsvmin: 100,\n\tlvmin: 100,\n\tdvmin: 100,\n\tvmax: 100,\n\tsvmax: 100,\n\tlvmax: 100,\n\tdvmax: 100,\n};\n\nconst units = [\n\t{ value: 'px', label: 'px', default: 0 },\n\t{ value: 'rem', label: 'rem', default: 0 },\n\t{ value: 'em', label: 'em', default: 0 },\n];\n\nexport default {\n\tname: 'grid',\n\tlabel: __( 'Grid' ),\n\tinspectorControls: function GridLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowSizingOnChildren = false } = layoutBlockSupport;\n\n\t\t// In the experiment we want to also show column control in Auto mode, and\n\t\t// the minimum width control in Manual mode.\n\t\tconst showColumnsControl =\n\t\t\twindow.__experimentalEnableGridInteractivity || layout?.columnCount;\n\t\tconst showMinWidthControl =\n\t\t\twindow.__experimentalEnableGridInteractivity ||\n\t\t\t! layout?.columnCount;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<GridLayoutTypeControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t<GridLayoutColumnsAndRowsControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tallowSizingOnChildren={ allowSizingOnChildren }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ showMinWidthControl && (\n\t\t\t\t\t<GridLayoutMinimumWidthControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function GridLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst {\n\t\t\tminimumColumnWidth = null,\n\t\t\tcolumnCount = null,\n\t\t\trowCount = null,\n\t\t} = layout;\n\n\t\t// Check that the grid layout attributes are of the correct type, so that we don't accidentally\n\t\t// write code that stores a string attribute instead of a number.\n\t\tif ( process.env.NODE_ENV === 'development' ) {\n\t\t\tif (\n\t\t\t\tminimumColumnWidth &&\n\t\t\t\ttypeof minimumColumnWidth !== 'string'\n\t\t\t) {\n\t\t\t\tthrow new Error( 'minimumColumnWidth must be a string' );\n\t\t\t}\n\t\t\tif ( columnCount && typeof columnCount !== 'number' ) {\n\t\t\t\tthrow new Error( 'columnCount must be a number' );\n\t\t\t}\n\t\t\tif ( rowCount && typeof rowCount !== 'number' ) {\n\t\t\t\tthrow new Error( 'rowCount must be a number' );\n\t\t\t}\n\t\t}\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, '0.5em' )\n\t\t\t\t: undefined;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( minimumColumnWidth && columnCount > 0 ) {\n\t\t\tconst maxValue = `max(${ minimumColumnWidth }, ( 100% - (${\n\t\t\t\tblockGapValue || '1.2rem'\n\t\t\t}*${ columnCount - 1 }) ) / ${ columnCount })`;\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(${ maxValue }, 1fr))`,\n\t\t\t\t`container-type: inline-size`\n\t\t\t);\n\t\t\tif ( rowCount ) {\n\t\t\t\trules.push(\n\t\t\t\t\t`grid-template-rows: repeat(${ rowCount }, minmax(1rem, auto))`\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( columnCount ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(${ columnCount }, minmax(0, 1fr))`\n\t\t\t);\n\t\t\tif ( rowCount ) {\n\t\t\t\trules.push(\n\t\t\t\t\t`grid-template-rows: repeat(${ rowCount }, minmax(1rem, auto))`\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(min(${\n\t\t\t\t\tminimumColumnWidth || '12rem'\n\t\t\t\t}, 100%), 1fr))`,\n\t\t\t\t'container-type: inline-size'\n\t\t\t);\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\t// Reason to disable: the extra line breaks added by prettier mess with the unit tests.\n\t\t\t// eslint-disable-next-line prettier/prettier\n\t\t\toutput = `${ appendSelectors( selector ) } { ${ rules.join(\n\t\t\t\t'; '\n\t\t\t) }; }`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'grid',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'horizontal';\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\n// Enables setting minimum width of grid items.\nfunction GridLayoutMinimumWidthControl( { layout, onChange } ) {\n\tconst { minimumColumnWidth, columnCount, isManualPlacement } = layout;\n\tconst defaultValue = isManualPlacement || columnCount ? null : '12rem';\n\tconst value = minimumColumnWidth || defaultValue;\n\tconst [ quantity, unit = 'rem' ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: [ next, unit ].join( '' ),\n\t\t} );\n\t};\n\n\t// Mostly copied from HeightControl.\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tlet newValue;\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && unit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tnewValue = ( quantity / 16 ).toFixed( 2 ) + newUnit;\n\t\t} else if ( [ 'em', 'rem' ].includes( unit ) && newUnit === 'px' ) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tnewValue = Math.round( quantity * 16 ) + newUnit;\n\t\t}\n\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<fieldset>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Minimum column width' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex gap={ 4 }>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\tminimumColumnWidth:\n\t\t\t\t\t\t\t\t\tnewValue === '' ? undefined : newValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\tvalue={ quantity || 0 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ RANGE_CONTROL_MAX_VALUES[ unit ] || 600 }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n\n// Enables setting number of grid columns\nfunction GridLayoutColumnsAndRowsControl( {\n\tlayout,\n\tonChange,\n\tallowSizingOnChildren,\n} ) {\n\t// If the grid interactivity experiment is enabled, allow unsetting the column count.\n\tconst defaultColumnCount = window.__experimentalEnableGridInteractivity\n\t\t? undefined\n\t\t: 3;\n\tconst {\n\t\tcolumnCount = defaultColumnCount,\n\t\trowCount,\n\t\tisManualPlacement,\n\t} = layout;\n\n\treturn (\n\t\t<>\n\t\t\t<fieldset>\n\t\t\t\t{ ( ! window.__experimentalEnableGridInteractivity ||\n\t\t\t\t\t! isManualPlacement ) && (\n\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t{ __( 'Columns' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t) }\n\t\t\t\t<Flex gap={ 4 }>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t// Allow unsetting the column count when in auto mode.\n\t\t\t\t\t\t\t\t\tconst defaultNewColumnCount =\n\t\t\t\t\t\t\t\t\t\tisManualPlacement ? 1 : undefined;\n\t\t\t\t\t\t\t\t\tconst newColumnCount =\n\t\t\t\t\t\t\t\t\t\tvalue === ''\n\t\t\t\t\t\t\t\t\t\t\t? defaultNewColumnCount\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: newColumnCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Don't allow unsetting the column count.\n\t\t\t\t\t\t\t\t\tconst newColumnCount =\n\t\t\t\t\t\t\t\t\t\tvalue === ''\n\t\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: newColumnCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thideLabelFromVision={\n\t\t\t\t\t\t\t\t! window.__experimentalEnableGridInteractivity ||\n\t\t\t\t\t\t\t\t! isManualPlacement\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t{ window.__experimentalEnableGridInteractivity &&\n\t\t\t\t\t\tallowSizingOnChildren &&\n\t\t\t\t\t\tisManualPlacement ? (\n\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t// Don't allow unsetting the row count.\n\t\t\t\t\t\t\t\t\tconst newRowCount =\n\t\t\t\t\t\t\t\t\t\tvalue === ''\n\t\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\trowCount: newRowCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tvalue={ rowCount }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tlabel={ __( 'Rows' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tvalue={ columnCount ?? 0 }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tmax={ 16 }\n\t\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</fieldset>\n\t\t</>\n\t);\n}\n\n// Enables switching between grid types\nfunction GridLayoutTypeControl( { layout, onChange } ) {\n\tconst { columnCount, rowCount, minimumColumnWidth, isManualPlacement } =\n\t\tlayout;\n\n\t/**\n\t * When switching, temporarily save any custom values set on the\n\t * previous type so we can switch back without loss.\n\t */\n\tconst [ tempColumnCount, setTempColumnCount ] = useState(\n\t\tcolumnCount || 3\n\t);\n\tconst [ tempRowCount, setTempRowCount ] = useState( rowCount );\n\tconst [ tempMinimumColumnWidth, setTempMinimumColumnWidth ] = useState(\n\t\tminimumColumnWidth || '12rem'\n\t);\n\n\tconst gridPlacement =\n\t\tisManualPlacement ||\n\t\t( !! columnCount && ! window.__experimentalEnableGridInteractivity )\n\t\t\t? 'manual'\n\t\t\t: 'auto';\n\n\tconst onChangeType = ( value ) => {\n\t\tif ( value === 'manual' ) {\n\t\t\tsetTempMinimumColumnWidth( minimumColumnWidth || '12rem' );\n\t\t} else {\n\t\t\tsetTempColumnCount( columnCount || 3 );\n\t\t\tsetTempRowCount( rowCount );\n\t\t}\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tcolumnCount: value === 'manual' ? tempColumnCount : null,\n\t\t\trowCount:\n\t\t\t\tvalue === 'manual' &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? tempRowCount\n\t\t\t\t\t: undefined,\n\t\t\tisManualPlacement:\n\t\t\t\tvalue === 'manual' &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? true\n\t\t\t\t\t: undefined,\n\t\t\tminimumColumnWidth:\n\t\t\t\tvalue === 'auto' ? tempMinimumColumnWidth : null,\n\t\t} );\n\t};\n\n\tconst helpText =\n\t\tgridPlacement === 'manual'\n\t\t\t? __(\n\t\t\t\t\t'Grid items can be manually placed in any position on the grid.'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Grid items are placed automatically depending on their order.'\n\t\t\t );\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Grid item position' ) }\n\t\t\tvalue={ gridPlacement }\n\t\t\tonChange={ onChangeType }\n\t\t\tisBlock\n\t\t\thelp={\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? helpText\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"auto\"\n\t\t\t\tvalue=\"auto\"\n\t\t\t\tlabel={ __( 'Auto' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"manual\"\n\t\t\t\tvalue=\"manual\"\n\t\t\t\tlabel={ __( 'Manual' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,5 +5,5 @@ import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/pri
5
5
  export const {
6
6
  lock,
7
7
  unlock
8
- } = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/block-editor');
8
+ } = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/block-editor');
9
9
  //# sourceMappingURL=lock-unlock.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/block-editor/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/block-editor'\n\t);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAgD,QAAQ,yBAAyB;AAE1F,OAAO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5BF,gDAAgD,CAC/C,iHAAiH,EACjH,yBACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/block-editor/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.',\n\t\t'@wordpress/block-editor'\n\t);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAgD,QAAQ,yBAAyB;AAE1F,OAAO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5BF,gDAAgD,CAC/C,+HAA+H,EAC/H,yBACD,CAAC","ignoreList":[]}
@@ -16,7 +16,7 @@ import { cleanEmptyObject, useStyleOverride } from './hooks/utils';
16
16
  import BlockQuickNavigation from './components/block-quick-navigation';
17
17
  import { LayoutStyle } from './components/block-list/layout';
18
18
  import { BlockRemovalWarningModal } from './components/block-removal-warning-modal';
19
- import { useLayoutClasses, useLayoutStyles } from './hooks';
19
+ import { setBackgroundStyleDefaults, useLayoutClasses, useLayoutStyles, __unstableBlockStyleVariationOverridesWithConfig } from './hooks';
20
20
  import DimensionsTool from './components/dimensions-tool';
21
21
  import ResolutionTool from './components/resolution-tool';
22
22
  import TextAlignmentControl from './components/text-alignment-control';
@@ -25,7 +25,7 @@ import { usesContextKey } from './components/rich-text/format-edit';
25
25
  import { ExperimentalBlockCanvas } from './components/block-canvas';
26
26
  import { getDuotoneFilter } from './components/duotone/utils';
27
27
  import { useFlashEditableBlocks } from './components/use-flash-editable-blocks';
28
- import { selectBlockPatternsKey, reusableBlocksSelectKey, globalStylesDataKey } from './store/private-keys';
28
+ import { selectBlockPatternsKey, reusableBlocksSelectKey, globalStylesDataKey, globalStylesLinksDataKey } from './store/private-keys';
29
29
  import { requiresWrapperOnCopy } from './components/writing-flow/utils';
30
30
  import { PrivateRichText } from './components/rich-text/';
31
31
  import { PrivateBlockPopover } from './components/block-popover';
@@ -33,6 +33,7 @@ import { PrivateInserterLibrary } from './components/inserter/library';
33
33
  import { PrivatePublishDateTimePicker } from './components/publish-date-time-picker';
34
34
  import useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';
35
35
  import useBlockDisplayTitle from './components/block-title/use-block-display-title';
36
+ import TabbedSidebar from './components/tabbed-sidebar';
36
37
 
37
38
  /**
38
39
  * Private @wordpress/block-editor APIs.
@@ -62,12 +63,14 @@ lock(privateApis, {
62
63
  useLayoutStyles,
63
64
  DimensionsTool,
64
65
  ResolutionTool,
66
+ TabbedSidebar,
65
67
  TextAlignmentControl,
66
68
  ReusableBlocksRenameHint,
67
69
  useReusableBlocksRenameHint,
68
70
  usesContextKey,
69
71
  useFlashEditableBlocks,
70
72
  globalStylesDataKey,
73
+ globalStylesLinksDataKey,
71
74
  selectBlockPatternsKey,
72
75
  requiresWrapperOnCopy,
73
76
  PrivateRichText,
@@ -76,6 +79,8 @@ lock(privateApis, {
76
79
  PrivateBlockPopover,
77
80
  PrivatePublishDateTimePicker,
78
81
  useSpacingSizes,
79
- useBlockDisplayTitle
82
+ useBlockDisplayTitle,
83
+ __unstableBlockStyleVariationOverridesWithConfig,
84
+ setBackgroundStyleDefaults
80
85
  });
81
86
  //# sourceMappingURL=private-apis.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["globalStyles","ExperimentalBlockEditorProvider","lock","getRichTextValues","ResizableBoxPopover","ComposedPrivateInserter","PrivateInserter","default","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","BlockInfo","useHasBlockToolbar","cleanEmptyObject","useStyleOverride","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","useLayoutClasses","useLayoutStyles","DimensionsTool","ResolutionTool","TextAlignmentControl","ReusableBlocksRenameHint","useReusableBlocksRenameHint","usesContextKey","ExperimentalBlockCanvas","getDuotoneFilter","useFlashEditableBlocks","selectBlockPatternsKey","reusableBlocksSelectKey","globalStylesDataKey","requiresWrapperOnCopy","PrivateRichText","PrivateBlockPopover","PrivateInserterLibrary","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle","privateApis"],"sources":["@wordpress/block-editor/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { getRichTextValues } from './components/rich-text/get-rich-text-values';\nimport ResizableBoxPopover from './components/resizable-box-popover';\nimport { ComposedPrivateInserter as PrivateInserter } from './components/inserter';\nimport { default as PrivateQuickInserter } from './components/inserter/quick-inserter';\nimport {\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n} from './components/inserter/search-items';\nimport { PrivateListView } from './components/list-view';\nimport BlockInfo from './components/block-info-slot-fill';\nimport { useHasBlockToolbar } from './components/block-toolbar/use-has-block-toolbar';\nimport { cleanEmptyObject, useStyleOverride } from './hooks/utils';\nimport BlockQuickNavigation from './components/block-quick-navigation';\nimport { LayoutStyle } from './components/block-list/layout';\nimport { BlockRemovalWarningModal } from './components/block-removal-warning-modal';\nimport { useLayoutClasses, useLayoutStyles } from './hooks';\nimport DimensionsTool from './components/dimensions-tool';\nimport ResolutionTool from './components/resolution-tool';\nimport TextAlignmentControl from './components/text-alignment-control';\nimport {\n\tdefault as ReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n} from './components/inserter/reusable-block-rename-hint';\nimport { usesContextKey } from './components/rich-text/format-edit';\nimport { ExperimentalBlockCanvas } from './components/block-canvas';\nimport { getDuotoneFilter } from './components/duotone/utils';\nimport { useFlashEditableBlocks } from './components/use-flash-editable-blocks';\nimport {\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tglobalStylesDataKey,\n} from './store/private-keys';\nimport { requiresWrapperOnCopy } from './components/writing-flow/utils';\nimport { PrivateRichText } from './components/rich-text/';\nimport { PrivateBlockPopover } from './components/block-popover';\nimport { PrivateInserterLibrary } from './components/inserter/library';\nimport { PrivatePublishDateTimePicker } from './components/publish-date-time-picker';\nimport useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';\nimport useBlockDisplayTitle from './components/block-title/use-block-display-title';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockCanvas,\n\tExperimentalBlockEditorProvider,\n\tgetDuotoneFilter,\n\tgetRichTextValues,\n\tPrivateInserter,\n\tPrivateQuickInserter,\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseHasBlockToolbar,\n\tcleanEmptyObject,\n\tuseStyleOverride,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tDimensionsTool,\n\tResolutionTool,\n\tTextAlignmentControl,\n\tReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n\tusesContextKey,\n\tuseFlashEditableBlocks,\n\tglobalStylesDataKey,\n\tselectBlockPatternsKey,\n\trequiresWrapperOnCopy,\n\tPrivateRichText,\n\tPrivateInserterLibrary,\n\treusableBlocksSelectKey,\n\tPrivateBlockPopover,\n\tPrivatePublishDateTimePicker,\n\tuseSpacingSizes,\n\tuseBlockDisplayTitle,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,4BAA4B;AAC1D,SAASC,+BAA+B,QAAQ,uBAAuB;AACvE,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,iBAAiB,QAAQ,6CAA6C;AAC/E,OAAOC,mBAAmB,MAAM,oCAAoC;AACpE,SAASC,uBAAuB,IAAIC,eAAe,QAAQ,uBAAuB;AAClF,SAASC,OAAO,IAAIC,oBAAoB,QAAQ,sCAAsC;AACtF,SACCC,YAAY,EACZC,wBAAwB,EACxBC,eAAe,QACT,oCAAoC;AAC3C,SAASC,eAAe,QAAQ,wBAAwB;AACxD,OAAOC,SAAS,MAAM,mCAAmC;AACzD,SAASC,kBAAkB,QAAQ,kDAAkD;AACrF,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,eAAe;AAClE,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,wBAAwB,QAAQ,0CAA0C;AACnF,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,SAAS;AAC3D,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SACCjB,OAAO,IAAIkB,wBAAwB,EACnCC,2BAA2B,QACrB,kDAAkD;AACzD,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,sBAAsB,QAAQ,wCAAwC;AAC/E,SACCC,sBAAsB,EACtBC,uBAAuB,EACvBC,mBAAmB,QACb,sBAAsB;AAC7B,SAASC,qBAAqB,QAAQ,iCAAiC;AACvE,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SAASC,4BAA4B,QAAQ,uCAAuC;AACpF,OAAOC,eAAe,MAAM,4DAA4D;AACxF,OAAOC,oBAAoB,MAAM,kDAAkD;;AAEnF;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BvC,IAAI,CAAEuC,WAAW,EAAE;EAClB,GAAGzC,YAAY;EACf4B,uBAAuB;EACvB3B,+BAA+B;EAC/B4B,gBAAgB;EAChB1B,iBAAiB;EACjBG,eAAe;EACfE,oBAAoB;EACpBC,YAAY;EACZC,wBAAwB;EACxBC,eAAe;EACfC,eAAe;EACfR,mBAAmB;EACnBS,SAAS;EACTC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,oBAAoB;EACpBC,WAAW;EACXC,wBAAwB;EACxBC,gBAAgB;EAChBC,eAAe;EACfC,cAAc;EACdC,cAAc;EACdC,oBAAoB;EACpBC,wBAAwB;EACxBC,2BAA2B;EAC3BC,cAAc;EACdG,sBAAsB;EACtBG,mBAAmB;EACnBF,sBAAsB;EACtBG,qBAAqB;EACrBC,eAAe;EACfE,sBAAsB;EACtBL,uBAAuB;EACvBI,mBAAmB;EACnBE,4BAA4B;EAC5BC,eAAe;EACfC;AACD,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["globalStyles","ExperimentalBlockEditorProvider","lock","getRichTextValues","ResizableBoxPopover","ComposedPrivateInserter","PrivateInserter","default","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","BlockInfo","useHasBlockToolbar","cleanEmptyObject","useStyleOverride","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","setBackgroundStyleDefaults","useLayoutClasses","useLayoutStyles","__unstableBlockStyleVariationOverridesWithConfig","DimensionsTool","ResolutionTool","TextAlignmentControl","ReusableBlocksRenameHint","useReusableBlocksRenameHint","usesContextKey","ExperimentalBlockCanvas","getDuotoneFilter","useFlashEditableBlocks","selectBlockPatternsKey","reusableBlocksSelectKey","globalStylesDataKey","globalStylesLinksDataKey","requiresWrapperOnCopy","PrivateRichText","PrivateBlockPopover","PrivateInserterLibrary","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle","TabbedSidebar","privateApis"],"sources":["@wordpress/block-editor/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { getRichTextValues } from './components/rich-text/get-rich-text-values';\nimport ResizableBoxPopover from './components/resizable-box-popover';\nimport { ComposedPrivateInserter as PrivateInserter } from './components/inserter';\nimport { default as PrivateQuickInserter } from './components/inserter/quick-inserter';\nimport {\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n} from './components/inserter/search-items';\nimport { PrivateListView } from './components/list-view';\nimport BlockInfo from './components/block-info-slot-fill';\nimport { useHasBlockToolbar } from './components/block-toolbar/use-has-block-toolbar';\nimport { cleanEmptyObject, useStyleOverride } from './hooks/utils';\nimport BlockQuickNavigation from './components/block-quick-navigation';\nimport { LayoutStyle } from './components/block-list/layout';\nimport { BlockRemovalWarningModal } from './components/block-removal-warning-modal';\nimport {\n\tsetBackgroundStyleDefaults,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\t__unstableBlockStyleVariationOverridesWithConfig,\n} from './hooks';\nimport DimensionsTool from './components/dimensions-tool';\nimport ResolutionTool from './components/resolution-tool';\nimport TextAlignmentControl from './components/text-alignment-control';\nimport {\n\tdefault as ReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n} from './components/inserter/reusable-block-rename-hint';\nimport { usesContextKey } from './components/rich-text/format-edit';\nimport { ExperimentalBlockCanvas } from './components/block-canvas';\nimport { getDuotoneFilter } from './components/duotone/utils';\nimport { useFlashEditableBlocks } from './components/use-flash-editable-blocks';\nimport {\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n} from './store/private-keys';\nimport { requiresWrapperOnCopy } from './components/writing-flow/utils';\nimport { PrivateRichText } from './components/rich-text/';\nimport { PrivateBlockPopover } from './components/block-popover';\nimport { PrivateInserterLibrary } from './components/inserter/library';\nimport { PrivatePublishDateTimePicker } from './components/publish-date-time-picker';\nimport useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';\nimport useBlockDisplayTitle from './components/block-title/use-block-display-title';\nimport TabbedSidebar from './components/tabbed-sidebar';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockCanvas,\n\tExperimentalBlockEditorProvider,\n\tgetDuotoneFilter,\n\tgetRichTextValues,\n\tPrivateInserter,\n\tPrivateQuickInserter,\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseHasBlockToolbar,\n\tcleanEmptyObject,\n\tuseStyleOverride,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tDimensionsTool,\n\tResolutionTool,\n\tTabbedSidebar,\n\tTextAlignmentControl,\n\tReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n\tusesContextKey,\n\tuseFlashEditableBlocks,\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\trequiresWrapperOnCopy,\n\tPrivateRichText,\n\tPrivateInserterLibrary,\n\treusableBlocksSelectKey,\n\tPrivateBlockPopover,\n\tPrivatePublishDateTimePicker,\n\tuseSpacingSizes,\n\tuseBlockDisplayTitle,\n\t__unstableBlockStyleVariationOverridesWithConfig,\n\tsetBackgroundStyleDefaults,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,4BAA4B;AAC1D,SAASC,+BAA+B,QAAQ,uBAAuB;AACvE,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,iBAAiB,QAAQ,6CAA6C;AAC/E,OAAOC,mBAAmB,MAAM,oCAAoC;AACpE,SAASC,uBAAuB,IAAIC,eAAe,QAAQ,uBAAuB;AAClF,SAASC,OAAO,IAAIC,oBAAoB,QAAQ,sCAAsC;AACtF,SACCC,YAAY,EACZC,wBAAwB,EACxBC,eAAe,QACT,oCAAoC;AAC3C,SAASC,eAAe,QAAQ,wBAAwB;AACxD,OAAOC,SAAS,MAAM,mCAAmC;AACzD,SAASC,kBAAkB,QAAQ,kDAAkD;AACrF,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,eAAe;AAClE,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,wBAAwB,QAAQ,0CAA0C;AACnF,SACCC,0BAA0B,EAC1BC,gBAAgB,EAChBC,eAAe,EACfC,gDAAgD,QAC1C,SAAS;AAChB,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SACCnB,OAAO,IAAIoB,wBAAwB,EACnCC,2BAA2B,QACrB,kDAAkD;AACzD,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,sBAAsB,QAAQ,wCAAwC;AAC/E,SACCC,sBAAsB,EACtBC,uBAAuB,EACvBC,mBAAmB,EACnBC,wBAAwB,QAClB,sBAAsB;AAC7B,SAASC,qBAAqB,QAAQ,iCAAiC;AACvE,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SAASC,4BAA4B,QAAQ,uCAAuC;AACpF,OAAOC,eAAe,MAAM,4DAA4D;AACxF,OAAOC,oBAAoB,MAAM,kDAAkD;AACnF,OAAOC,aAAa,MAAM,6BAA6B;;AAEvD;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7B3C,IAAI,CAAE2C,WAAW,EAAE;EAClB,GAAG7C,YAAY;EACf8B,uBAAuB;EACvB7B,+BAA+B;EAC/B8B,gBAAgB;EAChB5B,iBAAiB;EACjBG,eAAe;EACfE,oBAAoB;EACpBC,YAAY;EACZC,wBAAwB;EACxBC,eAAe;EACfC,eAAe;EACfR,mBAAmB;EACnBS,SAAS;EACTC,kBAAkB;EAClBC,gBAAgB;EAChBC,gBAAgB;EAChBC,oBAAoB;EACpBC,WAAW;EACXC,wBAAwB;EACxBE,gBAAgB;EAChBC,eAAe;EACfE,cAAc;EACdC,cAAc;EACdmB,aAAa;EACblB,oBAAoB;EACpBC,wBAAwB;EACxBC,2BAA2B;EAC3BC,cAAc;EACdG,sBAAsB;EACtBG,mBAAmB;EACnBC,wBAAwB;EACxBH,sBAAsB;EACtBI,qBAAqB;EACrBC,eAAe;EACfE,sBAAsB;EACtBN,uBAAuB;EACvBK,mBAAmB;EACnBE,4BAA4B;EAC5BC,eAAe;EACfC,oBAAoB;EACpBpB,gDAAgD;EAChDH;AACD,CAAE,CAAC","ignoreList":[]}