@wordpress/block-editor 14.6.0 → 14.7.1-next.082ed6819.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 (332) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-controls/slot.js +6 -3
  3. package/build/components/block-controls/slot.js.map +1 -1
  4. package/build/components/block-inspector/index.js +1 -2
  5. package/build/components/block-inspector/index.js.map +1 -1
  6. package/build/components/block-list/block.js +14 -28
  7. package/build/components/block-list/block.js.map +1 -1
  8. package/build/components/block-lock/modal.js +1 -1
  9. package/build/components/block-lock/modal.js.map +1 -1
  10. package/build/components/block-manager/category.js +79 -0
  11. package/build/components/block-manager/category.js.map +1 -0
  12. package/build/components/block-manager/checklist.js +40 -0
  13. package/build/components/block-manager/checklist.js.map +1 -0
  14. package/build/components/block-manager/index.js +108 -0
  15. package/build/components/block-manager/index.js.map +1 -0
  16. package/build/components/block-patterns-list/index.js +23 -26
  17. package/build/components/block-patterns-list/index.js.map +1 -1
  18. package/build/components/block-popover/index.js +1 -1
  19. package/build/components/block-popover/index.js.map +1 -1
  20. package/build/components/block-preview/async.js +51 -0
  21. package/build/components/block-preview/async.js.map +1 -0
  22. package/build/components/block-preview/index.js +4 -1
  23. package/build/components/block-preview/index.js.map +1 -1
  24. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  25. package/build/components/block-settings-menu/index.js.map +1 -1
  26. package/build/components/block-toolbar/change-design.js +1 -4
  27. package/build/components/block-toolbar/change-design.js.map +1 -1
  28. package/build/components/block-toolbar/index.js +7 -2
  29. package/build/components/block-toolbar/index.js.map +1 -1
  30. package/build/components/block-toolbar/switch-section-style.js +105 -0
  31. package/build/components/block-toolbar/switch-section-style.js.map +1 -0
  32. package/build/components/block-tools/index.js +12 -9
  33. package/build/components/block-tools/index.js.map +1 -1
  34. package/build/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  35. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  36. package/build/components/block-tools/use-show-block-tools.js +4 -1
  37. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  38. package/build/components/collab/block-comment-icon-slot.js +2 -6
  39. package/build/components/collab/block-comment-icon-slot.js.map +1 -1
  40. package/build/components/collab/block-comment-icon-toolbar-slot.js +2 -6
  41. package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -1
  42. package/build/components/color-palette/with-color-context.js +4 -2
  43. package/build/components/color-palette/with-color-context.js.map +1 -1
  44. package/build/components/font-family/index.js +14 -13
  45. package/build/components/font-family/index.js.map +1 -1
  46. package/build/components/global-styles/dimensions-panel.js +26 -14
  47. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  48. package/build/components/global-styles/use-global-styles-output.js +1 -1
  49. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  50. package/build/components/iframe/get-compatibility-styles.js +4 -4
  51. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  52. package/build/components/iframe/index.js +156 -23
  53. package/build/components/iframe/index.js.map +1 -1
  54. package/build/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  55. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  56. package/build/components/inserter/block-patterns-tab/index.js +1 -2
  57. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  58. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -6
  59. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  60. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +3 -0
  61. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  62. package/build/components/inserter/block-patterns-tab/utils.js +5 -1
  63. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  64. package/build/components/inserter/category-tabs/index.js +7 -8
  65. package/build/components/inserter/category-tabs/index.js.map +1 -1
  66. package/build/components/inserter/hooks/use-block-types-state.js +1 -1
  67. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  68. package/build/components/inserter/hooks/use-patterns-paging.js +0 -5
  69. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  70. package/build/components/inserter/search-results.js +0 -2
  71. package/build/components/inserter/search-results.js.map +1 -1
  72. package/build/components/inserter-draggable-blocks/index.js +2 -1
  73. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  74. package/build/components/inspector-controls/slot.js +7 -4
  75. package/build/components/inspector-controls/slot.js.map +1 -1
  76. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  77. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  78. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -4
  79. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  80. package/build/components/media-placeholder/index.js +33 -25
  81. package/build/components/media-placeholder/index.js.map +1 -1
  82. package/build/components/rich-text/index.js +1 -1
  83. package/build/components/rich-text/index.js.map +1 -1
  84. package/build/components/tabbed-sidebar/index.js +1 -1
  85. package/build/components/tabbed-sidebar/index.js.map +1 -1
  86. package/build/components/url-input/index.js +3 -1
  87. package/build/components/url-input/index.js.map +1 -1
  88. package/build/components/use-block-commands/index.js +5 -6
  89. package/build/components/use-block-commands/index.js.map +1 -1
  90. package/build/hooks/border.js +3 -3
  91. package/build/hooks/border.js.map +1 -1
  92. package/build/hooks/color.js +1 -1
  93. package/build/hooks/color.js.map +1 -1
  94. package/build/hooks/dimensions.js +2 -2
  95. package/build/hooks/dimensions.js.map +1 -1
  96. package/build/hooks/font-family.js +1 -1
  97. package/build/hooks/font-family.js.map +1 -1
  98. package/build/hooks/style.js +6 -6
  99. package/build/hooks/style.js.map +1 -1
  100. package/build/hooks/supports.js +7 -7
  101. package/build/hooks/supports.js.map +1 -1
  102. package/build/hooks/typography.js +6 -6
  103. package/build/hooks/typography.js.map +1 -1
  104. package/build/hooks/utils.js +3 -3
  105. package/build/hooks/utils.js.map +1 -1
  106. package/build/layouts/flex.js +11 -9
  107. package/build/layouts/flex.js.map +1 -1
  108. package/build/lock-unlock.js.map +1 -1
  109. package/build/private-apis.js +4 -4
  110. package/build/private-apis.js.map +1 -1
  111. package/build/store/private-selectors.js +3 -3
  112. package/build/store/private-selectors.js.map +1 -1
  113. package/build/store/selectors.js +12 -8
  114. package/build/store/selectors.js.map +1 -1
  115. package/build/store/utils.js +5 -4
  116. package/build/store/utils.js.map +1 -1
  117. package/build/utils/dom.js +27 -22
  118. package/build/utils/dom.js.map +1 -1
  119. package/build-module/components/block-controls/slot.js +6 -3
  120. package/build-module/components/block-controls/slot.js.map +1 -1
  121. package/build-module/components/block-inspector/index.js +1 -2
  122. package/build-module/components/block-inspector/index.js.map +1 -1
  123. package/build-module/components/block-list/block.js +15 -27
  124. package/build-module/components/block-list/block.js.map +1 -1
  125. package/build-module/components/block-lock/modal.js +1 -1
  126. package/build-module/components/block-lock/modal.js.map +1 -1
  127. package/build-module/components/block-manager/category.js +71 -0
  128. package/build-module/components/block-manager/category.js.map +1 -0
  129. package/build-module/components/block-manager/checklist.js +32 -0
  130. package/build-module/components/block-manager/checklist.js.map +1 -0
  131. package/build-module/components/block-manager/index.js +102 -0
  132. package/build-module/components/block-manager/index.js.map +1 -0
  133. package/build-module/components/block-patterns-list/index.js +23 -26
  134. package/build-module/components/block-patterns-list/index.js.map +1 -1
  135. package/build-module/components/block-popover/index.js +2 -2
  136. package/build-module/components/block-popover/index.js.map +1 -1
  137. package/build-module/components/block-preview/async.js +44 -0
  138. package/build-module/components/block-preview/async.js.map +1 -0
  139. package/build-module/components/block-preview/index.js +4 -1
  140. package/build-module/components/block-preview/index.js.map +1 -1
  141. package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -2
  142. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  143. package/build-module/components/block-settings-menu/index.js +2 -2
  144. package/build-module/components/block-settings-menu/index.js.map +1 -1
  145. package/build-module/components/block-toolbar/change-design.js +1 -4
  146. package/build-module/components/block-toolbar/change-design.js.map +1 -1
  147. package/build-module/components/block-toolbar/index.js +7 -2
  148. package/build-module/components/block-toolbar/index.js.map +1 -1
  149. package/build-module/components/block-toolbar/switch-section-style.js +97 -0
  150. package/build-module/components/block-toolbar/switch-section-style.js.map +1 -0
  151. package/build-module/components/block-tools/index.js +13 -10
  152. package/build-module/components/block-tools/index.js.map +1 -1
  153. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -2
  154. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  155. package/build-module/components/block-tools/use-show-block-tools.js +4 -1
  156. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  157. package/build-module/components/collab/block-comment-icon-slot.js +2 -6
  158. package/build-module/components/collab/block-comment-icon-slot.js.map +1 -1
  159. package/build-module/components/collab/block-comment-icon-toolbar-slot.js +2 -6
  160. package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -1
  161. package/build-module/components/color-palette/with-color-context.js +4 -2
  162. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  163. package/build-module/components/font-family/index.js +15 -14
  164. package/build-module/components/font-family/index.js.map +1 -1
  165. package/build-module/components/global-styles/dimensions-panel.js +26 -14
  166. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  167. package/build-module/components/global-styles/use-global-styles-output.js +1 -1
  168. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  169. package/build-module/components/iframe/get-compatibility-styles.js +4 -4
  170. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  171. package/build-module/components/iframe/index.js +157 -24
  172. package/build-module/components/iframe/index.js.map +1 -1
  173. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  174. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  175. package/build-module/components/inserter/block-patterns-tab/index.js +1 -2
  176. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  177. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +5 -7
  178. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  179. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +4 -1
  180. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  181. package/build-module/components/inserter/block-patterns-tab/utils.js +4 -0
  182. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  183. package/build-module/components/inserter/category-tabs/index.js +8 -9
  184. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  185. package/build-module/components/inserter/hooks/use-block-types-state.js +1 -1
  186. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  187. package/build-module/components/inserter/hooks/use-patterns-paging.js +1 -6
  188. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  189. package/build-module/components/inserter/search-results.js +0 -2
  190. package/build-module/components/inserter/search-results.js.map +1 -1
  191. package/build-module/components/inserter-draggable-blocks/index.js +2 -1
  192. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  193. package/build-module/components/inspector-controls/slot.js +7 -4
  194. package/build-module/components/inspector-controls/slot.js.map +1 -1
  195. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  196. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  197. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -4
  198. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  199. package/build-module/components/media-placeholder/index.js +33 -25
  200. package/build-module/components/media-placeholder/index.js.map +1 -1
  201. package/build-module/components/rich-text/index.js +1 -1
  202. package/build-module/components/rich-text/index.js.map +1 -1
  203. package/build-module/components/tabbed-sidebar/index.js +1 -1
  204. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  205. package/build-module/components/url-input/index.js +3 -1
  206. package/build-module/components/url-input/index.js.map +1 -1
  207. package/build-module/components/use-block-commands/index.js +4 -4
  208. package/build-module/components/use-block-commands/index.js.map +1 -1
  209. package/build-module/hooks/border.js +3 -3
  210. package/build-module/hooks/border.js.map +1 -1
  211. package/build-module/hooks/color.js +1 -1
  212. package/build-module/hooks/color.js.map +1 -1
  213. package/build-module/hooks/dimensions.js +2 -2
  214. package/build-module/hooks/dimensions.js.map +1 -1
  215. package/build-module/hooks/font-family.js +1 -1
  216. package/build-module/hooks/font-family.js.map +1 -1
  217. package/build-module/hooks/style.js +6 -6
  218. package/build-module/hooks/style.js.map +1 -1
  219. package/build-module/hooks/supports.js +7 -7
  220. package/build-module/hooks/supports.js.map +1 -1
  221. package/build-module/hooks/typography.js +6 -6
  222. package/build-module/hooks/typography.js.map +1 -1
  223. package/build-module/hooks/utils.js +3 -3
  224. package/build-module/hooks/utils.js.map +1 -1
  225. package/build-module/layouts/flex.js +11 -9
  226. package/build-module/layouts/flex.js.map +1 -1
  227. package/build-module/lock-unlock.js.map +1 -1
  228. package/build-module/private-apis.js +6 -6
  229. package/build-module/private-apis.js.map +1 -1
  230. package/build-module/store/private-selectors.js +3 -3
  231. package/build-module/store/private-selectors.js.map +1 -1
  232. package/build-module/store/selectors.js +12 -8
  233. package/build-module/store/selectors.js.map +1 -1
  234. package/build-module/store/utils.js +3 -3
  235. package/build-module/store/utils.js.map +1 -1
  236. package/build-module/utils/dom.js +25 -21
  237. package/build-module/utils/dom.js.map +1 -1
  238. package/build-style/content-rtl.css +30 -15
  239. package/build-style/content.css +30 -15
  240. package/build-style/style-rtl.css +92 -3
  241. package/build-style/style.css +92 -3
  242. package/build-types/utils/dom.d.ts +7 -9
  243. package/build-types/utils/dom.d.ts.map +1 -1
  244. package/package.json +32 -31
  245. package/src/components/block-canvas/style.scss +1 -1
  246. package/src/components/block-controls/slot.js +5 -3
  247. package/src/components/block-inspector/index.js +0 -2
  248. package/src/components/block-inspector/style.scss +2 -1
  249. package/src/components/block-list/block.js +28 -48
  250. package/src/components/block-lock/modal.js +1 -1
  251. package/src/components/block-manager/category.js +102 -0
  252. package/src/components/block-manager/checklist.js +34 -0
  253. package/src/components/block-manager/index.js +127 -0
  254. package/src/components/block-manager/style.scss +82 -0
  255. package/src/components/block-mover/README.md +15 -8
  256. package/src/components/block-mover/stories/index.story.js +73 -71
  257. package/src/components/block-mover/style.scss +3 -0
  258. package/src/components/block-patterns-list/README.md +8 -8
  259. package/src/components/block-patterns-list/index.js +35 -51
  260. package/src/components/block-patterns-list/stories/index.story.js +2 -19
  261. package/src/components/block-popover/index.js +4 -4
  262. package/src/components/block-preview/async.js +43 -0
  263. package/src/components/block-preview/index.js +6 -1
  264. package/src/components/block-settings-menu/block-settings-dropdown.js +2 -2
  265. package/src/components/block-settings-menu/index.js +2 -2
  266. package/src/components/block-toolbar/change-design.js +1 -7
  267. package/src/components/block-toolbar/index.js +6 -0
  268. package/src/components/block-toolbar/switch-section-style.js +115 -0
  269. package/src/components/block-tools/index.js +26 -10
  270. package/src/components/block-tools/style.scss +12 -0
  271. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -2
  272. package/src/components/block-tools/use-show-block-tools.js +3 -1
  273. package/src/components/collab/block-comment-icon-slot.js +2 -6
  274. package/src/components/collab/block-comment-icon-toolbar-slot.js +3 -5
  275. package/src/components/color-palette/with-color-context.js +25 -7
  276. package/src/components/default-block-appender/content.scss +13 -19
  277. package/src/components/font-family/index.js +13 -13
  278. package/src/components/global-styles/dimensions-panel.js +22 -16
  279. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  280. package/src/components/global-styles/use-global-styles-output.js +1 -1
  281. package/src/components/iframe/content.scss +16 -3
  282. package/src/components/iframe/get-compatibility-styles.js +4 -9
  283. package/src/components/iframe/index.js +204 -44
  284. package/src/components/inserter/block-patterns-explorer/pattern-list.js +3 -6
  285. package/src/components/inserter/block-patterns-tab/index.js +0 -1
  286. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -17
  287. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +8 -0
  288. package/src/components/inserter/block-patterns-tab/utils.js +5 -0
  289. package/src/components/inserter/category-tabs/index.js +8 -9
  290. package/src/components/inserter/hooks/use-block-types-state.js +6 -1
  291. package/src/components/inserter/hooks/use-patterns-paging.js +1 -6
  292. package/src/components/inserter/search-results.js +0 -6
  293. package/src/components/inserter-draggable-blocks/index.js +10 -1
  294. package/src/components/inspector-controls/README.md +2 -0
  295. package/src/components/inspector-controls/slot.js +6 -4
  296. package/src/components/inspector-controls-tabs/position-controls-panel.js +1 -3
  297. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +10 -10
  298. package/src/components/media-placeholder/index.js +41 -37
  299. package/src/components/provider/test/use-block-sync.js +3 -1
  300. package/src/components/rich-text/content.scss +15 -10
  301. package/src/components/rich-text/index.js +8 -1
  302. package/src/components/tabbed-sidebar/index.js +1 -1
  303. package/src/components/tabbed-sidebar/style.scss +1 -1
  304. package/src/components/url-input/index.js +3 -4
  305. package/src/components/use-block-commands/index.js +245 -234
  306. package/src/hooks/border.js +3 -9
  307. package/src/hooks/color.js +1 -1
  308. package/src/hooks/dimensions.js +2 -2
  309. package/src/hooks/font-family.js +1 -1
  310. package/src/hooks/style.js +6 -12
  311. package/src/hooks/supports.js +7 -7
  312. package/src/hooks/test/style.js +1 -2
  313. package/src/hooks/typography.js +6 -6
  314. package/src/hooks/utils.js +8 -3
  315. package/src/layouts/flex.js +26 -18
  316. package/src/private-apis.js +6 -6
  317. package/src/store/private-selectors.js +6 -7
  318. package/src/store/selectors.js +60 -45
  319. package/src/store/test/private-selectors.js +5 -0
  320. package/src/store/test/selectors.js +87 -58
  321. package/src/store/utils.js +12 -11
  322. package/src/style.scss +1 -0
  323. package/src/utils/dom.js +26 -21
  324. package/src/utils/test/dom.js +224 -0
  325. package/tsconfig.json +1 -0
  326. package/tsconfig.tsbuildinfo +1 -1
  327. package/build/components/block-info-slot-fill/index.js +0 -39
  328. package/build/components/block-info-slot-fill/index.js.map +0 -1
  329. package/build-module/components/block-info-slot-fill/index.js +0 -32
  330. package/build-module/components/block-info-slot-fill/index.js.map +0 -1
  331. package/src/components/block-info-slot-fill/index.js +0 -27
  332. /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["getBlockSupport","memo","useMemo","useEffect","useId","useState","useDispatch","useRegistry","createHigherOrderComponent","addFilter","useBlockEditContext","mayDisplayControlsKey","mayDisplayParentControlsKey","useSettings","useSettingsForBlockElement","getValueFromObjectPath","setImmutably","store","blockEditorStore","unlock","clsx","jsx","_jsx","cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","Object","entries","map","key","value","filter","undefined","length","fromEntries","transformStyles","activeSupports","migrationPaths","result","source","index","results","values","every","isActive","innerBlocks","referenceBlockAttributes","attributes","returnBlock","forEach","support","path","styleValue","shouldSkipSerialization","blockNameOrType","featureSet","feature","skipSerialization","__experimentalSkipSerialization","includes","pendingStyleOverrides","WeakMap","useStyleOverride","id","css","usePrivateStyleOverride","assets","__unstableType","variation","clientId","setStyleOverride","deleteStyleOverride","registry","fallbackId","_id","override","get","set","push","window","queueMicrotask","batch","args","isPending","find","currentId","useBlockSettings","name","parentLayout","backgroundImage","backgroundSize","customFontFamilies","defaultFontFamilies","themeFontFamilies","defaultFontSizesEnabled","customFontSizes","defaultFontSizes","themeFontSizes","customFontSize","fontStyle","fontWeight","lineHeight","textAlign","textColumns","textDecoration","writingMode","textTransform","letterSpacing","padding","margin","blockGap","defaultSpacingSizesEnabled","customSpacingSize","userSpacingSizes","defaultSpacingSizes","themeSpacingSizes","units","aspectRatio","minHeight","layout","borderColor","borderRadius","borderStyle","borderWidth","customColorsEnabled","customColors","customDuotone","themeColors","defaultColors","defaultPalette","defaultDuotone","userDuotonePalette","themeDuotonePalette","defaultDuotonePalette","userGradientPalette","themeGradientPalette","defaultGradientPalette","defaultGradients","areCustomGradientsEnabled","isBackgroundEnabled","isLinkEnabled","isTextEnabled","isHeadingEnabled","isButtonEnabled","shadow","rawSettings","background","color","palette","custom","theme","default","gradients","duotone","customGradient","link","heading","button","text","typography","fontFamilies","fontSizes","spacing","spacingSizes","border","radius","style","width","dimensions","createBlockEditFilter","features","settings","Edit","edit","withBlockEditHooks","OriginalBlockEdit","props","context","i","hasSupport","attributeKeys","shareWithChildBlocks","shouldDisplayControls","neededProps","isSelected","setAttributes","__unstableParentLayout","BlockProps","useBlockProps","setAllWrapperProps","wrapperProps","setWrapperProps","next","prev","nextAll","BlockPropsPure","createBlockListBlockFilter","withBlockListBlockHooks","BlockListBlock","allWrapperProps","fill","isMatch","keys","Boolean","reduce","acc","className","createBlockSaveFilter","extraPropsFromHooks","accu","addSaveProps","neededAttributes","hasOwnProperty"],"sources":["@wordpress/block-editor/src/hooks/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { memo, useMemo, useEffect, useId, useState } from '@wordpress/element';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayParentControlsKey,\n} from '../components/block-edit/context';\nimport { useSettings } from '../components';\nimport { useSettingsForBlockElement } from '../components/global-styles/hooks';\nimport { getValueFromObjectPath, setImmutably } from '../utils/object';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\n\tconst cleanedNestedObjects = Object.entries( object )\n\t\t.map( ( [ key, value ] ) => [ key, cleanEmptyObject( value ) ] )\n\t\t.filter( ( [ , value ] ) => value !== undefined );\n\treturn ! cleanedNestedObjects.length\n\t\t? undefined\n\t\t: Object.fromEntries( cleanedNestedObjects );\n};\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif (\n\t\tObject.values( activeSupports ?? {} ).every(\n\t\t\t( isActive ) => ! isActive\n\t\t)\n\t) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tObject.entries( activeSupports ).forEach( ( [ support, isActive ] ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = getValueFromObjectPath(\n\t\t\t\t\treferenceBlockAttributes,\n\t\t\t\t\tpath\n\t\t\t\t);\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: setImmutably(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockNameOrType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization(\n\tblockNameOrType,\n\tfeatureSet,\n\tfeature\n) {\n\tconst support = getBlockSupport( blockNameOrType, featureSet );\n\tconst skipSerialization = support?.__experimentalSkipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n\nconst pendingStyleOverrides = new WeakMap();\n\n/**\n * Override a block editor settings style. Leave the ID blank to create a new\n * style.\n *\n * @param {Object} override Override object.\n * @param {?string} override.id Id of the style override, leave blank to create\n * a new style.\n * @param {string} override.css CSS to apply.\n */\nexport function useStyleOverride( { id, css } ) {\n\treturn usePrivateStyleOverride( { id, css } );\n}\n\nexport function usePrivateStyleOverride( {\n\tid,\n\tcss,\n\tassets,\n\t__unstableType,\n\tvariation,\n\tclientId,\n} = {} ) {\n\tconst { setStyleOverride, deleteStyleOverride } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst registry = useRegistry();\n\tconst fallbackId = useId();\n\tuseEffect( () => {\n\t\t// Unmount if there is CSS and assets are empty.\n\t\tif ( ! css && ! assets ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst _id = id || fallbackId;\n\t\tconst override = {\n\t\t\tid,\n\t\t\tcss,\n\t\t\tassets,\n\t\t\t__unstableType,\n\t\t\tvariation,\n\t\t\tclientId,\n\t\t};\n\t\t// Batch updates to style overrides to avoid triggering cascading renders\n\t\t// for each style override block included in a tree and optimize initial render.\n\t\tif ( ! pendingStyleOverrides.get( registry ) ) {\n\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t}\n\t\tpendingStyleOverrides.get( registry ).push( [ _id, override ] );\n\t\twindow.queueMicrotask( () => {\n\t\t\tif ( pendingStyleOverrides.get( registry )?.length ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tpendingStyleOverrides.get( registry ).forEach( ( args ) => {\n\t\t\t\t\t\tsetStyleOverride( ...args );\n\t\t\t\t\t} );\n\t\t\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tconst isPending = pendingStyleOverrides\n\t\t\t\t.get( registry )\n\t\t\t\t?.find( ( [ currentId ] ) => currentId === _id );\n\t\t\tif ( isPending ) {\n\t\t\t\tpendingStyleOverrides.set(\n\t\t\t\t\tregistry,\n\t\t\t\t\tpendingStyleOverrides\n\t\t\t\t\t\t.get( registry )\n\t\t\t\t\t\t.filter( ( [ currentId ] ) => currentId !== _id )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdeleteStyleOverride( _id );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tid,\n\t\tcss,\n\t\tclientId,\n\t\tassets,\n\t\t__unstableType,\n\t\tfallbackId,\n\t\tsetStyleOverride,\n\t\tdeleteStyleOverride,\n\t\tregistry,\n\t] );\n}\n\n/**\n * Based on the block and its context, returns an object of all the block settings.\n * This object can be passed as a prop to all the Styles UI components\n * (TypographyPanel, DimensionsPanel...).\n *\n * @param {string} name Block name.\n * @param {*} parentLayout Parent layout.\n *\n * @return {Object} Settings object.\n */\nexport function useBlockSettings( name, parentLayout ) {\n\tconst [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\twritingMode,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] = useSettings(\n\t\t'background.backgroundImage',\n\t\t'background.backgroundSize',\n\t\t'typography.fontFamilies.custom',\n\t\t'typography.fontFamilies.default',\n\t\t'typography.fontFamilies.theme',\n\t\t'typography.defaultFontSizes',\n\t\t'typography.fontSizes.custom',\n\t\t'typography.fontSizes.default',\n\t\t'typography.fontSizes.theme',\n\t\t'typography.customFontSize',\n\t\t'typography.fontStyle',\n\t\t'typography.fontWeight',\n\t\t'typography.lineHeight',\n\t\t'typography.textAlign',\n\t\t'typography.textColumns',\n\t\t'typography.textDecoration',\n\t\t'typography.writingMode',\n\t\t'typography.textTransform',\n\t\t'typography.letterSpacing',\n\t\t'spacing.padding',\n\t\t'spacing.margin',\n\t\t'spacing.blockGap',\n\t\t'spacing.defaultSpacingSizes',\n\t\t'spacing.customSpacingSize',\n\t\t'spacing.spacingSizes.custom',\n\t\t'spacing.spacingSizes.default',\n\t\t'spacing.spacingSizes.theme',\n\t\t'spacing.units',\n\t\t'dimensions.aspectRatio',\n\t\t'dimensions.minHeight',\n\t\t'layout',\n\t\t'border.color',\n\t\t'border.radius',\n\t\t'border.style',\n\t\t'border.width',\n\t\t'color.custom',\n\t\t'color.palette.custom',\n\t\t'color.customDuotone',\n\t\t'color.palette.theme',\n\t\t'color.palette.default',\n\t\t'color.defaultPalette',\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default',\n\t\t'color.gradients.custom',\n\t\t'color.gradients.theme',\n\t\t'color.gradients.default',\n\t\t'color.defaultGradients',\n\t\t'color.customGradient',\n\t\t'color.background',\n\t\t'color.link',\n\t\t'color.text',\n\t\t'color.heading',\n\t\t'color.button',\n\t\t'shadow'\n\t);\n\n\tconst rawSettings = useMemo( () => {\n\t\treturn {\n\t\t\tbackground: {\n\t\t\t\tbackgroundImage,\n\t\t\t\tbackgroundSize,\n\t\t\t},\n\t\t\tcolor: {\n\t\t\t\tpalette: {\n\t\t\t\t\tcustom: customColors,\n\t\t\t\t\ttheme: themeColors,\n\t\t\t\t\tdefault: defaultColors,\n\t\t\t\t},\n\t\t\t\tgradients: {\n\t\t\t\t\tcustom: userGradientPalette,\n\t\t\t\t\ttheme: themeGradientPalette,\n\t\t\t\t\tdefault: defaultGradientPalette,\n\t\t\t\t},\n\t\t\t\tduotone: {\n\t\t\t\t\tcustom: userDuotonePalette,\n\t\t\t\t\ttheme: themeDuotonePalette,\n\t\t\t\t\tdefault: defaultDuotonePalette,\n\t\t\t\t},\n\t\t\t\tdefaultGradients,\n\t\t\t\tdefaultPalette,\n\t\t\t\tdefaultDuotone,\n\t\t\t\tcustom: customColorsEnabled,\n\t\t\t\tcustomGradient: areCustomGradientsEnabled,\n\t\t\t\tcustomDuotone,\n\t\t\t\tbackground: isBackgroundEnabled,\n\t\t\t\tlink: isLinkEnabled,\n\t\t\t\theading: isHeadingEnabled,\n\t\t\t\tbutton: isButtonEnabled,\n\t\t\t\ttext: isTextEnabled,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: customFontFamilies,\n\t\t\t\t\tdefault: defaultFontFamilies,\n\t\t\t\t\ttheme: themeFontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: customFontSizes,\n\t\t\t\t\tdefault: defaultFontSizes,\n\t\t\t\t\ttheme: themeFontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tdefaultFontSizes: defaultFontSizesEnabled,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextAlign,\n\t\t\t\ttextColumns,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t\twritingMode,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tspacingSizes: {\n\t\t\t\t\tcustom: userSpacingSizes,\n\t\t\t\t\tdefault: defaultSpacingSizes,\n\t\t\t\t\ttheme: themeSpacingSizes,\n\t\t\t\t},\n\t\t\t\tcustomSpacingSize,\n\t\t\t\tdefaultSpacingSizes: defaultSpacingSizesEnabled,\n\t\t\t\tpadding,\n\t\t\t\tmargin,\n\t\t\t\tblockGap,\n\t\t\t\tunits,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tcolor: borderColor,\n\t\t\t\tradius: borderRadius,\n\t\t\t\tstyle: borderStyle,\n\t\t\t\twidth: borderWidth,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\taspectRatio,\n\t\t\t\tminHeight,\n\t\t\t},\n\t\t\tlayout,\n\t\t\tparentLayout,\n\t\t\tshadow,\n\t\t};\n\t}, [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\twritingMode,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tparentLayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] );\n\n\treturn useSettingsForBlockElement( rawSettings, name );\n}\n\nexport function createBlockEditFilter( features ) {\n\t// We don't want block controls to re-render when typing inside a block.\n\t// `memo` will prevent re-renders unless props change, so only pass the\n\t// needed props and not the whole attributes object.\n\tfeatures = features.map( ( settings ) => {\n\t\treturn { ...settings, Edit: memo( settings.edit ) };\n\t} );\n\tconst withBlockEditHooks = createHigherOrderComponent(\n\t\t( OriginalBlockEdit ) => ( props ) => {\n\t\t\tconst context = useBlockEditContext();\n\t\t\t// CAUTION: code added before this line will be executed for all\n\t\t\t// blocks, not just those that support the feature! Code added\n\t\t\t// above this line should be carefully evaluated for its impact on\n\t\t\t// performance.\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tEdit,\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tshareWithChildBlocks,\n\t\t\t\t\t} = feature;\n\t\t\t\t\tconst shouldDisplayControls =\n\t\t\t\t\t\tcontext[ mayDisplayControlsKey ] ||\n\t\t\t\t\t\t( context[ mayDisplayParentControlsKey ] &&\n\t\t\t\t\t\t\tshareWithChildBlocks );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! shouldDisplayControls ||\n\t\t\t\t\t\t! hasSupport( props.name )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Edit\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\tisSelected={ props.isSelected }\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\tsetAttributes={ props.setAttributes }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tprops.__unstableParentLayout\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<OriginalBlockEdit key=\"edit\" { ...props } />,\n\t\t\t];\n\t\t},\n\t\t'withBlockEditHooks'\n\t);\n\taddFilter( 'editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks );\n}\n\nfunction BlockProps( { index, useBlockProps, setAllWrapperProps, ...props } ) {\n\tconst wrapperProps = useBlockProps( props );\n\tconst setWrapperProps = ( next ) =>\n\t\tsetAllWrapperProps( ( prev ) => {\n\t\t\tconst nextAll = [ ...prev ];\n\t\t\tnextAll[ index ] = next;\n\t\t\treturn nextAll;\n\t\t} );\n\t// Setting state after every render is fine because this component is\n\t// pure and will only re-render when needed props change.\n\tuseEffect( () => {\n\t\t// We could shallow compare the props, but since this component only\n\t\t// changes when needed attributes change, the benefit is probably small.\n\t\tsetWrapperProps( wrapperProps );\n\t\treturn () => {\n\t\t\tsetWrapperProps( undefined );\n\t\t};\n\t} );\n\treturn null;\n}\n\nconst BlockPropsPure = memo( BlockProps );\n\nexport function createBlockListBlockFilter( features ) {\n\tconst withBlockListBlockHooks = createHigherOrderComponent(\n\t\t( BlockListBlock ) => ( props ) => {\n\t\t\tconst [ allWrapperProps, setAllWrapperProps ] = useState(\n\t\t\t\tArray( features.length ).fill( undefined )\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tuseBlockProps,\n\t\t\t\t\t\tisMatch,\n\t\t\t\t\t} = feature;\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t\t\t// set.\n\t\t\t\t\t\t! Object.keys( neededProps ).length ||\n\t\t\t\t\t\t! hasSupport( props.name ) ||\n\t\t\t\t\t\t( isMatch && ! isMatch( neededProps ) )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BlockPropsPure\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tindex={ i }\n\t\t\t\t\t\t\tuseBlockProps={ useBlockProps }\n\t\t\t\t\t\t\t// This component is pure, so we must pass a stable\n\t\t\t\t\t\t\t// function reference.\n\t\t\t\t\t\t\tsetAllWrapperProps={ setAllWrapperProps }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<BlockListBlock\n\t\t\t\t\tkey=\"edit\"\n\t\t\t\t\t{ ...props }\n\t\t\t\t\twrapperProps={ allWrapperProps\n\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t.reduce( ( acc, wrapperProps ) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t...wrapperProps,\n\t\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\t\tacc.className,\n\t\t\t\t\t\t\t\t\twrapperProps.className\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t...acc.style,\n\t\t\t\t\t\t\t\t\t...wrapperProps.style,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, props.wrapperProps || {} ) }\n\t\t\t\t/>,\n\t\t\t];\n\t\t},\n\t\t'withBlockListBlockHooks'\n\t);\n\taddFilter(\n\t\t'editor.BlockListBlock',\n\t\t'core/editor/hooks',\n\t\twithBlockListBlockHooks\n\t);\n}\n\nexport function createBlockSaveFilter( features ) {\n\tfunction extraPropsFromHooks( props, name, attributes ) {\n\t\treturn features.reduce( ( accu, feature ) => {\n\t\t\tconst { hasSupport, attributeKeys = [], addSaveProps } = feature;\n\n\t\t\tconst neededAttributes = {};\n\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\tif ( attributes[ key ] ) {\n\t\t\t\t\tneededAttributes[ key ] = attributes[ key ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t// set.\n\t\t\t\t! Object.keys( neededAttributes ).length ||\n\t\t\t\t! hasSupport( name )\n\t\t\t) {\n\t\t\t\treturn accu;\n\t\t\t}\n\n\t\t\treturn addSaveProps( accu, name, neededAttributes );\n\t\t}, props );\n\t}\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\textraPropsFromHooks,\n\t\t0\n\t);\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\t( props ) => {\n\t\t\t// Previously we had a filter deleting the className if it was an empty\n\t\t\t// string. That filter is no longer running, so now we need to delete it\n\t\t\t// here.\n\t\t\tif ( props.hasOwnProperty( 'className' ) && ! props.className ) {\n\t\t\t\tdelete props.className;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t}\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getBlockSupport","memo","useMemo","useEffect","useId","useState","useDispatch","useRegistry","createHigherOrderComponent","addFilter","useBlockEditContext","mayDisplayControlsKey","mayDisplayParentControlsKey","useSettings","useSettingsForBlockElement","getValueFromObjectPath","setImmutably","store","blockEditorStore","unlock","clsx","jsx","_jsx","cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","Object","entries","map","key","value","filter","undefined","length","fromEntries","transformStyles","activeSupports","migrationPaths","result","source","index","results","values","every","isActive","innerBlocks","referenceBlockAttributes","attributes","returnBlock","forEach","support","path","styleValue","shouldSkipSerialization","blockNameOrType","featureSet","feature","skipSerialization","includes","pendingStyleOverrides","WeakMap","useStyleOverride","id","css","usePrivateStyleOverride","assets","__unstableType","variation","clientId","setStyleOverride","deleteStyleOverride","registry","fallbackId","_id","override","get","set","push","window","queueMicrotask","batch","args","isPending","find","currentId","useBlockSettings","name","parentLayout","backgroundImage","backgroundSize","customFontFamilies","defaultFontFamilies","themeFontFamilies","defaultFontSizesEnabled","customFontSizes","defaultFontSizes","themeFontSizes","customFontSize","fontStyle","fontWeight","lineHeight","textAlign","textColumns","textDecoration","writingMode","textTransform","letterSpacing","padding","margin","blockGap","defaultSpacingSizesEnabled","customSpacingSize","userSpacingSizes","defaultSpacingSizes","themeSpacingSizes","units","aspectRatio","minHeight","layout","borderColor","borderRadius","borderStyle","borderWidth","customColorsEnabled","customColors","customDuotone","themeColors","defaultColors","defaultPalette","defaultDuotone","userDuotonePalette","themeDuotonePalette","defaultDuotonePalette","userGradientPalette","themeGradientPalette","defaultGradientPalette","defaultGradients","areCustomGradientsEnabled","isBackgroundEnabled","isLinkEnabled","isTextEnabled","isHeadingEnabled","isButtonEnabled","shadow","rawSettings","background","color","palette","custom","theme","default","gradients","duotone","customGradient","link","heading","button","text","typography","fontFamilies","fontSizes","spacing","spacingSizes","border","radius","style","width","dimensions","createBlockEditFilter","features","settings","Edit","edit","withBlockEditHooks","OriginalBlockEdit","props","context","i","hasSupport","attributeKeys","shareWithChildBlocks","shouldDisplayControls","neededProps","isSelected","setAttributes","__unstableParentLayout","BlockProps","useBlockProps","hook","setAllWrapperProps","wrapperProps","setWrapperProps","next","prev","nextAll","BlockPropsPure","createBlockListBlockFilter","withBlockListBlockHooks","BlockListBlock","allWrapperProps","fill","isMatch","keys","Boolean","reduce","acc","className","createBlockSaveFilter","extraPropsFromHooks","accu","addSaveProps","neededAttributes","hasOwnProperty"],"sources":["@wordpress/block-editor/src/hooks/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { memo, useMemo, useEffect, useId, useState } from '@wordpress/element';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayParentControlsKey,\n} from '../components/block-edit/context';\nimport { useSettings } from '../components';\nimport { useSettingsForBlockElement } from '../components/global-styles/hooks';\nimport { getValueFromObjectPath, setImmutably } from '../utils/object';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\n\tconst cleanedNestedObjects = Object.entries( object )\n\t\t.map( ( [ key, value ] ) => [ key, cleanEmptyObject( value ) ] )\n\t\t.filter( ( [ , value ] ) => value !== undefined );\n\treturn ! cleanedNestedObjects.length\n\t\t? undefined\n\t\t: Object.fromEntries( cleanedNestedObjects );\n};\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif (\n\t\tObject.values( activeSupports ?? {} ).every(\n\t\t\t( isActive ) => ! isActive\n\t\t)\n\t) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tObject.entries( activeSupports ).forEach( ( [ support, isActive ] ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = getValueFromObjectPath(\n\t\t\t\t\treferenceBlockAttributes,\n\t\t\t\t\tpath\n\t\t\t\t);\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: setImmutably(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockNameOrType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization(\n\tblockNameOrType,\n\tfeatureSet,\n\tfeature\n) {\n\tconst support = getBlockSupport( blockNameOrType, featureSet );\n\tconst skipSerialization = support?.skipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n\nconst pendingStyleOverrides = new WeakMap();\n\n/**\n * Override a block editor settings style. Leave the ID blank to create a new\n * style.\n *\n * @param {Object} override Override object.\n * @param {?string} override.id Id of the style override, leave blank to create\n * a new style.\n * @param {string} override.css CSS to apply.\n */\nexport function useStyleOverride( { id, css } ) {\n\treturn usePrivateStyleOverride( { id, css } );\n}\n\nexport function usePrivateStyleOverride( {\n\tid,\n\tcss,\n\tassets,\n\t__unstableType,\n\tvariation,\n\tclientId,\n} = {} ) {\n\tconst { setStyleOverride, deleteStyleOverride } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst registry = useRegistry();\n\tconst fallbackId = useId();\n\tuseEffect( () => {\n\t\t// Unmount if there is CSS and assets are empty.\n\t\tif ( ! css && ! assets ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst _id = id || fallbackId;\n\t\tconst override = {\n\t\t\tid,\n\t\t\tcss,\n\t\t\tassets,\n\t\t\t__unstableType,\n\t\t\tvariation,\n\t\t\tclientId,\n\t\t};\n\t\t// Batch updates to style overrides to avoid triggering cascading renders\n\t\t// for each style override block included in a tree and optimize initial render.\n\t\tif ( ! pendingStyleOverrides.get( registry ) ) {\n\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t}\n\t\tpendingStyleOverrides.get( registry ).push( [ _id, override ] );\n\t\twindow.queueMicrotask( () => {\n\t\t\tif ( pendingStyleOverrides.get( registry )?.length ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tpendingStyleOverrides.get( registry ).forEach( ( args ) => {\n\t\t\t\t\t\tsetStyleOverride( ...args );\n\t\t\t\t\t} );\n\t\t\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tconst isPending = pendingStyleOverrides\n\t\t\t\t.get( registry )\n\t\t\t\t?.find( ( [ currentId ] ) => currentId === _id );\n\t\t\tif ( isPending ) {\n\t\t\t\tpendingStyleOverrides.set(\n\t\t\t\t\tregistry,\n\t\t\t\t\tpendingStyleOverrides\n\t\t\t\t\t\t.get( registry )\n\t\t\t\t\t\t.filter( ( [ currentId ] ) => currentId !== _id )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdeleteStyleOverride( _id );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tid,\n\t\tcss,\n\t\tclientId,\n\t\tassets,\n\t\t__unstableType,\n\t\tfallbackId,\n\t\tsetStyleOverride,\n\t\tdeleteStyleOverride,\n\t\tregistry,\n\t] );\n}\n\n/**\n * Based on the block and its context, returns an object of all the block settings.\n * This object can be passed as a prop to all the Styles UI components\n * (TypographyPanel, DimensionsPanel...).\n *\n * @param {string} name Block name.\n * @param {*} parentLayout Parent layout.\n *\n * @return {Object} Settings object.\n */\nexport function useBlockSettings( name, parentLayout ) {\n\tconst [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\twritingMode,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] = useSettings(\n\t\t'background.backgroundImage',\n\t\t'background.backgroundSize',\n\t\t'typography.fontFamilies.custom',\n\t\t'typography.fontFamilies.default',\n\t\t'typography.fontFamilies.theme',\n\t\t'typography.defaultFontSizes',\n\t\t'typography.fontSizes.custom',\n\t\t'typography.fontSizes.default',\n\t\t'typography.fontSizes.theme',\n\t\t'typography.customFontSize',\n\t\t'typography.fontStyle',\n\t\t'typography.fontWeight',\n\t\t'typography.lineHeight',\n\t\t'typography.textAlign',\n\t\t'typography.textColumns',\n\t\t'typography.textDecoration',\n\t\t'typography.writingMode',\n\t\t'typography.textTransform',\n\t\t'typography.letterSpacing',\n\t\t'spacing.padding',\n\t\t'spacing.margin',\n\t\t'spacing.blockGap',\n\t\t'spacing.defaultSpacingSizes',\n\t\t'spacing.customSpacingSize',\n\t\t'spacing.spacingSizes.custom',\n\t\t'spacing.spacingSizes.default',\n\t\t'spacing.spacingSizes.theme',\n\t\t'spacing.units',\n\t\t'dimensions.aspectRatio',\n\t\t'dimensions.minHeight',\n\t\t'layout',\n\t\t'border.color',\n\t\t'border.radius',\n\t\t'border.style',\n\t\t'border.width',\n\t\t'color.custom',\n\t\t'color.palette.custom',\n\t\t'color.customDuotone',\n\t\t'color.palette.theme',\n\t\t'color.palette.default',\n\t\t'color.defaultPalette',\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default',\n\t\t'color.gradients.custom',\n\t\t'color.gradients.theme',\n\t\t'color.gradients.default',\n\t\t'color.defaultGradients',\n\t\t'color.customGradient',\n\t\t'color.background',\n\t\t'color.link',\n\t\t'color.text',\n\t\t'color.heading',\n\t\t'color.button',\n\t\t'shadow'\n\t);\n\n\tconst rawSettings = useMemo( () => {\n\t\treturn {\n\t\t\tbackground: {\n\t\t\t\tbackgroundImage,\n\t\t\t\tbackgroundSize,\n\t\t\t},\n\t\t\tcolor: {\n\t\t\t\tpalette: {\n\t\t\t\t\tcustom: customColors,\n\t\t\t\t\ttheme: themeColors,\n\t\t\t\t\tdefault: defaultColors,\n\t\t\t\t},\n\t\t\t\tgradients: {\n\t\t\t\t\tcustom: userGradientPalette,\n\t\t\t\t\ttheme: themeGradientPalette,\n\t\t\t\t\tdefault: defaultGradientPalette,\n\t\t\t\t},\n\t\t\t\tduotone: {\n\t\t\t\t\tcustom: userDuotonePalette,\n\t\t\t\t\ttheme: themeDuotonePalette,\n\t\t\t\t\tdefault: defaultDuotonePalette,\n\t\t\t\t},\n\t\t\t\tdefaultGradients,\n\t\t\t\tdefaultPalette,\n\t\t\t\tdefaultDuotone,\n\t\t\t\tcustom: customColorsEnabled,\n\t\t\t\tcustomGradient: areCustomGradientsEnabled,\n\t\t\t\tcustomDuotone,\n\t\t\t\tbackground: isBackgroundEnabled,\n\t\t\t\tlink: isLinkEnabled,\n\t\t\t\theading: isHeadingEnabled,\n\t\t\t\tbutton: isButtonEnabled,\n\t\t\t\ttext: isTextEnabled,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: customFontFamilies,\n\t\t\t\t\tdefault: defaultFontFamilies,\n\t\t\t\t\ttheme: themeFontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: customFontSizes,\n\t\t\t\t\tdefault: defaultFontSizes,\n\t\t\t\t\ttheme: themeFontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tdefaultFontSizes: defaultFontSizesEnabled,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextAlign,\n\t\t\t\ttextColumns,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t\twritingMode,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tspacingSizes: {\n\t\t\t\t\tcustom: userSpacingSizes,\n\t\t\t\t\tdefault: defaultSpacingSizes,\n\t\t\t\t\ttheme: themeSpacingSizes,\n\t\t\t\t},\n\t\t\t\tcustomSpacingSize,\n\t\t\t\tdefaultSpacingSizes: defaultSpacingSizesEnabled,\n\t\t\t\tpadding,\n\t\t\t\tmargin,\n\t\t\t\tblockGap,\n\t\t\t\tunits,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tcolor: borderColor,\n\t\t\t\tradius: borderRadius,\n\t\t\t\tstyle: borderStyle,\n\t\t\t\twidth: borderWidth,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\taspectRatio,\n\t\t\t\tminHeight,\n\t\t\t},\n\t\t\tlayout,\n\t\t\tparentLayout,\n\t\t\tshadow,\n\t\t};\n\t}, [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\twritingMode,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tparentLayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] );\n\n\treturn useSettingsForBlockElement( rawSettings, name );\n}\n\nexport function createBlockEditFilter( features ) {\n\t// We don't want block controls to re-render when typing inside a block.\n\t// `memo` will prevent re-renders unless props change, so only pass the\n\t// needed props and not the whole attributes object.\n\tfeatures = features.map( ( settings ) => {\n\t\treturn { ...settings, Edit: memo( settings.edit ) };\n\t} );\n\tconst withBlockEditHooks = createHigherOrderComponent(\n\t\t( OriginalBlockEdit ) => ( props ) => {\n\t\t\tconst context = useBlockEditContext();\n\t\t\t// CAUTION: code added before this line will be executed for all\n\t\t\t// blocks, not just those that support the feature! Code added\n\t\t\t// above this line should be carefully evaluated for its impact on\n\t\t\t// performance.\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tEdit,\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tshareWithChildBlocks,\n\t\t\t\t\t} = feature;\n\t\t\t\t\tconst shouldDisplayControls =\n\t\t\t\t\t\tcontext[ mayDisplayControlsKey ] ||\n\t\t\t\t\t\t( context[ mayDisplayParentControlsKey ] &&\n\t\t\t\t\t\t\tshareWithChildBlocks );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! shouldDisplayControls ||\n\t\t\t\t\t\t! hasSupport( props.name )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Edit\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\tisSelected={ props.isSelected }\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\tsetAttributes={ props.setAttributes }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tprops.__unstableParentLayout\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<OriginalBlockEdit key=\"edit\" { ...props } />,\n\t\t\t];\n\t\t},\n\t\t'withBlockEditHooks'\n\t);\n\taddFilter( 'editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks );\n}\n\nfunction BlockProps( {\n\tindex,\n\tuseBlockProps: hook,\n\tsetAllWrapperProps,\n\t...props\n} ) {\n\tconst wrapperProps = hook( props );\n\tconst setWrapperProps = ( next ) =>\n\t\tsetAllWrapperProps( ( prev ) => {\n\t\t\tconst nextAll = [ ...prev ];\n\t\t\tnextAll[ index ] = next;\n\t\t\treturn nextAll;\n\t\t} );\n\t// Setting state after every render is fine because this component is\n\t// pure and will only re-render when needed props change.\n\tuseEffect( () => {\n\t\t// We could shallow compare the props, but since this component only\n\t\t// changes when needed attributes change, the benefit is probably small.\n\t\tsetWrapperProps( wrapperProps );\n\t\treturn () => {\n\t\t\tsetWrapperProps( undefined );\n\t\t};\n\t} );\n\treturn null;\n}\n\nconst BlockPropsPure = memo( BlockProps );\n\nexport function createBlockListBlockFilter( features ) {\n\tconst withBlockListBlockHooks = createHigherOrderComponent(\n\t\t( BlockListBlock ) => ( props ) => {\n\t\t\tconst [ allWrapperProps, setAllWrapperProps ] = useState(\n\t\t\t\tArray( features.length ).fill( undefined )\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tuseBlockProps,\n\t\t\t\t\t\tisMatch,\n\t\t\t\t\t} = feature;\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t\t\t// set.\n\t\t\t\t\t\t! Object.keys( neededProps ).length ||\n\t\t\t\t\t\t! hasSupport( props.name ) ||\n\t\t\t\t\t\t( isMatch && ! isMatch( neededProps ) )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BlockPropsPure\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tindex={ i }\n\t\t\t\t\t\t\tuseBlockProps={ useBlockProps }\n\t\t\t\t\t\t\t// This component is pure, so we must pass a stable\n\t\t\t\t\t\t\t// function reference.\n\t\t\t\t\t\t\tsetAllWrapperProps={ setAllWrapperProps }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<BlockListBlock\n\t\t\t\t\tkey=\"edit\"\n\t\t\t\t\t{ ...props }\n\t\t\t\t\twrapperProps={ allWrapperProps\n\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t.reduce( ( acc, wrapperProps ) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t...wrapperProps,\n\t\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\t\tacc.className,\n\t\t\t\t\t\t\t\t\twrapperProps.className\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t...acc.style,\n\t\t\t\t\t\t\t\t\t...wrapperProps.style,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, props.wrapperProps || {} ) }\n\t\t\t\t/>,\n\t\t\t];\n\t\t},\n\t\t'withBlockListBlockHooks'\n\t);\n\taddFilter(\n\t\t'editor.BlockListBlock',\n\t\t'core/editor/hooks',\n\t\twithBlockListBlockHooks\n\t);\n}\n\nexport function createBlockSaveFilter( features ) {\n\tfunction extraPropsFromHooks( props, name, attributes ) {\n\t\treturn features.reduce( ( accu, feature ) => {\n\t\t\tconst { hasSupport, attributeKeys = [], addSaveProps } = feature;\n\n\t\t\tconst neededAttributes = {};\n\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\tif ( attributes[ key ] ) {\n\t\t\t\t\tneededAttributes[ key ] = attributes[ key ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t// set.\n\t\t\t\t! Object.keys( neededAttributes ).length ||\n\t\t\t\t! hasSupport( name )\n\t\t\t) {\n\t\t\t\treturn accu;\n\t\t\t}\n\n\t\t\treturn addSaveProps( accu, name, neededAttributes );\n\t\t}, props );\n\t}\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\textraPropsFromHooks,\n\t\t0\n\t);\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\t( props ) => {\n\t\t\t// Previously we had a filter deleting the className if it was an empty\n\t\t\t// string. That filter is no longer running, so now we need to delete it\n\t\t\t// here.\n\t\t\tif ( props.hasOwnProperty( 'className' ) && ! props.className ) {\n\t\t\t\tdelete props.className;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t}\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -47,17 +47,18 @@ export default {
47
47
  layoutBlockSupport = {}
48
48
  }) {
49
49
  const {
50
- allowOrientation = true
50
+ allowOrientation = true,
51
+ allowJustification = true
51
52
  } = layoutBlockSupport;
52
53
  return /*#__PURE__*/_jsxs(_Fragment, {
53
54
  children: [/*#__PURE__*/_jsxs(Flex, {
54
- children: [/*#__PURE__*/_jsx(FlexItem, {
55
+ children: [allowJustification && /*#__PURE__*/_jsx(FlexItem, {
55
56
  children: /*#__PURE__*/_jsx(FlexLayoutJustifyContentControl, {
56
57
  layout: layout,
57
58
  onChange: onChange
58
59
  })
59
- }), /*#__PURE__*/_jsx(FlexItem, {
60
- children: allowOrientation && /*#__PURE__*/_jsx(OrientationControl, {
60
+ }), allowOrientation && /*#__PURE__*/_jsx(FlexItem, {
61
+ children: /*#__PURE__*/_jsx(OrientationControl, {
61
62
  layout: layout,
62
63
  onChange: onChange
63
64
  })
@@ -73,16 +74,17 @@ export default {
73
74
  onChange,
74
75
  layoutBlockSupport
75
76
  }) {
76
- if (layoutBlockSupport?.allowSwitching) {
77
- return null;
78
- }
79
77
  const {
80
- allowVerticalAlignment = true
78
+ allowVerticalAlignment = true,
79
+ allowJustification = true
81
80
  } = layoutBlockSupport;
81
+ if (!allowJustification && !allowVerticalAlignment) {
82
+ return null;
83
+ }
82
84
  return /*#__PURE__*/_jsxs(BlockControls, {
83
85
  group: "block",
84
86
  __experimentalShareWithChildBlocks: true,
85
- children: [/*#__PURE__*/_jsx(FlexLayoutJustifyContentControl, {
87
+ children: [allowJustification && /*#__PURE__*/_jsx(FlexLayoutJustifyContentControl, {
86
88
  layout: layout,
87
89
  onChange: onChange,
88
90
  isToolbar: true
@@ -1 +1 @@
1
- {"version":3,"names":["__","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","arrowRight","arrowDown","ToggleControl","Flex","FlexItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","appendSelectors","getBlockGapCSS","getGapCSSValue","BlockControls","JustifyContentControl","BlockVerticalAlignmentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","children","FlexLayoutJustifyContentControl","OrientationControl","FlexWrapControl","toolBarControls","FlexLayoutToolbarControls","allowSwitching","allowVerticalAlignment","group","__experimentalShareWithChildBlocks","isToolbar","FlexLayoutVerticalAlignmentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","defaultVerticalAlignment","onVerticalAlignmentChange","value","controls","POPOVER_PROPS","placement","onJustificationChange","allowedControls","popoverProps","justificationOptions","icon","__next40pxDefaultSize","__nextHasNoMarginBottom","className","map","checked","newVerticalAlignment","newJustification"],"sources":["@wordpress/block-editor/src/layouts/flex.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tToggleControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\n// Used with the default, horizontal flex orientation.\nconst justifyContentMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\t'space-between': 'space-between',\n};\n\n// Used with the vertical (column) flex orientation.\nconst alignItemsMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\tstretch: 'stretch',\n};\n\nconst verticalAlignmentMap = {\n\ttop: 'flex-start',\n\tcenter: 'center',\n\tbottom: 'flex-end',\n\tstretch: 'stretch',\n\t'space-between': 'space-between',\n};\n\nconst flexWrapOptions = [ 'wrap', 'nowrap' ];\n\nexport default {\n\tname: 'flex',\n\tlabel: __( 'Flex' ),\n\tinspectorControls: function FlexLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowOrientation = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\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\t<FlexWrapControl layout={ layout } onChange={ onChange } />\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tif ( layoutBlockSupport?.allowSwitching ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { allowVerticalAlignment = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tisToolbar\n\t\t\t\t/>\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\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</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 { orientation = 'horizontal' } = 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\t\tconst justifyContent = justifyContentMap[ layout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( layout.flexWrap )\n\t\t\t? layout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ layout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ layout.justifyContent ] || alignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\trules.push( 'flex-direction: column' );\n\t\t\trules.push( `align-items: ${ alignItems }` );\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\toutput = `${ appendSelectors( selector ) } {\n\t\t\t\t${ rules.join( '; ' ) };\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'flex',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation( layout ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\treturn orientation;\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\nfunction FlexLayoutVerticalAlignmentControl( { layout, onChange } ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst defaultVerticalAlignment =\n\t\torientation === 'horizontal'\n\t\t\t? verticalAlignmentMap.center\n\t\t\t: verticalAlignmentMap.top;\n\n\tconst { verticalAlignment = defaultVerticalAlignment } = layout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockVerticalAlignmentControl\n\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\tvalue={ verticalAlignment }\n\t\t\tcontrols={\n\t\t\t\torientation === 'horizontal'\n\t\t\t\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t\t\t\t: [ 'top', 'center', 'bottom', 'space-between' ]\n\t\t\t}\n\t\t/>\n\t);\n}\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction FlexLayoutJustifyContentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { justifyContent = 'left', orientation = 'horizontal' } = 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\tif ( orientation === 'horizontal' ) {\n\t\tallowedControls.push( 'space-between' );\n\t} else {\n\t\tallowedControls.push( 'stretch' );\n\t}\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<JustifyContentControl\n\t\t\t\tallowedControls={ allowedControls }\n\t\t\t\tvalue={ justifyContent }\n\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst justificationOptions = [\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\tlabel: __( 'Justify items left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\tlabel: __( 'Justify items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: justifyRight,\n\t\t\tlabel: __( 'Justify items right' ),\n\t\t},\n\t];\n\tif ( orientation === 'horizontal' ) {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\tlabel: __( 'Space between items' ),\n\t\t} );\n\t} else {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'stretch',\n\t\t\ticon: justifyStretch,\n\t\t\tlabel: __( 'Stretch items' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Justification' ) }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-justification-controls\"\n\t\t>\n\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FlexWrapControl( { layout, onChange } ) {\n\tconst { flexWrap = 'wrap' } = layout;\n\treturn (\n\t\t<ToggleControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow to wrap to multiple lines' ) }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: value ? 'wrap' : 'nowrap',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={ flexWrap === 'wrap' }\n\t\t/>\n\t);\n}\n\nfunction OrientationControl( { layout, onChange } ) {\n\tconst {\n\t\torientation = 'horizontal',\n\t\tverticalAlignment,\n\t\tjustifyContent,\n\t} = layout;\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"block-editor-hooks__flex-layout-orientation-controls\"\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\tvalue={ orientation }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\t// Make sure the vertical alignment and justification are compatible with the new orientation.\n\t\t\t\tlet newVerticalAlignment = verticalAlignment;\n\t\t\t\tlet newJustification = justifyContent;\n\t\t\t\tif ( value === 'horizontal' ) {\n\t\t\t\t\tif ( verticalAlignment === 'space-between' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'center';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'stretch' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( verticalAlignment === 'stretch' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'top';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'space-between' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn onChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: value,\n\t\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t\t\tjustifyContent: newJustification,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tvalue=\"horizontal\"\n\t\t\t\tlabel={ __( 'Horizontal' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tvalue=\"vertical\"\n\t\t\t\tlabel={ __( 'Vertical' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,WAAW,EACXC,aAAa,EACbC,YAAY,EACZC,mBAAmB,EACnBC,cAAc,EACdC,UAAU,EACVC,SAAS,QACH,kBAAkB;AACzB,SACCC,aAAa,EACbC,IAAI,EACJC,QAAQ,EACRC,gCAAgC,IAAIC,kBAAkB,EACtDC,0CAA0C,IAAIC,4BAA4B,QACpE,uBAAuB;;AAE9B;AACA;AACA;AACA,SAASC,eAAe,EAAEC,cAAc,QAAQ,SAAS;AACzD,SAASC,cAAc,QAAQ,cAAc;AAC7C,SACCC,aAAa,EACbC,qBAAqB,EACrBC,6BAA6B,QACvB,eAAe;AACtB,SAASC,uBAAuB,QAAQ,gBAAgB;AACxD,SAASC,kBAAkB,QAAQ,eAAe;;AAElD;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,iBAAiB,GAAG;EACzBC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,UAAU;EACjBC,MAAM,EAAE,QAAQ;EAChB,eAAe,EAAE;AAClB,CAAC;;AAED;AACA,MAAMC,aAAa,GAAG;EACrBH,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,UAAU;EACjBC,MAAM,EAAE,QAAQ;EAChBE,OAAO,EAAE;AACV,CAAC;AAED,MAAMC,oBAAoB,GAAG;EAC5BC,GAAG,EAAE,YAAY;EACjBJ,MAAM,EAAE,QAAQ;EAChBK,MAAM,EAAE,UAAU;EAClBH,OAAO,EAAE,SAAS;EAClB,eAAe,EAAE;AAClB,CAAC;AAED,MAAMI,eAAe,GAAG,CAAE,MAAM,EAAE,QAAQ,CAAE;AAE5C,eAAe;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAExC,EAAE,CAAE,MAAO,CAAC;EACnByC,iBAAiB,EAAE,SAASC,2BAA2BA,CAAE;IACxDC,MAAM,GAAG,CAAC,CAAC;IACXC,QAAQ;IACRC,kBAAkB,GAAG,CAAC;EACvB,CAAC,EAAG;IACH,MAAM;MAAEC,gBAAgB,GAAG;IAAK,CAAC,GAAGD,kBAAkB;IACtD,oBACCnB,KAAA,CAAAE,SAAA;MAAAmB,QAAA,gBACCrB,KAAA,CAACjB,IAAI;QAAAsC,QAAA,gBACJvB,IAAA,CAACd,QAAQ;UAAAqC,QAAA,eACRvB,IAAA,CAACwB,+BAA+B;YAC/BL,MAAM,EAAGA,MAAQ;YACjBC,QAAQ,EAAGA;UAAU,CACrB;QAAC,CACO,CAAC,eACXpB,IAAA,CAACd,QAAQ;UAAAqC,QAAA,EACND,gBAAgB,iBACjBtB,IAAA,CAACyB,kBAAkB;YAClBN,MAAM,EAAGA,MAAQ;YACjBC,QAAQ,EAAGA;UAAU,CACrB;QACD,CACQ,CAAC;MAAA,CACN,CAAC,eACPpB,IAAA,CAAC0B,eAAe;QAACP,MAAM,EAAGA,MAAQ;QAACC,QAAQ,EAAGA;MAAU,CAAE,CAAC;IAAA,CAC1D,CAAC;EAEL,CAAC;EACDO,eAAe,EAAE,SAASC,yBAAyBA,CAAE;IACpDT,MAAM,GAAG,CAAC,CAAC;IACXC,QAAQ;IACRC;EACD,CAAC,EAAG;IACH,IAAKA,kBAAkB,EAAEQ,cAAc,EAAG;MACzC,OAAO,IAAI;IACZ;IACA,MAAM;MAAEC,sBAAsB,GAAG;IAAK,CAAC,GAAGT,kBAAkB;IAC5D,oBACCnB,KAAA,CAACR,aAAa;MAACqC,KAAK,EAAC,OAAO;MAACC,kCAAkC;MAAAT,QAAA,gBAC9DvB,IAAA,CAACwB,+BAA+B;QAC/BL,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA,QAAU;QACrBa,SAAS;MAAA,CACT,CAAC,EACAH,sBAAsB,iBACvB9B,IAAA,CAACkC,kCAAkC;QAClCf,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA;MAAU,CACrB,CACD;IAAA,CACa,CAAC;EAElB,CAAC;EACDe,cAAc,EAAE,SAASA,cAAcA,CAAE;IACxCC,QAAQ;IACRjB,MAAM;IACNkB,KAAK;IACLC,SAAS;IACTC,kBAAkB;IAClBC,iBAAiB,GAAG1C;EACrB,CAAC,EAAG;IACH,MAAM;MAAE2C,WAAW,GAAG;IAAa,CAAC,GAAGtB,MAAM;;IAE7C;IACA;IACA,MAAMuB,aAAa,GAClBL,KAAK,EAAEM,OAAO,EAAEC,QAAQ,IACxB,CAAE/C,uBAAuB,CAAEyC,SAAS,EAAE,SAAS,EAAE,UAAW,CAAC,GAC1D7C,cAAc,CAAE4C,KAAK,EAAEM,OAAO,EAAEC,QAAQ,EAAE,OAAQ,CAAC,GACnDC,SAAS;IACb,MAAMC,cAAc,GAAGzC,iBAAiB,CAAEc,MAAM,CAAC2B,cAAc,CAAE;IACjE,MAAMC,QAAQ,GAAGjC,eAAe,CAACkC,QAAQ,CAAE7B,MAAM,CAAC4B,QAAS,CAAC,GACzD5B,MAAM,CAAC4B,QAAQ,GACf,MAAM;IACT,MAAME,iBAAiB,GACtBtC,oBAAoB,CAAEQ,MAAM,CAAC8B,iBAAiB,CAAE;IACjD,MAAMC,UAAU,GACfzC,aAAa,CAAEU,MAAM,CAAC2B,cAAc,CAAE,IAAIrC,aAAa,CAACH,IAAI;IAE7D,IAAI6C,MAAM,GAAG,EAAE;IACf,MAAMC,KAAK,GAAG,EAAE;IAEhB,IAAKL,QAAQ,IAAIA,QAAQ,KAAK,MAAM,EAAG;MACtCK,KAAK,CAACC,IAAI,CAAE,cAAeN,QAAQ,EAAI,CAAC;IACzC;IAEA,IAAKN,WAAW,KAAK,YAAY,EAAG;MACnC,IAAKQ,iBAAiB,EAAG;QACxBG,KAAK,CAACC,IAAI,CAAE,gBAAiBJ,iBAAiB,EAAI,CAAC;MACpD;MACA,IAAKH,cAAc,EAAG;QACrBM,KAAK,CAACC,IAAI,CAAE,oBAAqBP,cAAc,EAAI,CAAC;MACrD;IACD,CAAC,MAAM;MACN,IAAKG,iBAAiB,EAAG;QACxBG,KAAK,CAACC,IAAI,CAAE,oBAAqBJ,iBAAiB,EAAI,CAAC;MACxD;MACAG,KAAK,CAACC,IAAI,CAAE,wBAAyB,CAAC;MACtCD,KAAK,CAACC,IAAI,CAAE,gBAAiBH,UAAU,EAAI,CAAC;IAC7C;IAEA,IAAKE,KAAK,CAACE,MAAM,EAAG;MACnBH,MAAM,GAAG,GAAI5D,eAAe,CAAE6C,QAAS,CAAC;AAC3C,MAAOgB,KAAK,CAACG,IAAI,CAAE,IAAK,CAAC;AACzB,KAAK;IACH;;IAEA;IACA,IAAKhB,kBAAkB,IAAIG,aAAa,EAAG;MAC1CS,MAAM,IAAI3D,cAAc,CACvB4C,QAAQ,EACRI,iBAAiB,EACjB,MAAM,EACNE,aACD,CAAC;IACF;IACA,OAAOS,MAAM;EACd,CAAC;EACDK,cAAcA,CAAErC,MAAM,EAAG;IACxB,MAAM;MAAEsB,WAAW,GAAG;IAAa,CAAC,GAAGtB,MAAM;IAC7C,OAAOsB,WAAW;EACnB,CAAC;EACDgB,aAAaA,CAAA,EAAG;IACf,OAAO,EAAE;EACV;AACD,CAAC;AAED,SAASvB,kCAAkCA,CAAE;EAAEf,MAAM;EAAEC;AAAS,CAAC,EAAG;EACnE,MAAM;IAAEqB,WAAW,GAAG;EAAa,CAAC,GAAGtB,MAAM;EAE7C,MAAMuC,wBAAwB,GAC7BjB,WAAW,KAAK,YAAY,GACzB9B,oBAAoB,CAACH,MAAM,GAC3BG,oBAAoB,CAACC,GAAG;EAE5B,MAAM;IAAEqC,iBAAiB,GAAGS;EAAyB,CAAC,GAAGvC,MAAM;EAE/D,MAAMwC,yBAAyB,GAAKC,KAAK,IAAM;IAC9CxC,QAAQ,CAAE;MACT,GAAGD,MAAM;MACT8B,iBAAiB,EAAEW;IACpB,CAAE,CAAC;EACJ,CAAC;EAED,oBACC5D,IAAA,CAACJ,6BAA6B;IAC7BwB,QAAQ,EAAGuC,yBAA2B;IACtCC,KAAK,EAAGX,iBAAmB;IAC3BY,QAAQ,EACPpB,WAAW,KAAK,YAAY,GACzB,CAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAE,GACxC,CAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe;EAC/C,CACD,CAAC;AAEJ;AAEA,MAAMqB,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;AAED,SAASvC,+BAA+BA,CAAE;EACzCL,MAAM;EACNC,QAAQ;EACRa,SAAS,GAAG;AACb,CAAC,EAAG;EACH,MAAM;IAAEa,cAAc,GAAG,MAAM;IAAEL,WAAW,GAAG;EAAa,CAAC,GAAGtB,MAAM;EACtE,MAAM6C,qBAAqB,GAAKJ,KAAK,IAAM;IAC1CxC,QAAQ,CAAE;MACT,GAAGD,MAAM;MACT2B,cAAc,EAAEc;IACjB,CAAE,CAAC;EACJ,CAAC;EACD,MAAMK,eAAe,GAAG,CAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAE;EACrD,IAAKxB,WAAW,KAAK,YAAY,EAAG;IACnCwB,eAAe,CAACZ,IAAI,CAAE,eAAgB,CAAC;EACxC,CAAC,MAAM;IACNY,eAAe,CAACZ,IAAI,CAAE,SAAU,CAAC;EAClC;EACA,IAAKpB,SAAS,EAAG;IAChB,oBACCjC,IAAA,CAACL,qBAAqB;MACrBsE,eAAe,EAAGA,eAAiB;MACnCL,KAAK,EAAGd,cAAgB;MACxB1B,QAAQ,EAAG4C,qBAAuB;MAClCE,YAAY,EAAGJ;IAAe,CAC9B,CAAC;EAEJ;EAEA,MAAMK,oBAAoB,GAAG,CAC5B;IACCP,KAAK,EAAE,MAAM;IACbQ,IAAI,EAAE3F,WAAW;IACjBuC,KAAK,EAAExC,EAAE,CAAE,oBAAqB;EACjC,CAAC,EACD;IACCoF,KAAK,EAAE,QAAQ;IACfQ,IAAI,EAAE1F,aAAa;IACnBsC,KAAK,EAAExC,EAAE,CAAE,sBAAuB;EACnC,CAAC,EACD;IACCoF,KAAK,EAAE,OAAO;IACdQ,IAAI,EAAEzF,YAAY;IAClBqC,KAAK,EAAExC,EAAE,CAAE,qBAAsB;EAClC,CAAC,CACD;EACD,IAAKiE,WAAW,KAAK,YAAY,EAAG;IACnC0B,oBAAoB,CAACd,IAAI,CAAE;MAC1BO,KAAK,EAAE,eAAe;MACtBQ,IAAI,EAAExF,mBAAmB;MACzBoC,KAAK,EAAExC,EAAE,CAAE,qBAAsB;IAClC,CAAE,CAAC;EACJ,CAAC,MAAM;IACN2F,oBAAoB,CAACd,IAAI,CAAE;MAC1BO,KAAK,EAAE,SAAS;MAChBQ,IAAI,EAAEvF,cAAc;MACpBmC,KAAK,EAAExC,EAAE,CAAE,eAAgB;IAC5B,CAAE,CAAC;EACJ;EAEA,oBACCwB,IAAA,CAACZ,kBAAkB;IAClBiF,qBAAqB;IACrBC,uBAAuB;IACvBtD,KAAK,EAAGxC,EAAE,CAAE,eAAgB,CAAG;IAC/BoF,KAAK,EAAGd,cAAgB;IACxB1B,QAAQ,EAAG4C,qBAAuB;IAClCO,SAAS,EAAC,wDAAwD;IAAAhD,QAAA,EAEhE4C,oBAAoB,CAACK,GAAG,CAAE,CAAE;MAAEZ,KAAK;MAAEQ,IAAI;MAAEpD;IAAM,CAAC,KAAM;MACzD,oBACChB,IAAA,CAACV,4BAA4B;QAE5BsE,KAAK,EAAGA,KAAO;QACfQ,IAAI,EAAGA,IAAM;QACbpD,KAAK,EAAGA;MAAO,GAHT4C,KAIN,CAAC;IAEJ,CAAE;EAAC,CACgB,CAAC;AAEvB;AAEA,SAASlC,eAAeA,CAAE;EAAEP,MAAM;EAAEC;AAAS,CAAC,EAAG;EAChD,MAAM;IAAE2B,QAAQ,GAAG;EAAO,CAAC,GAAG5B,MAAM;EACpC,oBACCnB,IAAA,CAAChB,aAAa;IACbsF,uBAAuB;IACvBtD,KAAK,EAAGxC,EAAE,CAAE,iCAAkC,CAAG;IACjD4C,QAAQ,EAAKwC,KAAK,IAAM;MACvBxC,QAAQ,CAAE;QACT,GAAGD,MAAM;QACT4B,QAAQ,EAAEa,KAAK,GAAG,MAAM,GAAG;MAC5B,CAAE,CAAC;IACJ,CAAG;IACHa,OAAO,EAAG1B,QAAQ,KAAK;EAAQ,CAC/B,CAAC;AAEJ;AAEA,SAAStB,kBAAkBA,CAAE;EAAEN,MAAM;EAAEC;AAAS,CAAC,EAAG;EACnD,MAAM;IACLqB,WAAW,GAAG,YAAY;IAC1BQ,iBAAiB;IACjBH;EACD,CAAC,GAAG3B,MAAM;EACV,oBACCjB,KAAA,CAACd,kBAAkB;IAClBiF,qBAAqB;IACrBC,uBAAuB;IACvBC,SAAS,EAAC,sDAAsD;IAChEvD,KAAK,EAAGxC,EAAE,CAAE,aAAc,CAAG;IAC7BoF,KAAK,EAAGnB,WAAa;IACrBrB,QAAQ,EAAKwC,KAAK,IAAM;MACvB;MACA,IAAIc,oBAAoB,GAAGzB,iBAAiB;MAC5C,IAAI0B,gBAAgB,GAAG7B,cAAc;MACrC,IAAKc,KAAK,KAAK,YAAY,EAAG;QAC7B,IAAKX,iBAAiB,KAAK,eAAe,EAAG;UAC5CyB,oBAAoB,GAAG,QAAQ;QAChC;QACA,IAAK5B,cAAc,KAAK,SAAS,EAAG;UACnC6B,gBAAgB,GAAG,MAAM;QAC1B;MACD,CAAC,MAAM;QACN,IAAK1B,iBAAiB,KAAK,SAAS,EAAG;UACtCyB,oBAAoB,GAAG,KAAK;QAC7B;QACA,IAAK5B,cAAc,KAAK,eAAe,EAAG;UACzC6B,gBAAgB,GAAG,MAAM;QAC1B;MACD;MACA,OAAOvD,QAAQ,CAAE;QAChB,GAAGD,MAAM;QACTsB,WAAW,EAAEmB,KAAK;QAClBX,iBAAiB,EAAEyB,oBAAoB;QACvC5B,cAAc,EAAE6B;MACjB,CAAE,CAAC;IACJ,CAAG;IAAApD,QAAA,gBAEHvB,IAAA,CAACV,4BAA4B;MAC5B8E,IAAI,EAAGtF,UAAY;MACnB8E,KAAK,EAAC,YAAY;MAClB5C,KAAK,EAAGxC,EAAE,CAAE,YAAa;IAAG,CAC5B,CAAC,eACFwB,IAAA,CAACV,4BAA4B;MAC5B8E,IAAI,EAAGrF,SAAW;MAClB6E,KAAK,EAAC,UAAU;MAChB5C,KAAK,EAAGxC,EAAE,CAAE,UAAW;IAAG,CAC1B,CAAC;EAAA,CACiB,CAAC;AAEvB","ignoreList":[]}
1
+ {"version":3,"names":["__","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","arrowRight","arrowDown","ToggleControl","Flex","FlexItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","appendSelectors","getBlockGapCSS","getGapCSSValue","BlockControls","JustifyContentControl","BlockVerticalAlignmentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","allowJustification","children","FlexLayoutJustifyContentControl","OrientationControl","FlexWrapControl","toolBarControls","FlexLayoutToolbarControls","allowVerticalAlignment","group","__experimentalShareWithChildBlocks","isToolbar","FlexLayoutVerticalAlignmentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","defaultVerticalAlignment","onVerticalAlignmentChange","value","controls","POPOVER_PROPS","placement","onJustificationChange","allowedControls","popoverProps","justificationOptions","icon","__next40pxDefaultSize","__nextHasNoMarginBottom","className","map","checked","newVerticalAlignment","newJustification"],"sources":["@wordpress/block-editor/src/layouts/flex.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tToggleControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\n// Used with the default, horizontal flex orientation.\nconst justifyContentMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\t'space-between': 'space-between',\n};\n\n// Used with the vertical (column) flex orientation.\nconst alignItemsMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\tstretch: 'stretch',\n};\n\nconst verticalAlignmentMap = {\n\ttop: 'flex-start',\n\tcenter: 'center',\n\tbottom: 'flex-end',\n\tstretch: 'stretch',\n\t'space-between': 'space-between',\n};\n\nconst flexWrapOptions = [ 'wrap', 'nowrap' ];\n\nexport default {\n\tname: 'flex',\n\tlabel: __( 'Flex' ),\n\tinspectorControls: function FlexLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowOrientation = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Flex>\n\t\t\t\t\t{ allowJustification && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t\t<FlexWrapControl layout={ layout } onChange={ onChange } />\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tconst { allowVerticalAlignment = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\n\t\tif ( ! allowJustification && ! allowVerticalAlignment ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\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</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 { orientation = 'horizontal' } = 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\t\tconst justifyContent = justifyContentMap[ layout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( layout.flexWrap )\n\t\t\t? layout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ layout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ layout.justifyContent ] || alignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\trules.push( 'flex-direction: column' );\n\t\t\trules.push( `align-items: ${ alignItems }` );\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\toutput = `${ appendSelectors( selector ) } {\n\t\t\t\t${ rules.join( '; ' ) };\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'flex',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation( layout ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\treturn orientation;\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\nfunction FlexLayoutVerticalAlignmentControl( { layout, onChange } ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst defaultVerticalAlignment =\n\t\torientation === 'horizontal'\n\t\t\t? verticalAlignmentMap.center\n\t\t\t: verticalAlignmentMap.top;\n\n\tconst { verticalAlignment = defaultVerticalAlignment } = layout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockVerticalAlignmentControl\n\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\tvalue={ verticalAlignment }\n\t\t\tcontrols={\n\t\t\t\torientation === 'horizontal'\n\t\t\t\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t\t\t\t: [ 'top', 'center', 'bottom', 'space-between' ]\n\t\t\t}\n\t\t/>\n\t);\n}\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction FlexLayoutJustifyContentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { justifyContent = 'left', orientation = 'horizontal' } = 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\tif ( orientation === 'horizontal' ) {\n\t\tallowedControls.push( 'space-between' );\n\t} else {\n\t\tallowedControls.push( 'stretch' );\n\t}\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<JustifyContentControl\n\t\t\t\tallowedControls={ allowedControls }\n\t\t\t\tvalue={ justifyContent }\n\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst justificationOptions = [\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\tlabel: __( 'Justify items left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\tlabel: __( 'Justify items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: justifyRight,\n\t\t\tlabel: __( 'Justify items right' ),\n\t\t},\n\t];\n\tif ( orientation === 'horizontal' ) {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\tlabel: __( 'Space between items' ),\n\t\t} );\n\t} else {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'stretch',\n\t\t\ticon: justifyStretch,\n\t\t\tlabel: __( 'Stretch items' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Justification' ) }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-justification-controls\"\n\t\t>\n\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FlexWrapControl( { layout, onChange } ) {\n\tconst { flexWrap = 'wrap' } = layout;\n\treturn (\n\t\t<ToggleControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow to wrap to multiple lines' ) }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: value ? 'wrap' : 'nowrap',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={ flexWrap === 'wrap' }\n\t\t/>\n\t);\n}\n\nfunction OrientationControl( { layout, onChange } ) {\n\tconst {\n\t\torientation = 'horizontal',\n\t\tverticalAlignment,\n\t\tjustifyContent,\n\t} = layout;\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"block-editor-hooks__flex-layout-orientation-controls\"\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\tvalue={ orientation }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\t// Make sure the vertical alignment and justification are compatible with the new orientation.\n\t\t\t\tlet newVerticalAlignment = verticalAlignment;\n\t\t\t\tlet newJustification = justifyContent;\n\t\t\t\tif ( value === 'horizontal' ) {\n\t\t\t\t\tif ( verticalAlignment === 'space-between' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'center';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'stretch' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( verticalAlignment === 'stretch' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'top';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'space-between' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn onChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: value,\n\t\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t\t\tjustifyContent: newJustification,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tvalue=\"horizontal\"\n\t\t\t\tlabel={ __( 'Horizontal' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tvalue=\"vertical\"\n\t\t\t\tlabel={ __( 'Vertical' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -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 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":[]}
1
+ {"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/block-editor/src/lock-unlock.ts"],"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":[]}
@@ -9,11 +9,11 @@ import ResizableBoxPopover from './components/resizable-box-popover';
9
9
  import { default as PrivateQuickInserter } from './components/inserter/quick-inserter';
10
10
  import { extractWords, getNormalizedSearchTerms, normalizeString } from './components/inserter/search-items';
11
11
  import { PrivateListView } from './components/list-view';
12
- import BlockInfo from './components/block-info-slot-fill';
13
12
  import { useHasBlockToolbar } from './components/block-toolbar/use-has-block-toolbar';
14
13
  import { cleanEmptyObject } from './hooks/utils';
15
14
  import BlockQuickNavigation from './components/block-quick-navigation';
16
15
  import { LayoutStyle } from './components/block-list/layout';
16
+ import BlockManager from './components/block-manager';
17
17
  import { BlockRemovalWarningModal } from './components/block-removal-warning-modal';
18
18
  import { setBackgroundStyleDefaults, useLayoutClasses, useLayoutStyles, __unstableBlockStyleVariationOverridesWithConfig, useZoomOut } from './hooks';
19
19
  import DimensionsTool from './components/dimensions-tool';
@@ -32,8 +32,8 @@ import { PrivatePublishDateTimePicker } from './components/publish-date-time-pic
32
32
  import useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';
33
33
  import useBlockDisplayTitle from './components/block-title/use-block-display-title';
34
34
  import TabbedSidebar from './components/tabbed-sidebar';
35
- import __unstableCommentIconFill from './components/collab/block-comment-icon-slot';
36
- import __unstableCommentIconToolbarFill from './components/collab/block-comment-icon-toolbar-slot';
35
+ import CommentIconSlotFill from './components/collab/block-comment-icon-slot';
36
+ import CommentIconToolbarSlotFill from './components/collab/block-comment-icon-toolbar-slot';
37
37
  /**
38
38
  * Private @wordpress/block-editor APIs.
39
39
  */
@@ -50,11 +50,11 @@ lock(privateApis, {
50
50
  normalizeString,
51
51
  PrivateListView,
52
52
  ResizableBoxPopover,
53
- BlockInfo,
54
53
  useHasBlockToolbar,
55
54
  cleanEmptyObject,
56
55
  BlockQuickNavigation,
57
56
  LayoutStyle,
57
+ BlockManager,
58
58
  BlockRemovalWarningModal,
59
59
  useLayoutClasses,
60
60
  useLayoutStyles,
@@ -79,7 +79,7 @@ lock(privateApis, {
79
79
  __unstableBlockStyleVariationOverridesWithConfig,
80
80
  setBackgroundStyleDefaults,
81
81
  sectionRootClientIdKey,
82
- __unstableCommentIconFill,
83
- __unstableCommentIconToolbarFill
82
+ CommentIconSlotFill,
83
+ CommentIconToolbarSlotFill
84
84
  });
85
85
  //# sourceMappingURL=private-apis.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["globalStyles","ExperimentalBlockEditorProvider","lock","getRichTextValues","ResizableBoxPopover","default","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","BlockInfo","useHasBlockToolbar","cleanEmptyObject","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","setBackgroundStyleDefaults","useLayoutClasses","useLayoutStyles","__unstableBlockStyleVariationOverridesWithConfig","useZoomOut","DimensionsTool","ResolutionTool","TextAlignmentControl","usesContextKey","ExperimentalBlockCanvas","getDuotoneFilter","useFlashEditableBlocks","selectBlockPatternsKey","reusableBlocksSelectKey","globalStylesDataKey","globalStylesLinksDataKey","sectionRootClientIdKey","requiresWrapperOnCopy","PrivateRichText","PrivateBlockPopover","PrivateInserterLibrary","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle","TabbedSidebar","__unstableCommentIconFill","__unstableCommentIconToolbarFill","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 { 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 } 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\tuseZoomOut,\n} from './hooks';\nimport DimensionsTool from './components/dimensions-tool';\nimport ResolutionTool from './components/resolution-tool';\nimport TextAlignmentControl from './components/text-alignment-control';\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\tsectionRootClientIdKey,\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';\nimport __unstableCommentIconFill from './components/collab/block-comment-icon-slot';\nimport __unstableCommentIconToolbarFill from './components/collab/block-comment-icon-toolbar-slot';\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\tPrivateQuickInserter,\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseHasBlockToolbar,\n\tcleanEmptyObject,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tDimensionsTool,\n\tResolutionTool,\n\tTabbedSidebar,\n\tTextAlignmentControl,\n\tusesContextKey,\n\tuseFlashEditableBlocks,\n\tuseZoomOut,\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\tsectionRootClientIdKey,\n\t__unstableCommentIconFill,\n\t__unstableCommentIconToolbarFill,\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,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,QAAQ,eAAe;AAChD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,wBAAwB,QAAQ,0CAA0C;AACnF,SACCC,0BAA0B,EAC1BC,gBAAgB,EAChBC,eAAe,EACfC,gDAAgD,EAChDC,UAAU,QACJ,SAAS;AAChB,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,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,EACxBC,sBAAsB,QAChB,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;AACvD,OAAOC,yBAAyB,MAAM,6CAA6C;AACnF,OAAOC,gCAAgC,MAAM,qDAAqD;AAClG;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7B1C,IAAI,CAAE0C,WAAW,EAAE;EAClB,GAAG5C,YAAY;EACf0B,uBAAuB;EACvBzB,+BAA+B;EAC/B0B,gBAAgB;EAChBxB,iBAAiB;EACjBG,oBAAoB;EACpBC,YAAY;EACZC,wBAAwB;EACxBC,eAAe;EACfC,eAAe;EACfN,mBAAmB;EACnBO,SAAS;EACTC,kBAAkB;EAClBC,gBAAgB;EAChBC,oBAAoB;EACpBC,WAAW;EACXC,wBAAwB;EACxBE,gBAAgB;EAChBC,eAAe;EACfG,cAAc;EACdC,cAAc;EACdkB,aAAa;EACbjB,oBAAoB;EACpBC,cAAc;EACdG,sBAAsB;EACtBP,UAAU;EACVU,mBAAmB;EACnBC,wBAAwB;EACxBH,sBAAsB;EACtBK,qBAAqB;EACrBC,eAAe;EACfE,sBAAsB;EACtBP,uBAAuB;EACvBM,mBAAmB;EACnBE,4BAA4B;EAC5BC,eAAe;EACfC,oBAAoB;EACpBpB,gDAAgD;EAChDH,0BAA0B;EAC1BgB,sBAAsB;EACtBS,yBAAyB;EACzBC;AACD,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["globalStyles","ExperimentalBlockEditorProvider","lock","getRichTextValues","ResizableBoxPopover","default","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","useHasBlockToolbar","cleanEmptyObject","BlockQuickNavigation","LayoutStyle","BlockManager","BlockRemovalWarningModal","setBackgroundStyleDefaults","useLayoutClasses","useLayoutStyles","__unstableBlockStyleVariationOverridesWithConfig","useZoomOut","DimensionsTool","ResolutionTool","TextAlignmentControl","usesContextKey","ExperimentalBlockCanvas","getDuotoneFilter","useFlashEditableBlocks","selectBlockPatternsKey","reusableBlocksSelectKey","globalStylesDataKey","globalStylesLinksDataKey","sectionRootClientIdKey","requiresWrapperOnCopy","PrivateRichText","PrivateBlockPopover","PrivateInserterLibrary","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle","TabbedSidebar","CommentIconSlotFill","CommentIconToolbarSlotFill","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 { 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 { useHasBlockToolbar } from './components/block-toolbar/use-has-block-toolbar';\nimport { cleanEmptyObject } from './hooks/utils';\nimport BlockQuickNavigation from './components/block-quick-navigation';\nimport { LayoutStyle } from './components/block-list/layout';\nimport BlockManager from './components/block-manager';\nimport { BlockRemovalWarningModal } from './components/block-removal-warning-modal';\nimport {\n\tsetBackgroundStyleDefaults,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\t__unstableBlockStyleVariationOverridesWithConfig,\n\tuseZoomOut,\n} from './hooks';\nimport DimensionsTool from './components/dimensions-tool';\nimport ResolutionTool from './components/resolution-tool';\nimport TextAlignmentControl from './components/text-alignment-control';\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\tsectionRootClientIdKey,\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';\nimport CommentIconSlotFill from './components/collab/block-comment-icon-slot';\nimport CommentIconToolbarSlotFill from './components/collab/block-comment-icon-toolbar-slot';\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\tPrivateQuickInserter,\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tuseHasBlockToolbar,\n\tcleanEmptyObject,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockManager,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tDimensionsTool,\n\tResolutionTool,\n\tTabbedSidebar,\n\tTextAlignmentControl,\n\tusesContextKey,\n\tuseFlashEditableBlocks,\n\tuseZoomOut,\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\tsectionRootClientIdKey,\n\tCommentIconSlotFill,\n\tCommentIconToolbarSlotFill,\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,OAAO,IAAIC,oBAAoB,QAAQ,sCAAsC;AACtF,SACCC,YAAY,EACZC,wBAAwB,EACxBC,eAAe,QACT,oCAAoC;AAC3C,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SAASC,kBAAkB,QAAQ,kDAAkD;AACrF,SAASC,gBAAgB,QAAQ,eAAe;AAChD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,OAAOC,YAAY,MAAM,4BAA4B;AACrD,SAASC,wBAAwB,QAAQ,0CAA0C;AACnF,SACCC,0BAA0B,EAC1BC,gBAAgB,EAChBC,eAAe,EACfC,gDAAgD,EAChDC,UAAU,QACJ,SAAS;AAChB,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,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,EACxBC,sBAAsB,QAChB,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;AACvD,OAAOC,mBAAmB,MAAM,6CAA6C;AAC7E,OAAOC,0BAA0B,MAAM,qDAAqD;AAC5F;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7B1C,IAAI,CAAE0C,WAAW,EAAE;EAClB,GAAG5C,YAAY;EACf0B,uBAAuB;EACvBzB,+BAA+B;EAC/B0B,gBAAgB;EAChBxB,iBAAiB;EACjBG,oBAAoB;EACpBC,YAAY;EACZC,wBAAwB;EACxBC,eAAe;EACfC,eAAe;EACfN,mBAAmB;EACnBO,kBAAkB;EAClBC,gBAAgB;EAChBC,oBAAoB;EACpBC,WAAW;EACXC,YAAY;EACZC,wBAAwB;EACxBE,gBAAgB;EAChBC,eAAe;EACfG,cAAc;EACdC,cAAc;EACdkB,aAAa;EACbjB,oBAAoB;EACpBC,cAAc;EACdG,sBAAsB;EACtBP,UAAU;EACVU,mBAAmB;EACnBC,wBAAwB;EACxBH,sBAAsB;EACtBK,qBAAqB;EACrBC,eAAe;EACfE,sBAAsB;EACtBP,uBAAuB;EACvBM,mBAAmB;EACnBE,4BAA4B;EAC5BC,eAAe;EACfC,oBAAoB;EACpBpB,gDAAgD;EAChDH,0BAA0B;EAC1BgB,sBAAsB;EACtBS,mBAAmB;EACnBC;AACD,CAAE,CAAC","ignoreList":[]}
@@ -79,7 +79,7 @@ function getEnabledClientIdsTreeUnmemoized(state, rootClientId) {
79
79
  *
80
80
  * @return {Object[]} Tree of block objects with only clientID and innerBlocks set.
81
81
  */
82
- export const getEnabledClientIdsTree = createSelector(getEnabledClientIdsTreeUnmemoized, state => [state.blocks.order, state.blockEditingModes, state.settings.templateLock, state.blockListSettings, state.editorMode, state.zoomLevel, getSectionRootClientId(state)]);
82
+ export const getEnabledClientIdsTree = createRegistrySelector(select => createSelector(getEnabledClientIdsTreeUnmemoized, state => [state.blocks.order, state.blockEditingModes, state.settings.templateLock, state.blockListSettings, select(STORE_NAME).__unstableGetEditorMode(state), state.zoomLevel, getSectionRootClientId(state)]));
83
83
 
84
84
  /**
85
85
  * Returns a list of a given block's ancestors, from top to bottom. Blocks with
@@ -243,14 +243,14 @@ export const hasAllowedPatterns = createRegistrySelector(select => createSelecto
243
243
  name: blockName
244
244
  }) => canInsertBlockType(state, blockName, rootClientId));
245
245
  });
246
- }, (state, rootClientId) => [...getAllPatternsDependants(select)(state), ...getInsertBlockTypeDependants(state, rootClientId)]));
246
+ }, (state, rootClientId) => [...getAllPatternsDependants(select)(state), ...getInsertBlockTypeDependants(select)(state, rootClientId)]));
247
247
  function mapUserPattern(userPattern, __experimentalUserPatternCategories = []) {
248
248
  return {
249
249
  name: `core/block/${userPattern.id}`,
250
250
  id: userPattern.id,
251
251
  type: INSERTER_PATTERN_TYPES.user,
252
252
  title: userPattern.title.raw,
253
- categories: userPattern.wp_pattern_category.map(catId => {
253
+ categories: userPattern.wp_pattern_category?.map(catId => {
254
254
  const category = __experimentalUserPatternCategories.find(({
255
255
  id
256
256
  }) => id === catId);