@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
@@ -11,7 +11,6 @@ var _utils = require("./utils");
11
11
  var _gap = require("../hooks/gap");
12
12
  var _utils2 = require("../hooks/utils");
13
13
  var _definitions = require("./definitions");
14
- var _gridVisualizer = require("../components/grid-visualizer");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
16
15
  /**
17
16
  * WordPress dependencies
@@ -75,26 +74,27 @@ var _default = exports.default = {
75
74
  const {
76
75
  allowSizingOnChildren = false
77
76
  } = layoutBlockSupport;
77
+
78
+ // In the experiment we want to also show column control in Auto mode, and
79
+ // the minimum width control in Manual mode.
80
+ const showColumnsControl = window.__experimentalEnableGridInteractivity || layout?.columnCount;
81
+ const showMinWidthControl = window.__experimentalEnableGridInteractivity || !layout?.columnCount;
78
82
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
79
83
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridLayoutTypeControl, {
80
84
  layout: layout,
81
85
  onChange: onChange
82
- }), layout?.columnCount ? /*#__PURE__*/(0, _jsxRuntime.jsx)(GridLayoutColumnsAndRowsControl, {
86
+ }), showColumnsControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(GridLayoutColumnsAndRowsControl, {
83
87
  layout: layout,
84
88
  onChange: onChange,
85
89
  allowSizingOnChildren: allowSizingOnChildren
86
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(GridLayoutMinimumWidthControl, {
90
+ }), showMinWidthControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(GridLayoutMinimumWidthControl, {
87
91
  layout: layout,
88
92
  onChange: onChange
89
93
  })]
90
94
  });
91
95
  },
92
- toolBarControls: function GridLayoutToolbarControls({
93
- clientId
94
- }) {
95
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_gridVisualizer.GridVisualizer, {
96
- clientId: clientId
97
- });
96
+ toolBarControls: function GridLayoutToolbarControls() {
97
+ return null;
98
98
  },
99
99
  getLayoutStyle: function getLayoutStyle({
100
100
  selector,
@@ -105,23 +105,43 @@ var _default = exports.default = {
105
105
  layoutDefinitions = _definitions.LAYOUT_DEFINITIONS
106
106
  }) {
107
107
  const {
108
- minimumColumnWidth = '12rem',
108
+ minimumColumnWidth = null,
109
109
  columnCount = null,
110
110
  rowCount = null
111
111
  } = layout;
112
112
 
113
+ // Check that the grid layout attributes are of the correct type, so that we don't accidentally
114
+ // write code that stores a string attribute instead of a number.
115
+ if (process.env.NODE_ENV === 'development') {
116
+ if (minimumColumnWidth && typeof minimumColumnWidth !== 'string') {
117
+ throw new Error('minimumColumnWidth must be a string');
118
+ }
119
+ if (columnCount && typeof columnCount !== 'number') {
120
+ throw new Error('columnCount must be a number');
121
+ }
122
+ if (rowCount && typeof rowCount !== 'number') {
123
+ throw new Error('rowCount must be a number');
124
+ }
125
+ }
126
+
113
127
  // If a block's block.json skips serialization for spacing or spacing.blockGap,
114
128
  // don't apply the user-defined value to the styles.
115
129
  const blockGapValue = style?.spacing?.blockGap && !(0, _utils2.shouldSkipSerialization)(blockName, 'spacing', 'blockGap') ? (0, _gap.getGapCSSValue)(style?.spacing?.blockGap, '0.5em') : undefined;
116
130
  let output = '';
117
131
  const rules = [];
118
- if (columnCount) {
132
+ if (minimumColumnWidth && columnCount > 0) {
133
+ const maxValue = `max(${minimumColumnWidth}, ( 100% - (${blockGapValue || '1.2rem'}*${columnCount - 1}) ) / ${columnCount})`;
134
+ rules.push(`grid-template-columns: repeat(auto-fill, minmax(${maxValue}, 1fr))`, `container-type: inline-size`);
135
+ if (rowCount) {
136
+ rules.push(`grid-template-rows: repeat(${rowCount}, minmax(1rem, auto))`);
137
+ }
138
+ } else if (columnCount) {
119
139
  rules.push(`grid-template-columns: repeat(${columnCount}, minmax(0, 1fr))`);
120
140
  if (rowCount) {
121
- rules.push(`grid-template-rows: repeat(${rowCount}, minmax(0, 1fr))`);
141
+ rules.push(`grid-template-rows: repeat(${rowCount}, minmax(1rem, auto))`);
122
142
  }
123
- } else if (minimumColumnWidth) {
124
- rules.push(`grid-template-columns: repeat(auto-fill, minmax(min(${minimumColumnWidth}, 100%), 1fr))`, 'container-type: inline-size');
143
+ } else {
144
+ rules.push(`grid-template-columns: repeat(auto-fill, minmax(min(${minimumColumnWidth || '12rem'}, 100%), 1fr))`, 'container-type: inline-size');
125
145
  }
126
146
  if (rules.length) {
127
147
  // Reason to disable: the extra line breaks added by prettier mess with the unit tests.
@@ -147,9 +167,13 @@ function GridLayoutMinimumWidthControl({
147
167
  onChange
148
168
  }) {
149
169
  const {
150
- minimumColumnWidth: value = '12rem'
170
+ minimumColumnWidth,
171
+ columnCount,
172
+ isManualPlacement
151
173
  } = layout;
152
- const [quantity, unit] = (0, _components.__experimentalParseQuantityAndUnitFromRawValue)(value);
174
+ const defaultValue = isManualPlacement || columnCount ? null : '12rem';
175
+ const value = minimumColumnWidth || defaultValue;
176
+ const [quantity, unit = 'rem'] = (0, _components.__experimentalParseQuantityAndUnitFromRawValue)(value);
153
177
  const handleSliderChange = next => {
154
178
  onChange({
155
179
  ...layout,
@@ -187,7 +211,7 @@ function GridLayoutMinimumWidthControl({
187
211
  onChange: newValue => {
188
212
  onChange({
189
213
  ...layout,
190
- minimumColumnWidth: newValue
214
+ minimumColumnWidth: newValue === '' ? undefined : newValue
191
215
  });
192
216
  },
193
217
  onUnitChange: handleUnitChange,
@@ -201,7 +225,7 @@ function GridLayoutMinimumWidthControl({
201
225
  isBlock: true,
202
226
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
203
227
  onChange: handleSliderChange,
204
- value: quantity,
228
+ value: quantity || 0,
205
229
  min: 0,
206
230
  max: RANGE_CONTROL_MAX_VALUES[unit] || 600,
207
231
  withInputField: false,
@@ -219,13 +243,16 @@ function GridLayoutColumnsAndRowsControl({
219
243
  onChange,
220
244
  allowSizingOnChildren
221
245
  }) {
246
+ // If the grid interactivity experiment is enabled, allow unsetting the column count.
247
+ const defaultColumnCount = window.__experimentalEnableGridInteractivity ? undefined : 3;
222
248
  const {
223
- columnCount = 3,
224
- rowCount
249
+ columnCount = defaultColumnCount,
250
+ rowCount,
251
+ isManualPlacement
225
252
  } = layout;
226
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
227
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("fieldset", {
228
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl.VisualLabel, {
253
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
254
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("fieldset", {
255
+ children: [(!window.__experimentalEnableGridInteractivity || !isManualPlacement) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl.VisualLabel, {
229
256
  as: "legend",
230
257
  children: (0, _i18n.__)('Columns')
231
258
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Flex, {
@@ -235,77 +262,58 @@ function GridLayoutColumnsAndRowsControl({
235
262
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalNumberControl, {
236
263
  size: "__unstable-large",
237
264
  onChange: value => {
238
- /**
239
- * If the input is cleared, avoid switching
240
- * back to "Auto" by setting a value of "1".
241
- */
242
- const validValue = value !== '' ? value : '1';
243
- onChange({
244
- ...layout,
245
- columnCount: validValue
246
- });
265
+ if (window.__experimentalEnableGridInteractivity) {
266
+ // Allow unsetting the column count when in auto mode.
267
+ const defaultNewColumnCount = isManualPlacement ? 1 : undefined;
268
+ const newColumnCount = value === '' ? defaultNewColumnCount : parseInt(value, 10);
269
+ onChange({
270
+ ...layout,
271
+ columnCount: newColumnCount
272
+ });
273
+ } else {
274
+ // Don't allow unsetting the column count.
275
+ const newColumnCount = value === '' ? 1 : parseInt(value, 10);
276
+ onChange({
277
+ ...layout,
278
+ columnCount: newColumnCount
279
+ });
280
+ }
247
281
  },
248
282
  value: columnCount,
249
- min: 1,
283
+ min: 0,
250
284
  label: (0, _i18n.__)('Columns'),
251
- hideLabelFromVision: true
285
+ hideLabelFromVision: !window.__experimentalEnableGridInteractivity || !isManualPlacement
252
286
  })
253
287
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
254
288
  isBlock: true,
255
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
256
- value: parseInt(columnCount, 10) // RangeControl can't deal with strings.
257
- ,
258
- onChange: value => onChange({
259
- ...layout,
260
- columnCount: value
261
- }),
262
- min: 1,
263
- max: 16,
264
- withInputField: false,
265
- label: (0, _i18n.__)('Columns'),
266
- hideLabelFromVision: true
267
- })
268
- })]
269
- })]
270
- }), allowSizingOnChildren && window.__experimentalEnableGridInteractivity && /*#__PURE__*/(0, _jsxRuntime.jsxs)("fieldset", {
271
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl.VisualLabel, {
272
- as: "legend",
273
- children: (0, _i18n.__)('Rows')
274
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Flex, {
275
- gap: 4,
276
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
277
- isBlock: true,
278
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalNumberControl, {
289
+ children: window.__experimentalEnableGridInteractivity && allowSizingOnChildren && isManualPlacement ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalNumberControl, {
279
290
  size: "__unstable-large",
280
291
  onChange: value => {
292
+ // Don't allow unsetting the row count.
293
+ const newRowCount = value === '' ? 1 : parseInt(value, 10);
281
294
  onChange({
282
295
  ...layout,
283
- rowCount: value
296
+ rowCount: newRowCount
284
297
  });
285
298
  },
286
299
  value: rowCount,
287
- min: 1,
288
- label: (0, _i18n.__)('Rows'),
289
- hideLabelFromVision: true
290
- })
291
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
292
- isBlock: true,
293
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
294
- value: parseInt(rowCount, 10) // RangeControl can't deal with strings.
295
- ,
300
+ min: 0,
301
+ label: (0, _i18n.__)('Rows')
302
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
303
+ value: columnCount !== null && columnCount !== void 0 ? columnCount : 0,
296
304
  onChange: value => onChange({
297
305
  ...layout,
298
- rowCount: value
306
+ columnCount: value
299
307
  }),
300
- min: 1,
308
+ min: 0,
301
309
  max: 16,
302
310
  withInputField: false,
303
- label: (0, _i18n.__)('Rows'),
311
+ label: (0, _i18n.__)('Columns'),
304
312
  hideLabelFromVision: true
305
313
  })
306
314
  })]
307
315
  })]
308
- })]
316
+ })
309
317
  });
310
318
  }
311
319
 
@@ -316,7 +324,9 @@ function GridLayoutTypeControl({
316
324
  }) {
317
325
  const {
318
326
  columnCount,
319
- minimumColumnWidth
327
+ rowCount,
328
+ minimumColumnWidth,
329
+ isManualPlacement
320
330
  } = layout;
321
331
 
322
332
  /**
@@ -324,26 +334,32 @@ function GridLayoutTypeControl({
324
334
  * previous type so we can switch back without loss.
325
335
  */
326
336
  const [tempColumnCount, setTempColumnCount] = (0, _element.useState)(columnCount || 3);
337
+ const [tempRowCount, setTempRowCount] = (0, _element.useState)(rowCount);
327
338
  const [tempMinimumColumnWidth, setTempMinimumColumnWidth] = (0, _element.useState)(minimumColumnWidth || '12rem');
328
- const isManual = !!columnCount ? 'manual' : 'auto';
339
+ const gridPlacement = isManualPlacement || !!columnCount && !window.__experimentalEnableGridInteractivity ? 'manual' : 'auto';
329
340
  const onChangeType = value => {
330
341
  if (value === 'manual') {
331
342
  setTempMinimumColumnWidth(minimumColumnWidth || '12rem');
332
343
  } else {
333
344
  setTempColumnCount(columnCount || 3);
345
+ setTempRowCount(rowCount);
334
346
  }
335
347
  onChange({
336
348
  ...layout,
337
349
  columnCount: value === 'manual' ? tempColumnCount : null,
350
+ rowCount: value === 'manual' && window.__experimentalEnableGridInteractivity ? tempRowCount : undefined,
351
+ isManualPlacement: value === 'manual' && window.__experimentalEnableGridInteractivity ? true : undefined,
338
352
  minimumColumnWidth: value === 'auto' ? tempMinimumColumnWidth : null
339
353
  });
340
354
  };
355
+ const helpText = gridPlacement === 'manual' ? (0, _i18n.__)('Grid items can be manually placed in any position on the grid.') : (0, _i18n.__)('Grid items are placed automatically depending on their order.');
341
356
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToggleGroupControl, {
342
357
  __nextHasNoMarginBottom: true,
343
- label: (0, _i18n.__)('Type'),
344
- value: isManual,
358
+ label: (0, _i18n.__)('Grid item position'),
359
+ value: gridPlacement,
345
360
  onChange: onChangeType,
346
361
  isBlock: true,
362
+ help: window.__experimentalEnableGridInteractivity ? helpText : undefined,
347
363
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
348
364
  value: "auto",
349
365
  label: (0, _i18n.__)('Auto')
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_element","_utils","_gap","_utils2","_definitions","_gridVisualizer","_jsxRuntime","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","_default","exports","name","__","inspectorControls","GridLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowSizingOnChildren","jsxs","Fragment","children","jsx","GridLayoutTypeControl","columnCount","GridLayoutColumnsAndRowsControl","GridLayoutMinimumWidthControl","toolBarControls","GridLayoutToolbarControls","clientId","GridVisualizer","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","LAYOUT_DEFINITIONS","minimumColumnWidth","rowCount","blockGapValue","spacing","blockGap","shouldSkipSerialization","getGapCSSValue","undefined","output","rules","push","length","appendSelectors","join","getBlockGapCSS","getOrientation","getAlignments","quantity","unit","parseQuantityAndUnitFromRawValue","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","BaseControl","VisualLabel","as","Flex","gap","FlexItem","isBlock","__experimentalUnitControl","size","onUnitChange","min","hideLabelFromVision","RangeControl","max","withInputField","__experimentalNumberControl","validValue","parseInt","window","__experimentalEnableGridInteractivity","tempColumnCount","setTempColumnCount","useState","tempMinimumColumnWidth","setTempMinimumColumnWidth","isManual","onChangeType","__experimentalToggleGroupControl","__nextHasNoMarginBottom","__experimentalToggleGroupControlOption"],"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":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_element","_utils","_gap","_utils2","_definitions","_jsxRuntime","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","_default","exports","name","__","inspectorControls","GridLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowSizingOnChildren","showColumnsControl","window","__experimentalEnableGridInteractivity","columnCount","showMinWidthControl","jsxs","Fragment","children","jsx","GridLayoutTypeControl","GridLayoutColumnsAndRowsControl","GridLayoutMinimumWidthControl","toolBarControls","GridLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","LAYOUT_DEFINITIONS","minimumColumnWidth","rowCount","process","env","NODE_ENV","Error","blockGapValue","spacing","blockGap","shouldSkipSerialization","getGapCSSValue","undefined","output","rules","maxValue","push","length","appendSelectors","join","getBlockGapCSS","getOrientation","getAlignments","isManualPlacement","defaultValue","quantity","unit","parseQuantityAndUnitFromRawValue","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","BaseControl","VisualLabel","as","Flex","gap","FlexItem","isBlock","__experimentalUnitControl","size","onUnitChange","min","hideLabelFromVision","RangeControl","max","withInputField","defaultColumnCount","__experimentalNumberControl","defaultNewColumnCount","newColumnCount","parseInt","newRowCount","tempColumnCount","setTempColumnCount","useState","tempRowCount","setTempRowCount","tempMinimumColumnWidth","setTempMinimumColumnWidth","gridPlacement","onChangeType","helpText","__experimentalToggleGroupControl","__nextHasNoMarginBottom","help","__experimentalToggleGroupControlOption"],"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":[]}
@@ -12,7 +12,7 @@ var _privateApis = require("@wordpress/private-apis");
12
12
  const {
13
13
  lock,
14
14
  unlock
15
- } = (0, _privateApis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/block-editor');
15
+ } = (0, _privateApis.__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');
16
16
  exports.unlock = unlock;
17
17
  exports.lock = lock;
18
18
  //# sourceMappingURL=lock-unlock.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"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":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,iHAAiH,EACjH,yBACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"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":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,+HAA+H,EAC/H,yBACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -37,6 +37,7 @@ var _library = require("./components/inserter/library");
37
37
  var _publishDateTimePicker = require("./components/publish-date-time-picker");
38
38
  var _useSpacingSizes = _interopRequireDefault(require("./components/spacing-sizes-control/hooks/use-spacing-sizes"));
39
39
  var _useBlockDisplayTitle = _interopRequireDefault(require("./components/block-title/use-block-display-title"));
40
+ var _tabbedSidebar = _interopRequireDefault(require("./components/tabbed-sidebar"));
40
41
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
41
42
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
42
43
  /**
@@ -71,12 +72,14 @@ const privateApis = exports.privateApis = {};
71
72
  useLayoutStyles: _hooks.useLayoutStyles,
72
73
  DimensionsTool: _dimensionsTool.default,
73
74
  ResolutionTool: _resolutionTool.default,
75
+ TabbedSidebar: _tabbedSidebar.default,
74
76
  TextAlignmentControl: _textAlignmentControl.default,
75
77
  ReusableBlocksRenameHint: _reusableBlockRenameHint.default,
76
78
  useReusableBlocksRenameHint: _reusableBlockRenameHint.useReusableBlocksRenameHint,
77
79
  usesContextKey: _formatEdit.usesContextKey,
78
80
  useFlashEditableBlocks: _useFlashEditableBlocks.useFlashEditableBlocks,
79
81
  globalStylesDataKey: _privateKeys.globalStylesDataKey,
82
+ globalStylesLinksDataKey: _privateKeys.globalStylesLinksDataKey,
80
83
  selectBlockPatternsKey: _privateKeys.selectBlockPatternsKey,
81
84
  requiresWrapperOnCopy: _utils3.requiresWrapperOnCopy,
82
85
  PrivateRichText: _richText.PrivateRichText,
@@ -85,6 +88,8 @@ const privateApis = exports.privateApis = {};
85
88
  PrivateBlockPopover: _blockPopover.PrivateBlockPopover,
86
89
  PrivatePublishDateTimePicker: _publishDateTimePicker.PrivatePublishDateTimePicker,
87
90
  useSpacingSizes: _useSpacingSizes.default,
88
- useBlockDisplayTitle: _useBlockDisplayTitle.default
91
+ useBlockDisplayTitle: _useBlockDisplayTitle.default,
92
+ __unstableBlockStyleVariationOverridesWithConfig: _hooks.__unstableBlockStyleVariationOverridesWithConfig,
93
+ setBackgroundStyleDefaults: _hooks.setBackgroundStyleDefaults
89
94
  });
90
95
  //# sourceMappingURL=private-apis.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["globalStyles","_interopRequireWildcard","require","_provider","_lockUnlock","_getRichTextValues","_resizableBoxPopover","_interopRequireDefault","_inserter","_quickInserter","_searchItems","_listView","_blockInfoSlotFill","_useHasBlockToolbar","_utils","_blockQuickNavigation","_layout","_blockRemovalWarningModal","_hooks","_dimensionsTool","_resolutionTool","_textAlignmentControl","_reusableBlockRenameHint","_formatEdit","_blockCanvas","_utils2","_useFlashEditableBlocks","_privateKeys","_utils3","_richText","_blockPopover","_library","_publishDateTimePicker","_useSpacingSizes","_useBlockDisplayTitle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","privateApis","exports","lock","ExperimentalBlockCanvas","ExperimentalBlockEditorProvider","getDuotoneFilter","getRichTextValues","PrivateInserter","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","ResizableBoxPopover","BlockInfo","useHasBlockToolbar","cleanEmptyObject","useStyleOverride","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","useLayoutClasses","useLayoutStyles","DimensionsTool","ResolutionTool","TextAlignmentControl","ReusableBlocksRenameHint","useReusableBlocksRenameHint","usesContextKey","useFlashEditableBlocks","globalStylesDataKey","selectBlockPatternsKey","requiresWrapperOnCopy","PrivateRichText","PrivateInserterLibrary","reusableBlocksSelectKey","PrivateBlockPopover","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle"],"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":"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","ignoreList":[]}
1
+ {"version":3,"names":["globalStyles","_interopRequireWildcard","require","_provider","_lockUnlock","_getRichTextValues","_resizableBoxPopover","_interopRequireDefault","_inserter","_quickInserter","_searchItems","_listView","_blockInfoSlotFill","_useHasBlockToolbar","_utils","_blockQuickNavigation","_layout","_blockRemovalWarningModal","_hooks","_dimensionsTool","_resolutionTool","_textAlignmentControl","_reusableBlockRenameHint","_formatEdit","_blockCanvas","_utils2","_useFlashEditableBlocks","_privateKeys","_utils3","_richText","_blockPopover","_library","_publishDateTimePicker","_useSpacingSizes","_useBlockDisplayTitle","_tabbedSidebar","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","privateApis","exports","lock","ExperimentalBlockCanvas","ExperimentalBlockEditorProvider","getDuotoneFilter","getRichTextValues","PrivateInserter","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","ResizableBoxPopover","BlockInfo","useHasBlockToolbar","cleanEmptyObject","useStyleOverride","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","useLayoutClasses","useLayoutStyles","DimensionsTool","ResolutionTool","TabbedSidebar","TextAlignmentControl","ReusableBlocksRenameHint","useReusableBlocksRenameHint","usesContextKey","useFlashEditableBlocks","globalStylesDataKey","globalStylesLinksDataKey","selectBlockPatternsKey","requiresWrapperOnCopy","PrivateRichText","PrivateInserterLibrary","reusableBlocksSelectKey","PrivateBlockPopover","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle","__unstableBlockStyleVariationOverridesWithConfig","setBackgroundStyleDefaults"],"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":"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","ignoreList":[]}
@@ -887,7 +887,7 @@ const __unstableSplitSelection = (blocks = []) => ({
887
887
  })
888
888
  }
889
889
  };
890
- const tail = {
890
+ let tail = {
891
891
  ...blockB,
892
892
  // Only preserve the original client ID if the end is different.
893
893
  clientId: blockA.clientId === blockB.clientId ? (0, _blocks.createBlock)(blockB.name).clientId : blockB.clientId,
@@ -898,6 +898,22 @@ const __unstableSplitSelection = (blocks = []) => ({
898
898
  })
899
899
  }
900
900
  };
901
+
902
+ // When splitting a block, attempt to convert the tail block to the
903
+ // default block type. For example, when splitting a heading block, the
904
+ // tail block will be converted to a paragraph block. Note that for
905
+ // blocks such as a list item and button, this will be skipped because
906
+ // the default block type cannot be inserted.
907
+ const defaultBlockName = (0, _blocks.getDefaultBlockName)();
908
+ if (
909
+ // A block is only split when the selection is within the same
910
+ // block.
911
+ blockA.clientId === blockB.clientId && defaultBlockName && tail.name !== defaultBlockName && select.canInsertBlockType(defaultBlockName, anchorRootClientId)) {
912
+ const switched = (0, _blocks.switchToBlockType)(tail, defaultBlockName);
913
+ if (switched?.length === 1) {
914
+ tail = switched[0];
915
+ }
916
+ }
901
917
  if (!blocks.length) {
902
918
  dispatch.replaceBlocks(select.getSelectedBlockClientIds(), [head, tail]);
903
919
  return;