@wordpress/block-editor 8.0.0 → 8.0.4

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 (1139) hide show
  1. package/build/components/alignment-control/ui.js +11 -9
  2. package/build/components/alignment-control/ui.js.map +1 -1
  3. package/build/components/autocomplete/index.js +5 -4
  4. package/build/components/autocomplete/index.js.map +1 -1
  5. package/build/components/block-actions/index.js +12 -8
  6. package/build/components/block-actions/index.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.js +21 -17
  8. package/build/components/block-alignment-control/ui.js.map +1 -1
  9. package/build/components/block-alignment-control/use-available-alignments.js +9 -4
  10. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  11. package/build/components/block-alignment-matrix-control/index.js +6 -4
  12. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  13. package/build/components/block-breadcrumb/index.js +4 -3
  14. package/build/components/block-breadcrumb/index.js.map +1 -1
  15. package/build/components/block-caption/index.native.js +34 -29
  16. package/build/components/block-caption/index.native.js.map +1 -1
  17. package/build/components/block-card/index.js +8 -6
  18. package/build/components/block-card/index.js.map +1 -1
  19. package/build/components/block-compare/block-view.js +9 -8
  20. package/build/components/block-compare/block-view.js.map +1 -1
  21. package/build/components/block-compare/index.js +9 -7
  22. package/build/components/block-compare/index.js.map +1 -1
  23. package/build/components/block-content-overlay/index.js +7 -6
  24. package/build/components/block-content-overlay/index.js.map +1 -1
  25. package/build/components/block-context/index.js +5 -4
  26. package/build/components/block-context/index.js.map +1 -1
  27. package/build/components/block-controls/fill.js +7 -6
  28. package/build/components/block-controls/fill.js.map +1 -1
  29. package/build/components/block-controls/slot.js +5 -4
  30. package/build/components/block-controls/slot.js.map +1 -1
  31. package/build/components/block-controls/slot.native.js +5 -4
  32. package/build/components/block-controls/slot.native.js.map +1 -1
  33. package/build/components/block-draggable/draggable-chip.js +5 -4
  34. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  35. package/build/components/block-draggable/index.js +13 -11
  36. package/build/components/block-draggable/index.js.map +1 -1
  37. package/build/components/block-edit/context.js +1 -1
  38. package/build/components/block-full-height-alignment-control/index.js +7 -6
  39. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  40. package/build/components/block-icon/index.js +7 -5
  41. package/build/components/block-icon/index.js.map +1 -1
  42. package/build/components/block-icon/index.native.js +8 -6
  43. package/build/components/block-icon/index.native.js.map +1 -1
  44. package/build/components/block-inspector/index.js +20 -15
  45. package/build/components/block-inspector/index.js.map +1 -1
  46. package/build/components/block-list/block-html.js +4 -3
  47. package/build/components/block-list/block-html.js.map +1 -1
  48. package/build/components/block-list/block-invalid-warning.js +28 -20
  49. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  50. package/build/components/block-list/block-invalid-warning.native.js +5 -4
  51. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  52. package/build/components/block-list/block-list-item.native.js +6 -5
  53. package/build/components/block-list/block-list-item.native.js.map +1 -1
  54. package/build/components/block-list/block-selection-button.native.js +11 -9
  55. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  56. package/build/components/block-list/block.js +40 -33
  57. package/build/components/block-list/block.js.map +1 -1
  58. package/build/components/block-list/block.native.js +35 -29
  59. package/build/components/block-list/block.native.js.map +1 -1
  60. package/build/components/block-list/index.js +14 -12
  61. package/build/components/block-list/index.js.map +1 -1
  62. package/build/components/block-list/index.native.js +22 -17
  63. package/build/components/block-list/index.native.js.map +1 -1
  64. package/build/components/block-list/insertion-point.native.js +4 -3
  65. package/build/components/block-list/insertion-point.native.js.map +1 -1
  66. package/build/components/block-list/layout.js +8 -6
  67. package/build/components/block-list/layout.js.map +1 -1
  68. package/build/components/block-list/subdirectory-icon.js +13 -10
  69. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  70. package/build/components/block-list/use-block-props/index.js +5 -3
  71. package/build/components/block-list/use-block-props/index.js.map +1 -1
  72. package/build/components/block-list/use-block-props/index.native.js +2 -1
  73. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  74. package/build/components/block-list/use-block-props/use-block-refs.js +2 -2
  75. package/build/components/block-list/use-block-props/use-multi-selection.js +9 -6
  76. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  77. package/build/components/block-list-appender/index.js +16 -13
  78. package/build/components/block-list-appender/index.js.map +1 -1
  79. package/build/components/block-list-appender/index.native.js +14 -11
  80. package/build/components/block-list-appender/index.native.js.map +1 -1
  81. package/build/components/block-media-update-progress/index.native.js +1 -1
  82. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  83. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  84. package/build/components/block-mobile-toolbar/index.js +4 -3
  85. package/build/components/block-mobile-toolbar/index.js.map +1 -1
  86. package/build/components/block-mobile-toolbar/index.native.js +33 -25
  87. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  88. package/build/components/block-mover/button.js +8 -7
  89. package/build/components/block-mover/button.js.map +1 -1
  90. package/build/components/block-mover/index.js +15 -13
  91. package/build/components/block-mover/index.js.map +1 -1
  92. package/build/components/block-mover/index.native.js +23 -20
  93. package/build/components/block-mover/index.native.js.map +1 -1
  94. package/build/components/block-mover/mover-description.native.js +10 -7
  95. package/build/components/block-mover/mover-description.native.js.map +1 -1
  96. package/build/components/block-navigation/dropdown.js +26 -21
  97. package/build/components/block-navigation/dropdown.js.map +1 -1
  98. package/build/components/block-pattern-setup/index.js +26 -22
  99. package/build/components/block-pattern-setup/index.js.map +1 -1
  100. package/build/components/block-pattern-setup/setup-toolbar.js +46 -39
  101. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  102. package/build/components/block-patterns-list/index.js +44 -39
  103. package/build/components/block-patterns-list/index.js.map +1 -1
  104. package/build/components/block-preview/auto.js +5 -4
  105. package/build/components/block-preview/auto.js.map +1 -1
  106. package/build/components/block-preview/index.js +8 -7
  107. package/build/components/block-preview/index.js.map +1 -1
  108. package/build/components/block-preview/live.js +4 -3
  109. package/build/components/block-preview/live.js.map +1 -1
  110. package/build/components/block-selection-clearer/index.js +1 -1
  111. package/build/components/block-settings/button.native.js +10 -7
  112. package/build/components/block-settings/button.native.js.map +1 -1
  113. package/build/components/block-settings/container.native.js +7 -6
  114. package/build/components/block-settings/container.native.js.map +1 -1
  115. package/build/components/block-settings/index.native.js +4 -2
  116. package/build/components/block-settings/index.native.js.map +1 -1
  117. package/build/components/block-settings-menu/block-convert-button.js +7 -5
  118. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  119. package/build/components/block-settings-menu/block-html-convert-button.js +14 -10
  120. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  121. package/build/components/block-settings-menu/block-mode-toggle.js +25 -19
  122. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  123. package/build/components/block-settings-menu/block-settings-dropdown.js +74 -66
  124. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  125. package/build/components/block-settings-menu/index.js +5 -4
  126. package/build/components/block-settings-menu/index.js.map +1 -1
  127. package/build/components/block-settings-menu-controls/index.js +8 -6
  128. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  129. package/build/components/block-styles/index.js +20 -17
  130. package/build/components/block-styles/index.js.map +1 -1
  131. package/build/components/block-styles/index.native.js +6 -4
  132. package/build/components/block-styles/index.native.js.map +1 -1
  133. package/build/components/block-styles/preview.native.js +7 -6
  134. package/build/components/block-styles/preview.native.js.map +1 -1
  135. package/build/components/block-switcher/block-styles-menu.js +5 -4
  136. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  137. package/build/components/block-switcher/block-transformations-menu.js +7 -6
  138. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  139. package/build/components/block-switcher/block-transformations-menu.native.js +9 -8
  140. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  141. package/build/components/block-switcher/index.js +42 -34
  142. package/build/components/block-switcher/index.js.map +1 -1
  143. package/build/components/block-switcher/pattern-transformations-menu.js +22 -18
  144. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  145. package/build/components/block-switcher/preview-block-popover.js +4 -3
  146. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  147. package/build/components/block-switcher/use-transformed-patterns.js +1 -1
  148. package/build/components/block-switcher/utils.js +2 -1
  149. package/build/components/block-switcher/utils.js.map +1 -1
  150. package/build/components/block-title/index.js +4 -3
  151. package/build/components/block-title/index.js.map +1 -1
  152. package/build/components/block-toolbar/index.js +4 -3
  153. package/build/components/block-toolbar/index.js.map +1 -1
  154. package/build/components/block-toolbar/utils.js +13 -11
  155. package/build/components/block-toolbar/utils.js.map +1 -1
  156. package/build/components/block-tools/back-compat.js +8 -5
  157. package/build/components/block-tools/back-compat.js.map +1 -1
  158. package/build/components/block-tools/block-contextual-toolbar.js +6 -5
  159. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  160. package/build/components/block-tools/block-popover.js +15 -13
  161. package/build/components/block-tools/block-popover.js.map +1 -1
  162. package/build/components/block-tools/block-selection-button.js +6 -5
  163. package/build/components/block-tools/block-selection-button.js.map +1 -1
  164. package/build/components/block-tools/index.js +6 -5
  165. package/build/components/block-tools/index.js.map +1 -1
  166. package/build/components/block-tools/insertion-point.js +12 -10
  167. package/build/components/block-tools/insertion-point.js.map +1 -1
  168. package/build/components/block-types-list/index.js +9 -8
  169. package/build/components/block-types-list/index.js.map +1 -1
  170. package/build/components/block-types-list/index.native.js +19 -15
  171. package/build/components/block-types-list/index.native.js.map +1 -1
  172. package/build/components/block-variation-picker/index.js +9 -8
  173. package/build/components/block-variation-picker/index.js.map +1 -1
  174. package/build/components/block-variation-picker/index.native.js +9 -7
  175. package/build/components/block-variation-picker/index.native.js.map +1 -1
  176. package/build/components/block-variation-transforms/index.js +22 -15
  177. package/build/components/block-variation-transforms/index.js.map +1 -1
  178. package/build/components/block-vertical-alignment-control/ui.js +9 -7
  179. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  180. package/build/components/border-radius-control/all-input-control.js +6 -5
  181. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  182. package/build/components/border-radius-control/index.js +5 -4
  183. package/build/components/border-radius-control/index.js.map +1 -1
  184. package/build/components/border-radius-control/input-controls.js +16 -11
  185. package/build/components/border-radius-control/input-controls.js.map +1 -1
  186. package/build/components/border-radius-control/linked-button.js +5 -4
  187. package/build/components/border-radius-control/linked-button.js.map +1 -1
  188. package/build/components/border-radius-control/utils.js +10 -5
  189. package/build/components/border-radius-control/utils.js.map +1 -1
  190. package/build/components/border-style-control/index.js +5 -4
  191. package/build/components/border-style-control/index.js.map +1 -1
  192. package/build/components/button-block-appender/index.js +15 -13
  193. package/build/components/button-block-appender/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.native.js +28 -24
  195. package/build/components/button-block-appender/index.native.js.map +1 -1
  196. package/build/components/caption/index.native.js +44 -41
  197. package/build/components/caption/index.native.js.map +1 -1
  198. package/build/components/color-palette/control.js +6 -5
  199. package/build/components/color-palette/control.js.map +1 -1
  200. package/build/components/color-style-selector/index.js +43 -34
  201. package/build/components/color-style-selector/index.js.map +1 -1
  202. package/build/components/colors/color-panel.js +21 -18
  203. package/build/components/colors/color-panel.js.map +1 -1
  204. package/build/components/colors/index.js +10 -8
  205. package/build/components/colors/index.js.map +1 -1
  206. package/build/components/colors/utils.js +7 -4
  207. package/build/components/colors/utils.js.map +1 -1
  208. package/build/components/colors/with-colors.js +17 -6
  209. package/build/components/colors/with-colors.js.map +1 -1
  210. package/build/components/colors-gradients/control.js +16 -15
  211. package/build/components/colors-gradients/control.js.map +1 -1
  212. package/build/components/colors-gradients/panel-color-gradient-settings.js +56 -49
  213. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  214. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  215. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  216. package/build/components/contrast-checker/index.js +18 -15
  217. package/build/components/contrast-checker/index.js.map +1 -1
  218. package/build/components/convert-to-group-buttons/index.js +9 -8
  219. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  220. package/build/components/copy-handler/index.js +6 -5
  221. package/build/components/copy-handler/index.js.map +1 -1
  222. package/build/components/default-block-appender/index.js +10 -8
  223. package/build/components/default-block-appender/index.js.map +1 -1
  224. package/build/components/default-block-appender/index.native.js +10 -8
  225. package/build/components/default-block-appender/index.native.js.map +1 -1
  226. package/build/components/default-style-picker/index.js +14 -10
  227. package/build/components/default-style-picker/index.js.map +1 -1
  228. package/build/components/duotone-control/index.js +15 -12
  229. package/build/components/duotone-control/index.js.map +1 -1
  230. package/build/components/editable-text/index.js +6 -5
  231. package/build/components/editable-text/index.js.map +1 -1
  232. package/build/components/editor-styles/index.js +4 -3
  233. package/build/components/editor-styles/index.js.map +1 -1
  234. package/build/components/floating-toolbar/index.native.js +8 -7
  235. package/build/components/floating-toolbar/index.native.js.map +1 -1
  236. package/build/components/font-appearance-control/index.js +26 -19
  237. package/build/components/font-appearance-control/index.js.map +1 -1
  238. package/build/components/font-family/index.js +12 -10
  239. package/build/components/font-family/index.js.map +1 -1
  240. package/build/components/font-sizes/index.js +6 -6
  241. package/build/components/font-sizes/index.native.js +6 -6
  242. package/build/components/font-sizes/utils.js +2 -2
  243. package/build/components/font-sizes/with-font-sizes.js +11 -5
  244. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  245. package/build/components/gradients/use-gradient.js +7 -6
  246. package/build/components/gradients/use-gradient.js.map +1 -1
  247. package/build/components/iframe/index.js +28 -22
  248. package/build/components/iframe/index.js.map +1 -1
  249. package/build/components/image-editor/aspect-ratio-dropdown.js +90 -82
  250. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  251. package/build/components/image-editor/constants.js +1 -1
  252. package/build/components/image-editor/context.js +11 -10
  253. package/build/components/image-editor/context.js.map +1 -1
  254. package/build/components/image-editor/cropper.js +9 -8
  255. package/build/components/image-editor/cropper.js.map +1 -1
  256. package/build/components/image-editor/index.js +10 -9
  257. package/build/components/image-editor/index.js.map +1 -1
  258. package/build/components/image-editor/use-save-image.js +12 -11
  259. package/build/components/image-editor/use-save-image.js.map +1 -1
  260. package/build/components/image-editor/use-transform-image.js +6 -5
  261. package/build/components/image-editor/use-transform-image.js.map +1 -1
  262. package/build/components/image-editor/zoom-dropdown.js +13 -10
  263. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  264. package/build/components/image-size-control/index.js +12 -11
  265. package/build/components/image-size-control/index.js.map +1 -1
  266. package/build/components/index.js +210 -208
  267. package/build/components/index.js.map +1 -1
  268. package/build/components/index.native.js +112 -110
  269. package/build/components/index.native.js.map +1 -1
  270. package/build/components/inner-blocks/button-block-appender.js +8 -7
  271. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  272. package/build/components/inner-blocks/default-block-appender.js +9 -7
  273. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  274. package/build/components/inner-blocks/index.js +4 -2
  275. package/build/components/inner-blocks/index.js.map +1 -1
  276. package/build/components/inner-blocks/index.native.js +4 -2
  277. package/build/components/inner-blocks/index.native.js.map +1 -1
  278. package/build/components/inserter/block-patterns-explorer/explorer.js +10 -8
  279. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/patterns-list.js +12 -9
  281. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  282. package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -20
  283. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  284. package/build/components/inserter/block-patterns-tab.js +26 -20
  285. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  286. package/build/components/inserter/block-types-tab.js +9 -7
  287. package/build/components/inserter/block-types-tab.js.map +1 -1
  288. package/build/components/inserter/block-types-tab.native.js +9 -8
  289. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  290. package/build/components/inserter/hooks/use-block-type-impressions.native.js +5 -3
  291. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  292. package/build/components/inserter/hooks/use-block-types-state.js +6 -5
  293. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  294. package/build/components/inserter/hooks/use-insertion-point.js +11 -9
  295. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  296. package/build/components/inserter/index.js +36 -28
  297. package/build/components/inserter/index.js.map +1 -1
  298. package/build/components/inserter/index.native.js +46 -37
  299. package/build/components/inserter/index.native.js.map +1 -1
  300. package/build/components/inserter/library.js +12 -11
  301. package/build/components/inserter/library.js.map +1 -1
  302. package/build/components/inserter/menu.js +12 -11
  303. package/build/components/inserter/menu.js.map +1 -1
  304. package/build/components/inserter/menu.native.js +31 -27
  305. package/build/components/inserter/menu.native.js.map +1 -1
  306. package/build/components/inserter/panel.js +6 -5
  307. package/build/components/inserter/panel.js.map +1 -1
  308. package/build/components/inserter/pattern-panel.js +7 -6
  309. package/build/components/inserter/pattern-panel.js.map +1 -1
  310. package/build/components/inserter/preview-panel.js +4 -3
  311. package/build/components/inserter/preview-panel.js.map +1 -1
  312. package/build/components/inserter/quick-inserter.js +7 -6
  313. package/build/components/inserter/quick-inserter.js.map +1 -1
  314. package/build/components/inserter/reusable-blocks-tab.js +18 -13
  315. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  316. package/build/components/inserter/reusable-blocks-tab.native.js +6 -5
  317. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  318. package/build/components/inserter/search-items.js +23 -7
  319. package/build/components/inserter/search-items.js.map +1 -1
  320. package/build/components/inserter/search-results.js +15 -14
  321. package/build/components/inserter/search-results.js.map +1 -1
  322. package/build/components/inserter/search-results.native.js +11 -10
  323. package/build/components/inserter/search-results.native.js.map +1 -1
  324. package/build/components/inserter/tabs.js +7 -6
  325. package/build/components/inserter/tabs.js.map +1 -1
  326. package/build/components/inserter/tabs.native.js +55 -37
  327. package/build/components/inserter/tabs.native.js.map +1 -1
  328. package/build/components/inserter/utils.native.js +10 -8
  329. package/build/components/inserter/utils.native.js.map +1 -1
  330. package/build/components/inserter-draggable-blocks/index.js +12 -10
  331. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  332. package/build/components/inserter-list-item/index.js +79 -73
  333. package/build/components/inserter-list-item/index.js.map +1 -1
  334. package/build/components/inserter-listbox/index.js +8 -7
  335. package/build/components/inserter-listbox/index.js.map +1 -1
  336. package/build/components/inserter-listbox/item.js +7 -6
  337. package/build/components/inserter-listbox/item.js.map +1 -1
  338. package/build/components/inspector-controls/block-support-slot-container.js +5 -4
  339. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  340. package/build/components/inspector-controls/block-support-tools-panel.js +8 -6
  341. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  342. package/build/components/inspector-controls/fill.js +5 -4
  343. package/build/components/inspector-controls/fill.js.map +1 -1
  344. package/build/components/inspector-controls/fill.native.js +6 -5
  345. package/build/components/inspector-controls/fill.native.js.map +1 -1
  346. package/build/components/inspector-controls/slot.js +7 -6
  347. package/build/components/inspector-controls/slot.js.map +1 -1
  348. package/build/components/inspector-controls/slot.native.js +5 -4
  349. package/build/components/inspector-controls/slot.native.js.map +1 -1
  350. package/build/components/justify-content-control/ui.js +10 -8
  351. package/build/components/justify-content-control/ui.js.map +1 -1
  352. package/build/components/letter-spacing-control/index.js +6 -5
  353. package/build/components/letter-spacing-control/index.js.map +1 -1
  354. package/build/components/line-height-control/index.js +5 -4
  355. package/build/components/line-height-control/index.js.map +1 -1
  356. package/build/components/line-height-control/index.native.js +5 -4
  357. package/build/components/line-height-control/index.native.js.map +1 -1
  358. package/build/components/line-height-control/utils.js +1 -1
  359. package/build/components/link-control/index.js +25 -23
  360. package/build/components/link-control/index.js.map +1 -1
  361. package/build/components/link-control/link-preview.js +8 -7
  362. package/build/components/link-control/link-preview.js.map +1 -1
  363. package/build/components/link-control/search-create-button.js +9 -7
  364. package/build/components/link-control/search-create-button.js.map +1 -1
  365. package/build/components/link-control/search-input.js +21 -20
  366. package/build/components/link-control/search-input.js.map +1 -1
  367. package/build/components/link-control/search-item.js +10 -9
  368. package/build/components/link-control/search-item.js.map +1 -1
  369. package/build/components/link-control/search-results.js +15 -14
  370. package/build/components/link-control/search-results.js.map +1 -1
  371. package/build/components/link-control/settings-drawer.js +7 -5
  372. package/build/components/link-control/settings-drawer.js.map +1 -1
  373. package/build/components/link-control/use-search-handler.js +5 -4
  374. package/build/components/link-control/use-search-handler.js.map +1 -1
  375. package/build/components/link-control/viewer-slot.js +1 -1
  376. package/build/components/list-view/appender.js +27 -23
  377. package/build/components/list-view/appender.js.map +1 -1
  378. package/build/components/list-view/block-contents.js +32 -28
  379. package/build/components/list-view/block-contents.js.map +1 -1
  380. package/build/components/list-view/block-select-button.js +18 -17
  381. package/build/components/list-view/block-select-button.js.map +1 -1
  382. package/build/components/list-view/block.js +79 -66
  383. package/build/components/list-view/block.js.map +1 -1
  384. package/build/components/list-view/drop-indicator.js +5 -4
  385. package/build/components/list-view/drop-indicator.js.map +1 -1
  386. package/build/components/list-view/expander.js +4 -3
  387. package/build/components/list-view/expander.js.map +1 -1
  388. package/build/components/list-view/index.js +11 -10
  389. package/build/components/list-view/index.js.map +1 -1
  390. package/build/components/list-view/leaf.js +11 -10
  391. package/build/components/list-view/leaf.js.map +1 -1
  392. package/build/components/list-view/list-item.js +8 -7
  393. package/build/components/list-view/list-item.js.map +1 -1
  394. package/build/components/media-placeholder/index.js +86 -68
  395. package/build/components/media-placeholder/index.js.map +1 -1
  396. package/build/components/media-placeholder/index.native.js +5 -4
  397. package/build/components/media-placeholder/index.native.js.map +1 -1
  398. package/build/components/media-replace-flow/index.js +85 -72
  399. package/build/components/media-replace-flow/index.js.map +1 -1
  400. package/build/components/media-upload/check.js +5 -4
  401. package/build/components/media-upload/check.js.map +1 -1
  402. package/build/components/media-upload/index.native.js +1 -1
  403. package/build/components/media-upload-progress/index.native.js +1 -1
  404. package/build/components/multi-selection-inspector/index.js +4 -3
  405. package/build/components/multi-selection-inspector/index.js.map +1 -1
  406. package/build/components/navigable-toolbar/index.js +8 -7
  407. package/build/components/navigable-toolbar/index.js.map +1 -1
  408. package/build/components/observe-typing/index.js +5 -4
  409. package/build/components/observe-typing/index.js.map +1 -1
  410. package/build/components/panel-color-settings/index.js +16 -12
  411. package/build/components/panel-color-settings/index.js.map +1 -1
  412. package/build/components/plain-text/index.js +6 -4
  413. package/build/components/plain-text/index.js.map +1 -1
  414. package/build/components/preview-options/index.js +8 -7
  415. package/build/components/preview-options/index.js.map +1 -1
  416. package/build/components/provider/block-refs-provider.js +5 -4
  417. package/build/components/provider/block-refs-provider.js.map +1 -1
  418. package/build/components/provider/use-block-sync.js +8 -7
  419. package/build/components/provider/use-block-sync.js.map +1 -1
  420. package/build/components/provider/with-registry-provider.js +7 -5
  421. package/build/components/provider/with-registry-provider.js.map +1 -1
  422. package/build/components/responsive-block-control/label.js +6 -5
  423. package/build/components/responsive-block-control/label.js.map +1 -1
  424. package/build/components/rich-text/embed-handler-picker.native.js +7 -5
  425. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  426. package/build/components/rich-text/file-paste-handler.js +6 -3
  427. package/build/components/rich-text/file-paste-handler.js.map +1 -1
  428. package/build/components/rich-text/format-edit.js +8 -7
  429. package/build/components/rich-text/format-edit.js.map +1 -1
  430. package/build/components/rich-text/format-toolbar/index.js +18 -9
  431. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  432. package/build/components/rich-text/format-toolbar-container.js +6 -4
  433. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  434. package/build/components/rich-text/index.js +45 -41
  435. package/build/components/rich-text/index.js.map +1 -1
  436. package/build/components/rich-text/index.native.js +145 -122
  437. package/build/components/rich-text/index.native.js.map +1 -1
  438. package/build/components/rich-text/input-event.js +5 -4
  439. package/build/components/rich-text/input-event.js.map +1 -1
  440. package/build/components/rich-text/shortcut.js +6 -5
  441. package/build/components/rich-text/shortcut.js.map +1 -1
  442. package/build/components/rich-text/split-value.js +10 -8
  443. package/build/components/rich-text/split-value.js.map +1 -1
  444. package/build/components/rich-text/toolbar-button.js +7 -6
  445. package/build/components/rich-text/toolbar-button.js.map +1 -1
  446. package/build/components/rich-text/use-caret-in-format.js +4 -3
  447. package/build/components/rich-text/use-caret-in-format.js.map +1 -1
  448. package/build/components/rich-text/use-enter.js +6 -3
  449. package/build/components/rich-text/use-enter.js.map +1 -1
  450. package/build/components/rich-text/use-format-types.js +13 -10
  451. package/build/components/rich-text/use-format-types.js.map +1 -1
  452. package/build/components/rich-text/use-input-rules.js +15 -9
  453. package/build/components/rich-text/use-input-rules.js.map +1 -1
  454. package/build/components/rich-text/use-mark-persistent.js +5 -4
  455. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  456. package/build/components/rich-text/use-paste-handler.js +28 -4
  457. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  458. package/build/components/rich-text/utils.js +9 -7
  459. package/build/components/rich-text/utils.js.map +1 -1
  460. package/build/components/skip-to-selected-block/index.js +4 -3
  461. package/build/components/skip-to-selected-block/index.js.map +1 -1
  462. package/build/components/text-decoration-control/index.js +5 -4
  463. package/build/components/text-decoration-control/index.js.map +1 -1
  464. package/build/components/text-transform-control/index.js +5 -4
  465. package/build/components/text-transform-control/index.js.map +1 -1
  466. package/build/components/tool-selector/index.js +16 -13
  467. package/build/components/tool-selector/index.js.map +1 -1
  468. package/build/components/typewriter/index.js +10 -7
  469. package/build/components/typewriter/index.js.map +1 -1
  470. package/build/components/ungroup-button/index.native.js +12 -9
  471. package/build/components/ungroup-button/index.native.js.map +1 -1
  472. package/build/components/unit-control/index.js +5 -4
  473. package/build/components/unit-control/index.js.map +1 -1
  474. package/build/components/url-input/index.js +12 -9
  475. package/build/components/url-input/index.js.map +1 -1
  476. package/build/components/url-input/index.native.js +8 -6
  477. package/build/components/url-input/index.native.js.map +1 -1
  478. package/build/components/url-popover/image-url-input-ui.js +12 -11
  479. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  480. package/build/components/url-popover/index.js +9 -8
  481. package/build/components/url-popover/index.js.map +1 -1
  482. package/build/components/url-popover/link-editor.js +8 -7
  483. package/build/components/url-popover/link-editor.js.map +1 -1
  484. package/build/components/url-popover/link-viewer-url.js +6 -5
  485. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  486. package/build/components/url-popover/link-viewer.js +9 -8
  487. package/build/components/url-popover/link-viewer.js.map +1 -1
  488. package/build/components/use-block-drop-zone/index.js +9 -8
  489. package/build/components/use-block-drop-zone/index.js.map +1 -1
  490. package/build/components/use-moving-animation/index.js +17 -13
  491. package/build/components/use-moving-animation/index.js.map +1 -1
  492. package/build/components/use-no-recursive-renders/index.js +10 -6
  493. package/build/components/use-no-recursive-renders/index.js.map +1 -1
  494. package/build/components/use-on-block-drop/index.js +2 -2
  495. package/build/components/use-setting/index.js +1 -1
  496. package/build/components/use-setting/index.js.map +1 -1
  497. package/build/components/warning/index.js +7 -6
  498. package/build/components/warning/index.js.map +1 -1
  499. package/build/components/warning/index.native.js +10 -9
  500. package/build/components/warning/index.native.js.map +1 -1
  501. package/build/components/writing-flow/index.js +6 -5
  502. package/build/components/writing-flow/index.js.map +1 -1
  503. package/build/components/writing-flow/use-arrow-nav.js +2 -2
  504. package/build/hooks/align.js +12 -7
  505. package/build/hooks/align.js.map +1 -1
  506. package/build/hooks/border.js +4 -2
  507. package/build/hooks/border.js.map +1 -1
  508. package/build/hooks/color-panel.js +7 -6
  509. package/build/hooks/color-panel.js.map +1 -1
  510. package/build/hooks/color.js +4 -3
  511. package/build/hooks/color.js.map +1 -1
  512. package/build/hooks/dimensions.js +4 -2
  513. package/build/hooks/dimensions.js.map +1 -1
  514. package/build/hooks/duotone.js +13 -10
  515. package/build/hooks/duotone.js.map +1 -1
  516. package/build/hooks/font-appearance.js +17 -14
  517. package/build/hooks/font-appearance.js.map +1 -1
  518. package/build/hooks/font-family.js +29 -20
  519. package/build/hooks/font-family.js.map +1 -1
  520. package/build/hooks/font-size.js +10 -8
  521. package/build/hooks/font-size.js.map +1 -1
  522. package/build/hooks/gap.js +10 -8
  523. package/build/hooks/gap.js.map +1 -1
  524. package/build/hooks/index.js +14 -14
  525. package/build/hooks/index.native.js +10 -10
  526. package/build/hooks/layout.js +16 -13
  527. package/build/hooks/layout.js.map +1 -1
  528. package/build/hooks/letter-spacing.js +11 -9
  529. package/build/hooks/letter-spacing.js.map +1 -1
  530. package/build/hooks/line-height.js +11 -9
  531. package/build/hooks/line-height.js.map +1 -1
  532. package/build/hooks/margin.js +10 -8
  533. package/build/hooks/margin.js.map +1 -1
  534. package/build/hooks/padding.js +10 -8
  535. package/build/hooks/padding.js.map +1 -1
  536. package/build/hooks/style.js +9 -5
  537. package/build/hooks/style.js.map +1 -1
  538. package/build/hooks/text-decoration.js +11 -9
  539. package/build/hooks/text-decoration.js.map +1 -1
  540. package/build/hooks/text-transform.js +11 -9
  541. package/build/hooks/text-transform.js.map +1 -1
  542. package/build/hooks/typography.js +3 -2
  543. package/build/hooks/typography.js.map +1 -1
  544. package/build/hooks/typography.native.js +3 -2
  545. package/build/hooks/typography.native.js.map +1 -1
  546. package/build/hooks/use-border-props.js +5 -4
  547. package/build/hooks/use-border-props.js.map +1 -1
  548. package/build/index.js +18 -18
  549. package/build/layouts/flex.js +67 -39
  550. package/build/layouts/flex.js.map +1 -1
  551. package/build/layouts/flow.js +10 -8
  552. package/build/layouts/flow.js.map +1 -1
  553. package/build/layouts/index.js +2 -1
  554. package/build/layouts/index.js.map +1 -1
  555. package/build/layouts/utils.js +2 -1
  556. package/build/layouts/utils.js.map +1 -1
  557. package/build/store/actions.js +311 -232
  558. package/build/store/actions.js.map +1 -1
  559. package/build/store/array.js +2 -1
  560. package/build/store/array.js.map +1 -1
  561. package/build/store/index.js +5 -3
  562. package/build/store/index.js.map +1 -1
  563. package/build/store/reducer.js +124 -49
  564. package/build/store/reducer.js.map +1 -1
  565. package/build/store/selectors.js +219 -141
  566. package/build/store/selectors.js.map +1 -1
  567. package/build/utils/block-variation-transforms.js +4 -3
  568. package/build/utils/block-variation-transforms.js.map +1 -1
  569. package/build/utils/dom.js +1 -1
  570. package/build/utils/get-paste-event-data.js +10 -6
  571. package/build/utils/get-paste-event-data.js.map +1 -1
  572. package/build/utils/index.js +4 -4
  573. package/build/utils/math.js +2 -1
  574. package/build/utils/math.js.map +1 -1
  575. package/build/utils/parse-css-unit-to-px.js +6 -3
  576. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  577. package/build/utils/transform-styles/index.js +8 -6
  578. package/build/utils/transform-styles/index.js.map +1 -1
  579. package/build/utils/transform-styles/transforms/wrap.js +31 -28
  580. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  581. package/build-module/components/alignment-control/ui.js +11 -9
  582. package/build-module/components/alignment-control/ui.js.map +1 -1
  583. package/build-module/components/autocomplete/index.js +4 -3
  584. package/build-module/components/autocomplete/index.js.map +1 -1
  585. package/build-module/components/block-actions/index.js +12 -8
  586. package/build-module/components/block-actions/index.js.map +1 -1
  587. package/build-module/components/block-alignment-control/ui.js +21 -17
  588. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  589. package/build-module/components/block-alignment-control/use-available-alignments.js +9 -4
  590. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  591. package/build-module/components/block-alignment-matrix-control/index.js +6 -4
  592. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  593. package/build-module/components/block-breadcrumb/index.js +4 -3
  594. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  595. package/build-module/components/block-caption/index.native.js +34 -29
  596. package/build-module/components/block-caption/index.native.js.map +1 -1
  597. package/build-module/components/block-card/index.js +8 -6
  598. package/build-module/components/block-card/index.js.map +1 -1
  599. package/build-module/components/block-compare/block-view.js +9 -8
  600. package/build-module/components/block-compare/block-view.js.map +1 -1
  601. package/build-module/components/block-compare/index.js +9 -7
  602. package/build-module/components/block-compare/index.js.map +1 -1
  603. package/build-module/components/block-content-overlay/index.js +7 -6
  604. package/build-module/components/block-content-overlay/index.js.map +1 -1
  605. package/build-module/components/block-context/index.js +5 -4
  606. package/build-module/components/block-context/index.js.map +1 -1
  607. package/build-module/components/block-controls/fill.js +7 -6
  608. package/build-module/components/block-controls/fill.js.map +1 -1
  609. package/build-module/components/block-controls/slot.js +5 -4
  610. package/build-module/components/block-controls/slot.js.map +1 -1
  611. package/build-module/components/block-controls/slot.native.js +5 -4
  612. package/build-module/components/block-controls/slot.native.js.map +1 -1
  613. package/build-module/components/block-draggable/draggable-chip.js +5 -4
  614. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  615. package/build-module/components/block-draggable/index.js +13 -11
  616. package/build-module/components/block-draggable/index.js.map +1 -1
  617. package/build-module/components/block-full-height-alignment-control/index.js +7 -6
  618. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  619. package/build-module/components/block-icon/index.js +7 -5
  620. package/build-module/components/block-icon/index.js.map +1 -1
  621. package/build-module/components/block-icon/index.native.js +8 -6
  622. package/build-module/components/block-icon/index.native.js.map +1 -1
  623. package/build-module/components/block-inspector/index.js +16 -13
  624. package/build-module/components/block-inspector/index.js.map +1 -1
  625. package/build-module/components/block-list/block-html.js +4 -3
  626. package/build-module/components/block-list/block-html.js.map +1 -1
  627. package/build-module/components/block-list/block-invalid-warning.js +27 -19
  628. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  629. package/build-module/components/block-list/block-invalid-warning.native.js +5 -4
  630. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  631. package/build-module/components/block-list/block-list-item.native.js +6 -5
  632. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  633. package/build-module/components/block-list/block-selection-button.native.js +11 -9
  634. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  635. package/build-module/components/block-list/block.js +40 -33
  636. package/build-module/components/block-list/block.js.map +1 -1
  637. package/build-module/components/block-list/block.native.js +35 -29
  638. package/build-module/components/block-list/block.native.js.map +1 -1
  639. package/build-module/components/block-list/index.js +13 -11
  640. package/build-module/components/block-list/index.js.map +1 -1
  641. package/build-module/components/block-list/index.native.js +21 -16
  642. package/build-module/components/block-list/index.native.js.map +1 -1
  643. package/build-module/components/block-list/insertion-point.native.js +4 -3
  644. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  645. package/build-module/components/block-list/layout.js +5 -4
  646. package/build-module/components/block-list/layout.js.map +1 -1
  647. package/build-module/components/block-list/subdirectory-icon.js +13 -10
  648. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  649. package/build-module/components/block-list/use-block-props/index.js +5 -3
  650. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  651. package/build-module/components/block-list/use-block-props/index.native.js +2 -1
  652. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  653. package/build-module/components/block-list/use-block-props/use-multi-selection.js +9 -6
  654. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  655. package/build-module/components/block-list-appender/index.js +16 -13
  656. package/build-module/components/block-list-appender/index.js.map +1 -1
  657. package/build-module/components/block-list-appender/index.native.js +14 -11
  658. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  659. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
  660. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  661. package/build-module/components/block-mobile-toolbar/index.js +4 -3
  662. package/build-module/components/block-mobile-toolbar/index.js.map +1 -1
  663. package/build-module/components/block-mobile-toolbar/index.native.js +33 -25
  664. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  665. package/build-module/components/block-mover/button.js +7 -6
  666. package/build-module/components/block-mover/button.js.map +1 -1
  667. package/build-module/components/block-mover/index.js +15 -13
  668. package/build-module/components/block-mover/index.js.map +1 -1
  669. package/build-module/components/block-mover/index.native.js +22 -19
  670. package/build-module/components/block-mover/index.native.js.map +1 -1
  671. package/build-module/components/block-mover/mover-description.native.js +10 -7
  672. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  673. package/build-module/components/block-navigation/dropdown.js +26 -21
  674. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  675. package/build-module/components/block-pattern-setup/index.js +26 -22
  676. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  677. package/build-module/components/block-pattern-setup/setup-toolbar.js +46 -39
  678. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  679. package/build-module/components/block-patterns-list/index.js +44 -39
  680. package/build-module/components/block-patterns-list/index.js.map +1 -1
  681. package/build-module/components/block-preview/auto.js +5 -4
  682. package/build-module/components/block-preview/auto.js.map +1 -1
  683. package/build-module/components/block-preview/index.js +8 -7
  684. package/build-module/components/block-preview/index.js.map +1 -1
  685. package/build-module/components/block-preview/live.js +4 -3
  686. package/build-module/components/block-preview/live.js.map +1 -1
  687. package/build-module/components/block-settings/button.native.js +10 -7
  688. package/build-module/components/block-settings/button.native.js.map +1 -1
  689. package/build-module/components/block-settings/container.native.js +7 -6
  690. package/build-module/components/block-settings/container.native.js.map +1 -1
  691. package/build-module/components/block-settings-menu/block-convert-button.js +7 -5
  692. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  693. package/build-module/components/block-settings-menu/block-html-convert-button.js +14 -10
  694. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  695. package/build-module/components/block-settings-menu/block-mode-toggle.js +25 -19
  696. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  697. package/build-module/components/block-settings-menu/block-settings-dropdown.js +74 -66
  698. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  699. package/build-module/components/block-settings-menu/index.js +5 -4
  700. package/build-module/components/block-settings-menu/index.js.map +1 -1
  701. package/build-module/components/block-settings-menu-controls/index.js +8 -6
  702. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  703. package/build-module/components/block-styles/index.js +20 -17
  704. package/build-module/components/block-styles/index.js.map +1 -1
  705. package/build-module/components/block-styles/index.native.js +6 -4
  706. package/build-module/components/block-styles/index.native.js.map +1 -1
  707. package/build-module/components/block-styles/preview.native.js +7 -6
  708. package/build-module/components/block-styles/preview.native.js.map +1 -1
  709. package/build-module/components/block-switcher/block-styles-menu.js +5 -4
  710. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  711. package/build-module/components/block-switcher/block-transformations-menu.js +7 -6
  712. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  713. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -8
  714. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  715. package/build-module/components/block-switcher/index.js +41 -33
  716. package/build-module/components/block-switcher/index.js.map +1 -1
  717. package/build-module/components/block-switcher/pattern-transformations-menu.js +22 -18
  718. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  719. package/build-module/components/block-switcher/preview-block-popover.js +4 -3
  720. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  721. package/build-module/components/block-switcher/utils.js +2 -1
  722. package/build-module/components/block-switcher/utils.js.map +1 -1
  723. package/build-module/components/block-title/index.js +4 -3
  724. package/build-module/components/block-title/index.js.map +1 -1
  725. package/build-module/components/block-toolbar/index.js +4 -3
  726. package/build-module/components/block-toolbar/index.js.map +1 -1
  727. package/build-module/components/block-toolbar/utils.js +13 -11
  728. package/build-module/components/block-toolbar/utils.js.map +1 -1
  729. package/build-module/components/block-tools/back-compat.js +4 -3
  730. package/build-module/components/block-tools/back-compat.js.map +1 -1
  731. package/build-module/components/block-tools/block-contextual-toolbar.js +6 -5
  732. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  733. package/build-module/components/block-tools/block-popover.js +15 -13
  734. package/build-module/components/block-tools/block-popover.js.map +1 -1
  735. package/build-module/components/block-tools/block-selection-button.js +6 -5
  736. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  737. package/build-module/components/block-tools/index.js +6 -5
  738. package/build-module/components/block-tools/index.js.map +1 -1
  739. package/build-module/components/block-tools/insertion-point.js +11 -9
  740. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  741. package/build-module/components/block-types-list/index.js +9 -8
  742. package/build-module/components/block-types-list/index.js.map +1 -1
  743. package/build-module/components/block-types-list/index.native.js +19 -15
  744. package/build-module/components/block-types-list/index.native.js.map +1 -1
  745. package/build-module/components/block-variation-picker/index.js +9 -8
  746. package/build-module/components/block-variation-picker/index.js.map +1 -1
  747. package/build-module/components/block-variation-picker/index.native.js +9 -7
  748. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  749. package/build-module/components/block-variation-transforms/index.js +22 -15
  750. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  751. package/build-module/components/block-vertical-alignment-control/ui.js +9 -7
  752. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  753. package/build-module/components/border-radius-control/all-input-control.js +6 -5
  754. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  755. package/build-module/components/border-radius-control/index.js +5 -4
  756. package/build-module/components/border-radius-control/index.js.map +1 -1
  757. package/build-module/components/border-radius-control/input-controls.js +16 -11
  758. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  759. package/build-module/components/border-radius-control/linked-button.js +5 -4
  760. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  761. package/build-module/components/border-radius-control/utils.js +8 -3
  762. package/build-module/components/border-radius-control/utils.js.map +1 -1
  763. package/build-module/components/border-style-control/index.js +5 -4
  764. package/build-module/components/border-style-control/index.js.map +1 -1
  765. package/build-module/components/button-block-appender/index.js +15 -13
  766. package/build-module/components/button-block-appender/index.js.map +1 -1
  767. package/build-module/components/button-block-appender/index.native.js +28 -24
  768. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  769. package/build-module/components/caption/index.native.js +44 -41
  770. package/build-module/components/caption/index.native.js.map +1 -1
  771. package/build-module/components/color-palette/control.js +6 -5
  772. package/build-module/components/color-palette/control.js.map +1 -1
  773. package/build-module/components/color-style-selector/index.js +43 -34
  774. package/build-module/components/color-style-selector/index.js.map +1 -1
  775. package/build-module/components/colors/color-panel.js +21 -18
  776. package/build-module/components/colors/color-panel.js.map +1 -1
  777. package/build-module/components/colors/utils.js +6 -3
  778. package/build-module/components/colors/utils.js.map +1 -1
  779. package/build-module/components/colors/with-colors.js +17 -6
  780. package/build-module/components/colors/with-colors.js.map +1 -1
  781. package/build-module/components/colors-gradients/control.js +16 -15
  782. package/build-module/components/colors-gradients/control.js.map +1 -1
  783. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +57 -50
  784. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  785. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
  786. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  787. package/build-module/components/contrast-checker/index.js +18 -15
  788. package/build-module/components/contrast-checker/index.js.map +1 -1
  789. package/build-module/components/convert-to-group-buttons/index.js +9 -8
  790. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  791. package/build-module/components/copy-handler/index.js +4 -3
  792. package/build-module/components/copy-handler/index.js.map +1 -1
  793. package/build-module/components/default-block-appender/index.js +10 -8
  794. package/build-module/components/default-block-appender/index.js.map +1 -1
  795. package/build-module/components/default-block-appender/index.native.js +10 -8
  796. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  797. package/build-module/components/default-style-picker/index.js +14 -10
  798. package/build-module/components/default-style-picker/index.js.map +1 -1
  799. package/build-module/components/duotone-control/index.js +15 -12
  800. package/build-module/components/duotone-control/index.js.map +1 -1
  801. package/build-module/components/editable-text/index.js +6 -5
  802. package/build-module/components/editable-text/index.js.map +1 -1
  803. package/build-module/components/editor-styles/index.js +4 -3
  804. package/build-module/components/editor-styles/index.js.map +1 -1
  805. package/build-module/components/floating-toolbar/index.native.js +8 -7
  806. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  807. package/build-module/components/font-appearance-control/index.js +26 -19
  808. package/build-module/components/font-appearance-control/index.js.map +1 -1
  809. package/build-module/components/font-family/index.js +12 -10
  810. package/build-module/components/font-family/index.js.map +1 -1
  811. package/build-module/components/font-sizes/with-font-sizes.js +11 -5
  812. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  813. package/build-module/components/gradients/use-gradient.js +5 -4
  814. package/build-module/components/gradients/use-gradient.js.map +1 -1
  815. package/build-module/components/iframe/index.js +28 -22
  816. package/build-module/components/iframe/index.js.map +1 -1
  817. package/build-module/components/image-editor/aspect-ratio-dropdown.js +90 -82
  818. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  819. package/build-module/components/image-editor/context.js +11 -10
  820. package/build-module/components/image-editor/context.js.map +1 -1
  821. package/build-module/components/image-editor/cropper.js +9 -8
  822. package/build-module/components/image-editor/cropper.js.map +1 -1
  823. package/build-module/components/image-editor/index.js +9 -8
  824. package/build-module/components/image-editor/index.js.map +1 -1
  825. package/build-module/components/image-editor/use-save-image.js +12 -11
  826. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  827. package/build-module/components/image-editor/use-transform-image.js +6 -5
  828. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  829. package/build-module/components/image-editor/zoom-dropdown.js +13 -10
  830. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  831. package/build-module/components/image-size-control/index.js +12 -11
  832. package/build-module/components/image-size-control/index.js.map +1 -1
  833. package/build-module/components/inner-blocks/button-block-appender.js +8 -7
  834. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  835. package/build-module/components/inner-blocks/default-block-appender.js +9 -7
  836. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  837. package/build-module/components/inner-blocks/index.js +3 -1
  838. package/build-module/components/inner-blocks/index.js.map +1 -1
  839. package/build-module/components/inner-blocks/index.native.js +3 -1
  840. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  841. package/build-module/components/inserter/block-patterns-explorer/explorer.js +10 -8
  842. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  843. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +12 -9
  844. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  845. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +24 -20
  846. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  847. package/build-module/components/inserter/block-patterns-tab.js +26 -20
  848. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  849. package/build-module/components/inserter/block-types-tab.js +9 -7
  850. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  851. package/build-module/components/inserter/block-types-tab.native.js +9 -8
  852. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  853. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +5 -3
  854. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  855. package/build-module/components/inserter/hooks/use-block-types-state.js +6 -5
  856. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  857. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -9
  858. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  859. package/build-module/components/inserter/index.js +36 -28
  860. package/build-module/components/inserter/index.js.map +1 -1
  861. package/build-module/components/inserter/index.native.js +46 -37
  862. package/build-module/components/inserter/index.native.js.map +1 -1
  863. package/build-module/components/inserter/library.js +12 -11
  864. package/build-module/components/inserter/library.js.map +1 -1
  865. package/build-module/components/inserter/menu.js +12 -11
  866. package/build-module/components/inserter/menu.js.map +1 -1
  867. package/build-module/components/inserter/menu.native.js +31 -27
  868. package/build-module/components/inserter/menu.native.js.map +1 -1
  869. package/build-module/components/inserter/panel.js +6 -5
  870. package/build-module/components/inserter/panel.js.map +1 -1
  871. package/build-module/components/inserter/pattern-panel.js +7 -6
  872. package/build-module/components/inserter/pattern-panel.js.map +1 -1
  873. package/build-module/components/inserter/preview-panel.js +4 -3
  874. package/build-module/components/inserter/preview-panel.js.map +1 -1
  875. package/build-module/components/inserter/quick-inserter.js +7 -6
  876. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  877. package/build-module/components/inserter/reusable-blocks-tab.js +18 -13
  878. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  879. package/build-module/components/inserter/reusable-blocks-tab.native.js +6 -5
  880. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  881. package/build-module/components/inserter/search-items.js +23 -7
  882. package/build-module/components/inserter/search-items.js.map +1 -1
  883. package/build-module/components/inserter/search-results.js +15 -14
  884. package/build-module/components/inserter/search-results.js.map +1 -1
  885. package/build-module/components/inserter/search-results.native.js +11 -10
  886. package/build-module/components/inserter/search-results.native.js.map +1 -1
  887. package/build-module/components/inserter/tabs.js +7 -6
  888. package/build-module/components/inserter/tabs.js.map +1 -1
  889. package/build-module/components/inserter/tabs.native.js +55 -37
  890. package/build-module/components/inserter/tabs.native.js.map +1 -1
  891. package/build-module/components/inserter/utils.native.js +10 -8
  892. package/build-module/components/inserter/utils.native.js.map +1 -1
  893. package/build-module/components/inserter-draggable-blocks/index.js +12 -10
  894. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  895. package/build-module/components/inserter-list-item/index.js +75 -69
  896. package/build-module/components/inserter-list-item/index.js.map +1 -1
  897. package/build-module/components/inserter-listbox/index.js +4 -3
  898. package/build-module/components/inserter-listbox/index.js.map +1 -1
  899. package/build-module/components/inserter-listbox/item.js +7 -6
  900. package/build-module/components/inserter-listbox/item.js.map +1 -1
  901. package/build-module/components/inspector-controls/block-support-slot-container.js +5 -4
  902. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  903. package/build-module/components/inspector-controls/block-support-tools-panel.js +8 -6
  904. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  905. package/build-module/components/inspector-controls/fill.js +5 -4
  906. package/build-module/components/inspector-controls/fill.js.map +1 -1
  907. package/build-module/components/inspector-controls/fill.native.js +6 -5
  908. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  909. package/build-module/components/inspector-controls/slot.js +7 -6
  910. package/build-module/components/inspector-controls/slot.js.map +1 -1
  911. package/build-module/components/inspector-controls/slot.native.js +5 -4
  912. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  913. package/build-module/components/justify-content-control/ui.js +10 -8
  914. package/build-module/components/justify-content-control/ui.js.map +1 -1
  915. package/build-module/components/letter-spacing-control/index.js +6 -5
  916. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  917. package/build-module/components/line-height-control/index.js +5 -4
  918. package/build-module/components/line-height-control/index.js.map +1 -1
  919. package/build-module/components/line-height-control/index.native.js +5 -4
  920. package/build-module/components/line-height-control/index.native.js.map +1 -1
  921. package/build-module/components/link-control/index.js +25 -23
  922. package/build-module/components/link-control/index.js.map +1 -1
  923. package/build-module/components/link-control/link-preview.js +8 -7
  924. package/build-module/components/link-control/link-preview.js.map +1 -1
  925. package/build-module/components/link-control/search-create-button.js +9 -7
  926. package/build-module/components/link-control/search-create-button.js.map +1 -1
  927. package/build-module/components/link-control/search-input.js +21 -20
  928. package/build-module/components/link-control/search-input.js.map +1 -1
  929. package/build-module/components/link-control/search-item.js +10 -9
  930. package/build-module/components/link-control/search-item.js.map +1 -1
  931. package/build-module/components/link-control/search-results.js +15 -14
  932. package/build-module/components/link-control/search-results.js.map +1 -1
  933. package/build-module/components/link-control/settings-drawer.js +7 -5
  934. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  935. package/build-module/components/link-control/use-search-handler.js +4 -3
  936. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  937. package/build-module/components/list-view/appender.js +27 -23
  938. package/build-module/components/list-view/appender.js.map +1 -1
  939. package/build-module/components/list-view/block-contents.js +32 -28
  940. package/build-module/components/list-view/block-contents.js.map +1 -1
  941. package/build-module/components/list-view/block-select-button.js +18 -17
  942. package/build-module/components/list-view/block-select-button.js.map +1 -1
  943. package/build-module/components/list-view/block.js +79 -66
  944. package/build-module/components/list-view/block.js.map +1 -1
  945. package/build-module/components/list-view/drop-indicator.js +5 -4
  946. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  947. package/build-module/components/list-view/expander.js +4 -3
  948. package/build-module/components/list-view/expander.js.map +1 -1
  949. package/build-module/components/list-view/index.js +11 -10
  950. package/build-module/components/list-view/index.js.map +1 -1
  951. package/build-module/components/list-view/leaf.js +11 -10
  952. package/build-module/components/list-view/leaf.js.map +1 -1
  953. package/build-module/components/list-view/list-item.js +8 -7
  954. package/build-module/components/list-view/list-item.js.map +1 -1
  955. package/build-module/components/media-placeholder/index.js +86 -68
  956. package/build-module/components/media-placeholder/index.js.map +1 -1
  957. package/build-module/components/media-placeholder/index.native.js +5 -4
  958. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  959. package/build-module/components/media-replace-flow/index.js +85 -72
  960. package/build-module/components/media-replace-flow/index.js.map +1 -1
  961. package/build-module/components/media-upload/check.js +5 -4
  962. package/build-module/components/media-upload/check.js.map +1 -1
  963. package/build-module/components/multi-selection-inspector/index.js +4 -3
  964. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  965. package/build-module/components/navigable-toolbar/index.js +8 -7
  966. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  967. package/build-module/components/observe-typing/index.js +4 -3
  968. package/build-module/components/observe-typing/index.js.map +1 -1
  969. package/build-module/components/panel-color-settings/index.js +16 -12
  970. package/build-module/components/panel-color-settings/index.js.map +1 -1
  971. package/build-module/components/plain-text/index.js +6 -4
  972. package/build-module/components/plain-text/index.js.map +1 -1
  973. package/build-module/components/preview-options/index.js +8 -7
  974. package/build-module/components/preview-options/index.js.map +1 -1
  975. package/build-module/components/provider/block-refs-provider.js +4 -3
  976. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  977. package/build-module/components/provider/use-block-sync.js +8 -7
  978. package/build-module/components/provider/use-block-sync.js.map +1 -1
  979. package/build-module/components/provider/with-registry-provider.js +7 -5
  980. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  981. package/build-module/components/responsive-block-control/label.js +6 -5
  982. package/build-module/components/responsive-block-control/label.js.map +1 -1
  983. package/build-module/components/rich-text/embed-handler-picker.native.js +7 -5
  984. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  985. package/build-module/components/rich-text/file-paste-handler.js +6 -3
  986. package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
  987. package/build-module/components/rich-text/format-edit.js +8 -7
  988. package/build-module/components/rich-text/format-edit.js.map +1 -1
  989. package/build-module/components/rich-text/format-toolbar/index.js +18 -9
  990. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  991. package/build-module/components/rich-text/format-toolbar-container.js +6 -4
  992. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  993. package/build-module/components/rich-text/index.js +44 -40
  994. package/build-module/components/rich-text/index.js.map +1 -1
  995. package/build-module/components/rich-text/index.native.js +145 -122
  996. package/build-module/components/rich-text/index.native.js.map +1 -1
  997. package/build-module/components/rich-text/input-event.js +5 -4
  998. package/build-module/components/rich-text/input-event.js.map +1 -1
  999. package/build-module/components/rich-text/shortcut.js +6 -5
  1000. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1001. package/build-module/components/rich-text/split-value.js +10 -8
  1002. package/build-module/components/rich-text/split-value.js.map +1 -1
  1003. package/build-module/components/rich-text/toolbar-button.js +7 -6
  1004. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1005. package/build-module/components/rich-text/use-caret-in-format.js +4 -3
  1006. package/build-module/components/rich-text/use-caret-in-format.js.map +1 -1
  1007. package/build-module/components/rich-text/use-enter.js +6 -3
  1008. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1009. package/build-module/components/rich-text/use-format-types.js +13 -10
  1010. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1011. package/build-module/components/rich-text/use-input-rules.js +15 -9
  1012. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1013. package/build-module/components/rich-text/use-mark-persistent.js +5 -4
  1014. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1015. package/build-module/components/rich-text/use-paste-handler.js +28 -4
  1016. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1017. package/build-module/components/rich-text/utils.js +7 -5
  1018. package/build-module/components/rich-text/utils.js.map +1 -1
  1019. package/build-module/components/skip-to-selected-block/index.js +4 -3
  1020. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1021. package/build-module/components/text-decoration-control/index.js +5 -4
  1022. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1023. package/build-module/components/text-transform-control/index.js +5 -4
  1024. package/build-module/components/text-transform-control/index.js.map +1 -1
  1025. package/build-module/components/tool-selector/index.js +16 -13
  1026. package/build-module/components/tool-selector/index.js.map +1 -1
  1027. package/build-module/components/typewriter/index.js +9 -6
  1028. package/build-module/components/typewriter/index.js.map +1 -1
  1029. package/build-module/components/ungroup-button/index.native.js +12 -9
  1030. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1031. package/build-module/components/unit-control/index.js +5 -4
  1032. package/build-module/components/unit-control/index.js.map +1 -1
  1033. package/build-module/components/url-input/index.js +12 -9
  1034. package/build-module/components/url-input/index.js.map +1 -1
  1035. package/build-module/components/url-input/index.native.js +8 -6
  1036. package/build-module/components/url-input/index.native.js.map +1 -1
  1037. package/build-module/components/url-popover/image-url-input-ui.js +12 -11
  1038. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1039. package/build-module/components/url-popover/index.js +9 -8
  1040. package/build-module/components/url-popover/index.js.map +1 -1
  1041. package/build-module/components/url-popover/link-editor.js +8 -7
  1042. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1043. package/build-module/components/url-popover/link-viewer-url.js +6 -5
  1044. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1045. package/build-module/components/url-popover/link-viewer.js +9 -8
  1046. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1047. package/build-module/components/use-block-drop-zone/index.js +8 -7
  1048. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1049. package/build-module/components/use-moving-animation/index.js +17 -13
  1050. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1051. package/build-module/components/use-no-recursive-renders/index.js +10 -6
  1052. package/build-module/components/use-no-recursive-renders/index.js.map +1 -1
  1053. package/build-module/components/use-setting/index.js +1 -1
  1054. package/build-module/components/use-setting/index.js.map +1 -1
  1055. package/build-module/components/warning/index.js +7 -6
  1056. package/build-module/components/warning/index.js.map +1 -1
  1057. package/build-module/components/warning/index.native.js +10 -9
  1058. package/build-module/components/warning/index.native.js.map +1 -1
  1059. package/build-module/components/writing-flow/index.js +5 -4
  1060. package/build-module/components/writing-flow/index.js.map +1 -1
  1061. package/build-module/hooks/align.js +9 -4
  1062. package/build-module/hooks/align.js.map +1 -1
  1063. package/build-module/hooks/border.js +3 -1
  1064. package/build-module/hooks/border.js.map +1 -1
  1065. package/build-module/hooks/color-panel.js +7 -6
  1066. package/build-module/hooks/color-panel.js.map +1 -1
  1067. package/build-module/hooks/dimensions.js +2 -1
  1068. package/build-module/hooks/dimensions.js.map +1 -1
  1069. package/build-module/hooks/duotone.js +13 -10
  1070. package/build-module/hooks/duotone.js.map +1 -1
  1071. package/build-module/hooks/font-appearance.js +13 -10
  1072. package/build-module/hooks/font-appearance.js.map +1 -1
  1073. package/build-module/hooks/font-family.js +27 -18
  1074. package/build-module/hooks/font-family.js.map +1 -1
  1075. package/build-module/hooks/font-size.js +9 -7
  1076. package/build-module/hooks/font-size.js.map +1 -1
  1077. package/build-module/hooks/gap.js +9 -7
  1078. package/build-module/hooks/gap.js.map +1 -1
  1079. package/build-module/hooks/layout.js +16 -13
  1080. package/build-module/hooks/layout.js.map +1 -1
  1081. package/build-module/hooks/letter-spacing.js +9 -7
  1082. package/build-module/hooks/letter-spacing.js.map +1 -1
  1083. package/build-module/hooks/line-height.js +9 -7
  1084. package/build-module/hooks/line-height.js.map +1 -1
  1085. package/build-module/hooks/margin.js +9 -7
  1086. package/build-module/hooks/margin.js.map +1 -1
  1087. package/build-module/hooks/padding.js +9 -7
  1088. package/build-module/hooks/padding.js.map +1 -1
  1089. package/build-module/hooks/style.js +7 -3
  1090. package/build-module/hooks/style.js.map +1 -1
  1091. package/build-module/hooks/text-decoration.js +9 -7
  1092. package/build-module/hooks/text-decoration.js.map +1 -1
  1093. package/build-module/hooks/text-transform.js +9 -7
  1094. package/build-module/hooks/text-transform.js.map +1 -1
  1095. package/build-module/hooks/typography.js +2 -1
  1096. package/build-module/hooks/typography.js.map +1 -1
  1097. package/build-module/hooks/typography.native.js +2 -1
  1098. package/build-module/hooks/typography.native.js.map +1 -1
  1099. package/build-module/hooks/use-border-props.js +5 -4
  1100. package/build-module/hooks/use-border-props.js.map +1 -1
  1101. package/build-module/layouts/flex.js +67 -39
  1102. package/build-module/layouts/flex.js.map +1 -1
  1103. package/build-module/layouts/flow.js +10 -8
  1104. package/build-module/layouts/flow.js.map +1 -1
  1105. package/build-module/layouts/index.js +2 -1
  1106. package/build-module/layouts/index.js.map +1 -1
  1107. package/build-module/layouts/utils.js +2 -1
  1108. package/build-module/layouts/utils.js.map +1 -1
  1109. package/build-module/store/actions.js +271 -206
  1110. package/build-module/store/actions.js.map +1 -1
  1111. package/build-module/store/array.js +2 -1
  1112. package/build-module/store/array.js.map +1 -1
  1113. package/build-module/store/reducer.js +108 -34
  1114. package/build-module/store/reducer.js.map +1 -1
  1115. package/build-module/store/selectors.js +158 -90
  1116. package/build-module/store/selectors.js.map +1 -1
  1117. package/build-module/utils/block-variation-transforms.js +4 -3
  1118. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1119. package/build-module/utils/get-paste-event-data.js +10 -6
  1120. package/build-module/utils/get-paste-event-data.js.map +1 -1
  1121. package/build-module/utils/math.js +2 -1
  1122. package/build-module/utils/math.js.map +1 -1
  1123. package/build-module/utils/parse-css-unit-to-px.js +5 -2
  1124. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1125. package/build-module/utils/transform-styles/index.js +8 -6
  1126. package/build-module/utils/transform-styles/index.js.map +1 -1
  1127. package/build-module/utils/transform-styles/transforms/wrap.js +28 -25
  1128. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1129. package/build-style/style-rtl.css +68 -68
  1130. package/build-style/style.css +68 -68
  1131. package/package.json +27 -27
  1132. package/src/components/block-list-appender/style.scss +0 -42
  1133. package/src/components/button-block-appender/style.scss +0 -17
  1134. package/src/components/colors-gradients/panel-color-gradient-settings.js +56 -25
  1135. package/src/components/default-block-appender/style.scss +90 -16
  1136. package/src/components/inner-blocks/style.scss +4 -10
  1137. package/src/components/rich-text/use-paste-handler.js +22 -0
  1138. package/src/components/use-setting/index.js +1 -1
  1139. package/src/layouts/flex.js +25 -7
@@ -32,7 +32,8 @@ extend([namesPlugin]);
32
32
  * @return {Object} R, G, and B values.
33
33
  */
34
34
 
35
- export function getValuesFromColors(colors = []) {
35
+ export function getValuesFromColors() {
36
+ let colors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
36
37
  const values = {
37
38
  r: [],
38
39
  g: [],
@@ -69,11 +70,12 @@ export function getValuesFromColors(colors = []) {
69
70
  * @return {WPElement} Duotone element.
70
71
  */
71
72
 
72
- function DuotoneFilter({
73
- selector,
74
- id,
75
- values
76
- }) {
73
+ function DuotoneFilter(_ref) {
74
+ let {
75
+ selector,
76
+ id,
77
+ values
78
+ } = _ref;
77
79
  const stylesheet = `
78
80
  ${selector} {
79
81
  filter: url( #${id} );
@@ -126,12 +128,13 @@ ${selector} {
126
128
  }));
127
129
  }
128
130
 
129
- function DuotonePanel({
130
- attributes,
131
- setAttributes
132
- }) {
131
+ function DuotonePanel(_ref2) {
133
132
  var _style$color;
134
133
 
134
+ let {
135
+ attributes,
136
+ setAttributes
137
+ } = _ref2;
135
138
  const style = attributes === null || attributes === void 0 ? void 0 : attributes.style;
136
139
  const duotone = style === null || style === void 0 ? void 0 : (_style$color = style.color) === null || _style$color === void 0 ? void 0 : _style$color.duotone;
137
140
  const duotonePalette = useSetting('color.duotone') || EMPTY_ARRAY;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/duotone.js"],"names":["classnames","colord","extend","namesPlugin","getBlockSupport","hasBlockSupport","SVG","createHigherOrderComponent","useInstanceId","addFilter","useContext","createPortal","BlockControls","__experimentalDuotoneControl","DuotoneControl","useSetting","BlockList","EMPTY_ARRAY","getValuesFromColors","colors","values","r","g","b","a","forEach","color","rgbColor","toRgb","push","DuotoneFilter","selector","id","stylesheet","visibility","position","left","overflow","join","__html","DuotonePanel","attributes","setAttributes","style","duotone","duotonePalette","colorPalette","disableCustomColors","disableCustomDuotone","length","newDuotone","newStyle","addDuotoneAttributes","settings","Object","assign","type","withDuotoneControls","BlockEdit","props","hasDuotoneSupport","name","scopeSelector","scope","scopes","split","selectors","selectorsScoped","outer","inner","trim","withDuotoneStyles","BlockListBlock","duotoneSupport","selectorsGroup","className","element","__unstableElementContext"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { SVG } from '@wordpress/components';\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useContext, createPortal } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBlockControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSetting,\n} from '../components';\nimport BlockList from '../components/block-list';\n\nconst EMPTY_ARRAY = [];\n\nextend( [ namesPlugin ] );\n\n/**\n * Convert a list of colors to an object of R, G, and B values.\n *\n * @param {string[]} colors Array of RBG color strings.\n *\n * @return {Object} R, G, and B values.\n */\nexport function getValuesFromColors( colors = [] ) {\n\tconst values = { r: [], g: [], b: [], a: [] };\n\n\tcolors.forEach( ( color ) => {\n\t\tconst rgbColor = colord( color ).toRgb();\n\t\tvalues.r.push( rgbColor.r / 255 );\n\t\tvalues.g.push( rgbColor.g / 255 );\n\t\tvalues.b.push( rgbColor.b / 255 );\n\t\tvalues.a.push( rgbColor.a );\n\t} );\n\n\treturn values;\n}\n\n/**\n * Values for the SVG `feComponentTransfer`.\n *\n * @typedef Values {Object}\n * @property {number[]} r Red values.\n * @property {number[]} g Green values.\n * @property {number[]} b Blue values.\n * @property {number[]} a Alpha values.\n */\n\n/**\n * SVG and stylesheet needed for rendering the duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.selector Selector to apply the filter to.\n * @param {string} props.id Unique id for this duotone filter.\n * @param {Values} props.values R, G, B, and A values to filter with.\n *\n * @return {WPElement} Duotone element.\n */\nfunction DuotoneFilter( { selector, id, values } ) {\n\tconst stylesheet = `\n${ selector } {\n\tfilter: url( #${ id } );\n}\n`;\n\n\treturn (\n\t\t<>\n\t\t\t<SVG\n\t\t\t\txmlnsXlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\tviewBox=\"0 0 0 0\"\n\t\t\t\twidth=\"0\"\n\t\t\t\theight=\"0\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\trole=\"none\"\n\t\t\t\tstyle={ {\n\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tleft: '-9999px',\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<defs>\n\t\t\t\t\t<filter id={ id }>\n\t\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\t\t// Use sRGB instead of linearRGB so transparency looks correct.\n\t\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\t\t// Use perceptual brightness to convert to grayscale.\n\t\t\t\t\t\t\tvalues=\"\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feComponentTransfer\n\t\t\t\t\t\t\t// Use sRGB instead of linearRGB to be consistent with how CSS gradients work.\n\t\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<feFuncR\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.r.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<feFuncG\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.g.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<feFuncB\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.b.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<feFuncA\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.a.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</feComponentTransfer>\n\t\t\t\t\t\t<feComposite\n\t\t\t\t\t\t\t// Re-mask the image with the original transparency since the feColorMatrix above loses that information.\n\t\t\t\t\t\t\tin2=\"SourceGraphic\"\n\t\t\t\t\t\t\toperator=\"in\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</filter>\n\t\t\t\t</defs>\n\t\t\t</SVG>\n\t\t\t<style dangerouslySetInnerHTML={ { __html: stylesheet } } />\n\t\t</>\n\t);\n}\n\nfunction DuotonePanel( { attributes, setAttributes } ) {\n\tconst style = attributes?.style;\n\tconst duotone = style?.color?.duotone;\n\n\tconst duotonePalette = useSetting( 'color.duotone' ) || EMPTY_ARRAY;\n\tconst colorPalette = useSetting( 'color.palette' ) || EMPTY_ARRAY;\n\tconst disableCustomColors = ! useSetting( 'color.custom' );\n\tconst disableCustomDuotone =\n\t\t! useSetting( 'color.customDuotone' ) ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t<DuotoneControl\n\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\tvalue={ duotone }\n\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\tduotone: newDuotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `duotone` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addDuotoneAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, 'color.__experimentalDuotone' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default\n\t// values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include toolbar controls for duotone if the\n * block supports duotone.\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nconst withDuotoneControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst hasDuotoneSupport = hasBlockSupport(\n\t\t\tprops.name,\n\t\t\t'color.__experimentalDuotone'\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ hasDuotoneSupport && <DuotonePanel { ...props } /> }\n\t\t\t</>\n\t\t);\n\t},\n\t'withDuotoneControls'\n);\n\n/**\n * Function that scopes a selector with another one. This works a bit like\n * SCSS nesting except the `&` operator isn't supported.\n *\n * @example\n * ```js\n * const scope = '.a, .b .c';\n * const selector = '> .x, .y';\n * const merged = scopeSelector( scope, selector );\n * // merged is '.a > .x, .a .y, .b .c > .x, .b .c .y'\n * ```\n *\n * @param {string} scope Selector to scope to.\n * @param {string} selector Original selector.\n *\n * @return {string} Scoped selector.\n */\nfunction scopeSelector( scope, selector ) {\n\tconst scopes = scope.split( ',' );\n\tconst selectors = selector.split( ',' );\n\n\tconst selectorsScoped = [];\n\tscopes.forEach( ( outer ) => {\n\t\tselectors.forEach( ( inner ) => {\n\t\t\tselectorsScoped.push( `${ outer.trim() } ${ inner.trim() }` );\n\t\t} );\n\t} );\n\n\treturn selectorsScoped.join( ', ' );\n}\n\n/**\n * Override the default block element to include duotone styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nconst withDuotoneStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst duotoneSupport = getBlockSupport(\n\t\t\tprops.name,\n\t\t\t'color.__experimentalDuotone'\n\t\t);\n\t\tconst values = props?.attributes?.style?.color?.duotone;\n\n\t\tif ( ! duotoneSupport || ! values ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tconst id = `wp-duotone-${ useInstanceId( BlockListBlock ) }`;\n\n\t\t// Extra .editor-styles-wrapper specificity is needed in the editor\n\t\t// since we're not using inline styles to apply the filter. We need to\n\t\t// override duotone applied by global styles and theme.json.\n\t\tconst selectorsGroup = scopeSelector(\n\t\t\t`.editor-styles-wrapper .${ id }`,\n\t\t\tduotoneSupport\n\t\t);\n\n\t\tconst className = classnames( props?.className, id );\n\n\t\tconst element = useContext( BlockList.__unstableElementContext );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ element &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<DuotoneFilter\n\t\t\t\t\t\t\tselector={ selectorsGroup }\n\t\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\t\tvalues={ getValuesFromColors( values ) }\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\telement\n\t\t\t\t\t) }\n\t\t\t\t<BlockListBlock { ...props } className={ className } />\n\t\t\t</>\n\t\t);\n\t},\n\t'withDuotoneStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/duotone/with-editor-controls',\n\twithDuotoneControls\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/duotone/with-styles',\n\twithDuotoneStyles\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/duotone.js"],"names":["classnames","colord","extend","namesPlugin","getBlockSupport","hasBlockSupport","SVG","createHigherOrderComponent","useInstanceId","addFilter","useContext","createPortal","BlockControls","__experimentalDuotoneControl","DuotoneControl","useSetting","BlockList","EMPTY_ARRAY","getValuesFromColors","colors","values","r","g","b","a","forEach","color","rgbColor","toRgb","push","DuotoneFilter","selector","id","stylesheet","visibility","position","left","overflow","join","__html","DuotonePanel","attributes","setAttributes","style","duotone","duotonePalette","colorPalette","disableCustomColors","disableCustomDuotone","length","newDuotone","newStyle","addDuotoneAttributes","settings","Object","assign","type","withDuotoneControls","BlockEdit","props","hasDuotoneSupport","name","scopeSelector","scope","scopes","split","selectors","selectorsScoped","outer","inner","trim","withDuotoneStyles","BlockListBlock","duotoneSupport","selectorsGroup","className","element","__unstableElementContext"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { SVG } from '@wordpress/components';\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useContext, createPortal } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBlockControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSetting,\n} from '../components';\nimport BlockList from '../components/block-list';\n\nconst EMPTY_ARRAY = [];\n\nextend( [ namesPlugin ] );\n\n/**\n * Convert a list of colors to an object of R, G, and B values.\n *\n * @param {string[]} colors Array of RBG color strings.\n *\n * @return {Object} R, G, and B values.\n */\nexport function getValuesFromColors( colors = [] ) {\n\tconst values = { r: [], g: [], b: [], a: [] };\n\n\tcolors.forEach( ( color ) => {\n\t\tconst rgbColor = colord( color ).toRgb();\n\t\tvalues.r.push( rgbColor.r / 255 );\n\t\tvalues.g.push( rgbColor.g / 255 );\n\t\tvalues.b.push( rgbColor.b / 255 );\n\t\tvalues.a.push( rgbColor.a );\n\t} );\n\n\treturn values;\n}\n\n/**\n * Values for the SVG `feComponentTransfer`.\n *\n * @typedef Values {Object}\n * @property {number[]} r Red values.\n * @property {number[]} g Green values.\n * @property {number[]} b Blue values.\n * @property {number[]} a Alpha values.\n */\n\n/**\n * SVG and stylesheet needed for rendering the duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.selector Selector to apply the filter to.\n * @param {string} props.id Unique id for this duotone filter.\n * @param {Values} props.values R, G, B, and A values to filter with.\n *\n * @return {WPElement} Duotone element.\n */\nfunction DuotoneFilter( { selector, id, values } ) {\n\tconst stylesheet = `\n${ selector } {\n\tfilter: url( #${ id } );\n}\n`;\n\n\treturn (\n\t\t<>\n\t\t\t<SVG\n\t\t\t\txmlnsXlink=\"http://www.w3.org/1999/xlink\"\n\t\t\t\tviewBox=\"0 0 0 0\"\n\t\t\t\twidth=\"0\"\n\t\t\t\theight=\"0\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\trole=\"none\"\n\t\t\t\tstyle={ {\n\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tleft: '-9999px',\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<defs>\n\t\t\t\t\t<filter id={ id }>\n\t\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\t\t// Use sRGB instead of linearRGB so transparency looks correct.\n\t\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\t\t// Use perceptual brightness to convert to grayscale.\n\t\t\t\t\t\t\tvalues=\"\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feComponentTransfer\n\t\t\t\t\t\t\t// Use sRGB instead of linearRGB to be consistent with how CSS gradients work.\n\t\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<feFuncR\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.r.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<feFuncG\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.g.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<feFuncB\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.b.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<feFuncA\n\t\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\t\ttableValues={ values.a.join( ' ' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</feComponentTransfer>\n\t\t\t\t\t\t<feComposite\n\t\t\t\t\t\t\t// Re-mask the image with the original transparency since the feColorMatrix above loses that information.\n\t\t\t\t\t\t\tin2=\"SourceGraphic\"\n\t\t\t\t\t\t\toperator=\"in\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</filter>\n\t\t\t\t</defs>\n\t\t\t</SVG>\n\t\t\t<style dangerouslySetInnerHTML={ { __html: stylesheet } } />\n\t\t</>\n\t);\n}\n\nfunction DuotonePanel( { attributes, setAttributes } ) {\n\tconst style = attributes?.style;\n\tconst duotone = style?.color?.duotone;\n\n\tconst duotonePalette = useSetting( 'color.duotone' ) || EMPTY_ARRAY;\n\tconst colorPalette = useSetting( 'color.palette' ) || EMPTY_ARRAY;\n\tconst disableCustomColors = ! useSetting( 'color.custom' );\n\tconst disableCustomDuotone =\n\t\t! useSetting( 'color.customDuotone' ) ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t<DuotoneControl\n\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\tvalue={ duotone }\n\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\tduotone: newDuotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `duotone` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addDuotoneAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, 'color.__experimentalDuotone' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default\n\t// values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include toolbar controls for duotone if the\n * block supports duotone.\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nconst withDuotoneControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst hasDuotoneSupport = hasBlockSupport(\n\t\t\tprops.name,\n\t\t\t'color.__experimentalDuotone'\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ hasDuotoneSupport && <DuotonePanel { ...props } /> }\n\t\t\t</>\n\t\t);\n\t},\n\t'withDuotoneControls'\n);\n\n/**\n * Function that scopes a selector with another one. This works a bit like\n * SCSS nesting except the `&` operator isn't supported.\n *\n * @example\n * ```js\n * const scope = '.a, .b .c';\n * const selector = '> .x, .y';\n * const merged = scopeSelector( scope, selector );\n * // merged is '.a > .x, .a .y, .b .c > .x, .b .c .y'\n * ```\n *\n * @param {string} scope Selector to scope to.\n * @param {string} selector Original selector.\n *\n * @return {string} Scoped selector.\n */\nfunction scopeSelector( scope, selector ) {\n\tconst scopes = scope.split( ',' );\n\tconst selectors = selector.split( ',' );\n\n\tconst selectorsScoped = [];\n\tscopes.forEach( ( outer ) => {\n\t\tselectors.forEach( ( inner ) => {\n\t\t\tselectorsScoped.push( `${ outer.trim() } ${ inner.trim() }` );\n\t\t} );\n\t} );\n\n\treturn selectorsScoped.join( ', ' );\n}\n\n/**\n * Override the default block element to include duotone styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nconst withDuotoneStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst duotoneSupport = getBlockSupport(\n\t\t\tprops.name,\n\t\t\t'color.__experimentalDuotone'\n\t\t);\n\t\tconst values = props?.attributes?.style?.color?.duotone;\n\n\t\tif ( ! duotoneSupport || ! values ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tconst id = `wp-duotone-${ useInstanceId( BlockListBlock ) }`;\n\n\t\t// Extra .editor-styles-wrapper specificity is needed in the editor\n\t\t// since we're not using inline styles to apply the filter. We need to\n\t\t// override duotone applied by global styles and theme.json.\n\t\tconst selectorsGroup = scopeSelector(\n\t\t\t`.editor-styles-wrapper .${ id }`,\n\t\t\tduotoneSupport\n\t\t);\n\n\t\tconst className = classnames( props?.className, id );\n\n\t\tconst element = useContext( BlockList.__unstableElementContext );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ element &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<DuotoneFilter\n\t\t\t\t\t\t\tselector={ selectorsGroup }\n\t\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\t\tvalues={ getValuesFromColors( values ) }\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\telement\n\t\t\t\t\t) }\n\t\t\t\t<BlockListBlock { ...props } className={ className } />\n\t\t\t</>\n\t\t);\n\t},\n\t'withDuotoneStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/duotone/with-editor-controls',\n\twithDuotoneControls\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/duotone/with-styles',\n\twithDuotoneStyles\n);\n"]}
@@ -74,9 +74,10 @@ export function FontAppearanceEdit(props) {
74
74
  * @return {boolean} Whether font style support has been disabled.
75
75
  */
76
76
 
77
- export function useIsFontStyleDisabled({
78
- name: blockName
79
- } = {}) {
77
+ export function useIsFontStyleDisabled() {
78
+ let {
79
+ name: blockName
80
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
80
81
  const styleSupport = hasBlockSupport(blockName, FONT_STYLE_SUPPORT_KEY);
81
82
  const hasFontStyles = useSetting('typography.fontStyle');
82
83
  return !styleSupport || !hasFontStyles;
@@ -91,9 +92,10 @@ export function useIsFontStyleDisabled({
91
92
  * @return {boolean} Whether font weight support has been disabled.
92
93
  */
93
94
 
94
- export function useIsFontWeightDisabled({
95
- name: blockName
96
- } = {}) {
95
+ export function useIsFontWeightDisabled() {
96
+ let {
97
+ name: blockName
98
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
97
99
  const weightSupport = hasBlockSupport(blockName, FONT_WEIGHT_SUPPORT_KEY);
98
100
  const hasFontWeights = useSetting('typography.fontWeight');
99
101
  return !weightSupport || !hasFontWeights;
@@ -138,10 +140,11 @@ export function hasFontAppearanceValue(props) {
138
140
  * @param {Object} props.setAttributes Function to set block's attributes.
139
141
  */
140
142
 
141
- export function resetFontAppearance({
142
- attributes = {},
143
- setAttributes
144
- }) {
143
+ export function resetFontAppearance(_ref) {
144
+ let {
145
+ attributes = {},
146
+ setAttributes
147
+ } = _ref;
145
148
  const {
146
149
  style
147
150
  } = attributes;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/font-appearance.js"],"names":["hasBlockSupport","FontAppearanceControl","useSetting","cleanEmptyObject","FONT_STYLE_SUPPORT_KEY","FONT_WEIGHT_SUPPORT_KEY","FontAppearanceEdit","props","attributes","style","setAttributes","hasFontStyles","useIsFontStyleDisabled","hasFontWeights","useIsFontWeightDisabled","onChange","newStyles","typography","fontStyle","fontWeight","name","blockName","styleSupport","weightSupport","useIsFontAppearanceDisabled","stylesDisabled","weightsDisabled","hasFontAppearanceValue","resetFontAppearance","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport FontAppearanceControl from '../components/font-appearance-control';\nimport useSetting from '../components/use-setting';\nimport { cleanEmptyObject } from './utils';\n\n/**\n * Key within block settings' support array indicating support for font style.\n */\nexport const FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';\n\n/**\n * Key within block settings' support array indicating support for font weight.\n */\nexport const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';\n\n/**\n * Inspector control panel containing the font appearance options.\n *\n * @param {Object} props Block properties.\n *\n * @return {WPElement} Font appearance edit element.\n */\nexport function FontAppearanceEdit( props ) {\n\tconst {\n\t\tattributes: { style },\n\t\tsetAttributes,\n\t} = props;\n\n\tconst hasFontStyles = ! useIsFontStyleDisabled( props );\n\tconst hasFontWeights = ! useIsFontWeightDisabled( props );\n\n\tconst onChange = ( newStyles ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontStyle: newStyles.fontStyle,\n\t\t\t\t\tfontWeight: newStyles.fontWeight,\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\tconst fontStyle = style?.typography?.fontStyle;\n\tconst fontWeight = style?.typography?.fontWeight;\n\n\treturn (\n\t\t<FontAppearanceControl\n\t\t\tonChange={ onChange }\n\t\t\thasFontStyles={ hasFontStyles }\n\t\t\thasFontWeights={ hasFontWeights }\n\t\t\tvalue={ { fontStyle, fontWeight } }\n\t\t/>\n\t);\n}\n\n/**\n * Checks if font style support has been disabled either by not opting in for\n * support or by failing to provide preset styles.\n *\n * @param {Object} props Block properties.\n * @param {string} props.name Name for the block type.\n *\n * @return {boolean} Whether font style support has been disabled.\n */\nexport function useIsFontStyleDisabled( { name: blockName } = {} ) {\n\tconst styleSupport = hasBlockSupport( blockName, FONT_STYLE_SUPPORT_KEY );\n\tconst hasFontStyles = useSetting( 'typography.fontStyle' );\n\n\treturn ! styleSupport || ! hasFontStyles;\n}\n\n/**\n * Checks if font weight support has been disabled either by not opting in for\n * support or by failing to provide preset weights.\n *\n * @param {Object} props Block properties.\n * @param {string} props.name Name for the block type.\n *\n * @return {boolean} Whether font weight support has been disabled.\n */\nexport function useIsFontWeightDisabled( { name: blockName } = {} ) {\n\tconst weightSupport = hasBlockSupport( blockName, FONT_WEIGHT_SUPPORT_KEY );\n\tconst hasFontWeights = useSetting( 'typography.fontWeight' );\n\n\treturn ! weightSupport || ! hasFontWeights;\n}\n\n/**\n * Checks if font appearance support has been disabled.\n *\n * @param {Object} props Block properties.\n *\n * @return {boolean} Whether font appearance support has been disabled.\n */\nexport function useIsFontAppearanceDisabled( props ) {\n\tconst stylesDisabled = useIsFontStyleDisabled( props );\n\tconst weightsDisabled = useIsFontWeightDisabled( props );\n\n\treturn stylesDisabled && weightsDisabled;\n}\n\n/**\n * Checks if there is either a font style or weight value set within the\n * typography styles.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a font style or weight.\n */\nexport function hasFontAppearanceValue( props ) {\n\tconst { fontStyle, fontWeight } = props.attributes.style?.typography || {};\n\treturn !! fontStyle || !! fontWeight;\n}\n\n/**\n * Resets the font style and weight block support attributes. This can be used\n * when disabling the font appearance support controls for a block via a\n * progressive discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontAppearance( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\ttypography: {\n\t\t\t\t...style?.typography,\n\t\t\t\tfontStyle: undefined,\n\t\t\t\tfontWeight: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/font-appearance.js"],"names":["hasBlockSupport","FontAppearanceControl","useSetting","cleanEmptyObject","FONT_STYLE_SUPPORT_KEY","FONT_WEIGHT_SUPPORT_KEY","FontAppearanceEdit","props","attributes","style","setAttributes","hasFontStyles","useIsFontStyleDisabled","hasFontWeights","useIsFontWeightDisabled","onChange","newStyles","typography","fontStyle","fontWeight","name","blockName","styleSupport","weightSupport","useIsFontAppearanceDisabled","stylesDisabled","weightsDisabled","hasFontAppearanceValue","resetFontAppearance","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport FontAppearanceControl from '../components/font-appearance-control';\nimport useSetting from '../components/use-setting';\nimport { cleanEmptyObject } from './utils';\n\n/**\n * Key within block settings' support array indicating support for font style.\n */\nexport const FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';\n\n/**\n * Key within block settings' support array indicating support for font weight.\n */\nexport const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';\n\n/**\n * Inspector control panel containing the font appearance options.\n *\n * @param {Object} props Block properties.\n *\n * @return {WPElement} Font appearance edit element.\n */\nexport function FontAppearanceEdit( props ) {\n\tconst {\n\t\tattributes: { style },\n\t\tsetAttributes,\n\t} = props;\n\n\tconst hasFontStyles = ! useIsFontStyleDisabled( props );\n\tconst hasFontWeights = ! useIsFontWeightDisabled( props );\n\n\tconst onChange = ( newStyles ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontStyle: newStyles.fontStyle,\n\t\t\t\t\tfontWeight: newStyles.fontWeight,\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\tconst fontStyle = style?.typography?.fontStyle;\n\tconst fontWeight = style?.typography?.fontWeight;\n\n\treturn (\n\t\t<FontAppearanceControl\n\t\t\tonChange={ onChange }\n\t\t\thasFontStyles={ hasFontStyles }\n\t\t\thasFontWeights={ hasFontWeights }\n\t\t\tvalue={ { fontStyle, fontWeight } }\n\t\t/>\n\t);\n}\n\n/**\n * Checks if font style support has been disabled either by not opting in for\n * support or by failing to provide preset styles.\n *\n * @param {Object} props Block properties.\n * @param {string} props.name Name for the block type.\n *\n * @return {boolean} Whether font style support has been disabled.\n */\nexport function useIsFontStyleDisabled( { name: blockName } = {} ) {\n\tconst styleSupport = hasBlockSupport( blockName, FONT_STYLE_SUPPORT_KEY );\n\tconst hasFontStyles = useSetting( 'typography.fontStyle' );\n\n\treturn ! styleSupport || ! hasFontStyles;\n}\n\n/**\n * Checks if font weight support has been disabled either by not opting in for\n * support or by failing to provide preset weights.\n *\n * @param {Object} props Block properties.\n * @param {string} props.name Name for the block type.\n *\n * @return {boolean} Whether font weight support has been disabled.\n */\nexport function useIsFontWeightDisabled( { name: blockName } = {} ) {\n\tconst weightSupport = hasBlockSupport( blockName, FONT_WEIGHT_SUPPORT_KEY );\n\tconst hasFontWeights = useSetting( 'typography.fontWeight' );\n\n\treturn ! weightSupport || ! hasFontWeights;\n}\n\n/**\n * Checks if font appearance support has been disabled.\n *\n * @param {Object} props Block properties.\n *\n * @return {boolean} Whether font appearance support has been disabled.\n */\nexport function useIsFontAppearanceDisabled( props ) {\n\tconst stylesDisabled = useIsFontStyleDisabled( props );\n\tconst weightsDisabled = useIsFontWeightDisabled( props );\n\n\treturn stylesDisabled && weightsDisabled;\n}\n\n/**\n * Checks if there is either a font style or weight value set within the\n * typography styles.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a font style or weight.\n */\nexport function hasFontAppearanceValue( props ) {\n\tconst { fontStyle, fontWeight } = props.attributes.style?.typography || {};\n\treturn !! fontStyle || !! fontWeight;\n}\n\n/**\n * Resets the font style and weight block support attributes. This can be used\n * when disabling the font appearance support controls for a block via a\n * progressive discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontAppearance( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\ttypography: {\n\t\t\t\t...style?.typography,\n\t\t\t\tfontStyle: undefined,\n\t\t\t\tfontWeight: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n"]}
@@ -102,23 +102,30 @@ function addEditProps(settings) {
102
102
  return settings;
103
103
  }
104
104
 
105
- export function FontFamilyEdit({
106
- setAttributes,
107
- attributes: {
108
- fontFamily
109
- }
110
- }) {
105
+ export function FontFamilyEdit(_ref) {
111
106
  var _find;
112
107
 
108
+ let {
109
+ setAttributes,
110
+ attributes: {
111
+ fontFamily
112
+ }
113
+ } = _ref;
113
114
  const fontFamilies = useSetting('typography.fontFamilies');
114
- const value = (_find = find(fontFamilies, ({
115
- slug
116
- }) => fontFamily === slug)) === null || _find === void 0 ? void 0 : _find.fontFamily;
115
+ const value = (_find = find(fontFamilies, _ref2 => {
116
+ let {
117
+ slug
118
+ } = _ref2;
119
+ return fontFamily === slug;
120
+ })) === null || _find === void 0 ? void 0 : _find.fontFamily;
117
121
 
118
122
  function onChange(newValue) {
119
- const predefinedFontFamily = find(fontFamilies, ({
120
- fontFamily: f
121
- }) => f === newValue);
123
+ const predefinedFontFamily = find(fontFamilies, _ref3 => {
124
+ let {
125
+ fontFamily: f
126
+ } = _ref3;
127
+ return f === newValue;
128
+ });
122
129
  setAttributes({
123
130
  fontFamily: predefinedFontFamily === null || predefinedFontFamily === void 0 ? void 0 : predefinedFontFamily.slug
124
131
  });
@@ -138,9 +145,10 @@ export function FontFamilyEdit({
138
145
  * @return {boolean} Whether setting is disabled.
139
146
  */
140
147
 
141
- export function useIsFontFamilyDisabled({
142
- name
143
- }) {
148
+ export function useIsFontFamilyDisabled(_ref4) {
149
+ let {
150
+ name
151
+ } = _ref4;
144
152
  const fontFamilies = useSetting('typography.fontFamilies');
145
153
  return !fontFamilies || fontFamilies.length === 0 || !hasBlockSupport(name, FONT_FAMILY_SUPPORT_KEY);
146
154
  }
@@ -163,9 +171,10 @@ export function hasFontFamilyValue(props) {
163
171
  * @param {Object} props.setAttributes Function to set block's attributes.
164
172
  */
165
173
 
166
- export function resetFontFamily({
167
- setAttributes
168
- }) {
174
+ export function resetFontFamily(_ref5) {
175
+ let {
176
+ setAttributes
177
+ } = _ref5;
169
178
  setAttributes({
170
179
  fontFamily: undefined
171
180
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/font-family.js"],"names":["find","kebabCase","addFilter","hasBlockSupport","TokenList","useSetting","FontFamilyControl","FONT_FAMILY_SUPPORT_KEY","addAttributes","settings","attributes","fontFamily","Object","assign","type","addSaveProps","props","blockType","classes","className","add","newClassName","value","undefined","addEditProps","existingGetEditWrapperProps","getEditWrapperProps","FontFamilyEdit","setAttributes","fontFamilies","slug","onChange","newValue","predefinedFontFamily","f","useIsFontFamilyDisabled","name","length","hasFontFamilyValue","resetFontFamily"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../components/use-setting';\nimport FontFamilyControl from '../components/font-family';\n\nexport const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fontFamily` attribute.\n *\n * @param {Object} settings Original block settings\n * @return {Object} Filtered block settings\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontFamily ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontFamily: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font family.\n *\n * @param {Object} props Additional props applied to save element\n * @param {Object} blockType Block type\n * @param {Object} attributes Block attributes\n * @return {Object} Filtered props applied to save element\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\thasBlockSupport(\n\t\t\tblockType,\n\t\t\t'typography.__experimentalSkipSerialization'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.fontFamily ) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( `has-${ kebabCase( attributes?.fontFamily ) }-font-family` );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Filters registered block settings to expand the block edit wrapper\n * by applying the desired styles and classnames.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addEditProps( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\tconst existingGetEditWrapperProps = settings.getEditWrapperProps;\n\tsettings.getEditWrapperProps = ( attributes ) => {\n\t\tlet props = {};\n\t\tif ( existingGetEditWrapperProps ) {\n\t\t\tprops = existingGetEditWrapperProps( attributes );\n\t\t}\n\t\treturn addSaveProps( props, settings, attributes );\n\t};\n\n\treturn settings;\n}\n\nexport function FontFamilyEdit( {\n\tsetAttributes,\n\tattributes: { fontFamily },\n} ) {\n\tconst fontFamilies = useSetting( 'typography.fontFamilies' );\n\n\tconst value = find( fontFamilies, ( { slug } ) => fontFamily === slug )\n\t\t?.fontFamily;\n\n\tfunction onChange( newValue ) {\n\t\tconst predefinedFontFamily = find(\n\t\t\tfontFamilies,\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t);\n\t\tsetAttributes( {\n\t\t\tfontFamily: predefinedFontFamily?.slug,\n\t\t} );\n\t}\n\n\treturn (\n\t\t<FontFamilyControl\n\t\t\tclassName=\"block-editor-hooks-font-family-control\"\n\t\t\tfontFamilies={ fontFamilies }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if font-family functionality is disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontFamilyDisabled( { name } ) {\n\tconst fontFamilies = useSetting( 'typography.fontFamilies' );\n\treturn (\n\t\t! fontFamilies ||\n\t\tfontFamilies.length === 0 ||\n\t\t! hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY )\n\t);\n}\n\n/**\n * Checks if there is a current value set for the font family block support.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a font family value set.\n */\nexport function hasFontFamilyValue( props ) {\n\treturn !! props.attributes.fontFamily;\n}\n\n/**\n * Resets the font family block support attribute. This can be used when\n * disabling the font family support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontFamily( { setAttributes } ) {\n\tsetAttributes( { fontFamily: undefined } );\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/fontFamily/addSaveProps',\n\taddSaveProps\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addEditProps',\n\taddEditProps\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/font-family.js"],"names":["find","kebabCase","addFilter","hasBlockSupport","TokenList","useSetting","FontFamilyControl","FONT_FAMILY_SUPPORT_KEY","addAttributes","settings","attributes","fontFamily","Object","assign","type","addSaveProps","props","blockType","classes","className","add","newClassName","value","undefined","addEditProps","existingGetEditWrapperProps","getEditWrapperProps","FontFamilyEdit","setAttributes","fontFamilies","slug","onChange","newValue","predefinedFontFamily","f","useIsFontFamilyDisabled","name","length","hasFontFamilyValue","resetFontFamily"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../components/use-setting';\nimport FontFamilyControl from '../components/font-family';\n\nexport const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fontFamily` attribute.\n *\n * @param {Object} settings Original block settings\n * @return {Object} Filtered block settings\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontFamily ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontFamily: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font family.\n *\n * @param {Object} props Additional props applied to save element\n * @param {Object} blockType Block type\n * @param {Object} attributes Block attributes\n * @return {Object} Filtered props applied to save element\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\thasBlockSupport(\n\t\t\tblockType,\n\t\t\t'typography.__experimentalSkipSerialization'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.fontFamily ) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( `has-${ kebabCase( attributes?.fontFamily ) }-font-family` );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Filters registered block settings to expand the block edit wrapper\n * by applying the desired styles and classnames.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addEditProps( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\tconst existingGetEditWrapperProps = settings.getEditWrapperProps;\n\tsettings.getEditWrapperProps = ( attributes ) => {\n\t\tlet props = {};\n\t\tif ( existingGetEditWrapperProps ) {\n\t\t\tprops = existingGetEditWrapperProps( attributes );\n\t\t}\n\t\treturn addSaveProps( props, settings, attributes );\n\t};\n\n\treturn settings;\n}\n\nexport function FontFamilyEdit( {\n\tsetAttributes,\n\tattributes: { fontFamily },\n} ) {\n\tconst fontFamilies = useSetting( 'typography.fontFamilies' );\n\n\tconst value = find( fontFamilies, ( { slug } ) => fontFamily === slug )\n\t\t?.fontFamily;\n\n\tfunction onChange( newValue ) {\n\t\tconst predefinedFontFamily = find(\n\t\t\tfontFamilies,\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t);\n\t\tsetAttributes( {\n\t\t\tfontFamily: predefinedFontFamily?.slug,\n\t\t} );\n\t}\n\n\treturn (\n\t\t<FontFamilyControl\n\t\t\tclassName=\"block-editor-hooks-font-family-control\"\n\t\t\tfontFamilies={ fontFamilies }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if font-family functionality is disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontFamilyDisabled( { name } ) {\n\tconst fontFamilies = useSetting( 'typography.fontFamilies' );\n\treturn (\n\t\t! fontFamilies ||\n\t\tfontFamilies.length === 0 ||\n\t\t! hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY )\n\t);\n}\n\n/**\n * Checks if there is a current value set for the font family block support.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a font family value set.\n */\nexport function hasFontFamilyValue( props ) {\n\treturn !! props.attributes.fontFamily;\n}\n\n/**\n * Resets the font family block support attribute. This can be used when\n * disabling the font family support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontFamily( { setAttributes } ) {\n\tsetAttributes( { fontFamily: undefined } );\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/fontFamily/addSaveProps',\n\taddSaveProps\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addEditProps',\n\taddEditProps\n);\n"]}
@@ -163,10 +163,11 @@ export function hasFontSizeValue(props) {
163
163
  * @param {Object} props.setAttributes Function to set block's attributes.
164
164
  */
165
165
 
166
- export function resetFontSize({
167
- attributes = {},
168
- setAttributes
169
- }) {
166
+ export function resetFontSize(_ref) {
167
+ let {
168
+ attributes = {},
169
+ setAttributes
170
+ } = _ref;
170
171
  const {
171
172
  style
172
173
  } = attributes;
@@ -186,9 +187,10 @@ export function resetFontSize({
186
187
  * @return {boolean} Whether setting is disabled.
187
188
  */
188
189
 
189
- export function useIsFontSizeDisabled({
190
- name: blockName
191
- } = {}) {
190
+ export function useIsFontSizeDisabled() {
191
+ let {
192
+ name: blockName
193
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
192
194
  const fontSizes = useSetting('typography.fontSizes');
193
195
  const hasFontSizes = !!(fontSizes !== null && fontSizes !== void 0 && fontSizes.length);
194
196
  return !hasBlockSupport(blockName, FONT_SIZE_SUPPORT_KEY) || !hasFontSizes;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/font-size.js"],"names":["addFilter","hasBlockSupport","TokenList","createHigherOrderComponent","getFontSize","getFontSizeClass","getFontSizeObjectByValue","FontSizePicker","cleanEmptyObject","useSetting","FONT_SIZE_SUPPORT_KEY","addAttributes","settings","attributes","fontSize","Object","assign","type","addSaveProps","props","blockType","classes","className","add","newClassName","value","undefined","addEditProps","existingGetEditWrapperProps","getEditWrapperProps","FontSizeEdit","style","setAttributes","fontSizes","onChange","fontSizeSlug","slug","typography","fontSizeObject","fontSizeValue","size","hasFontSizeValue","resetFontSize","useIsFontSizeDisabled","name","blockName","hasFontSizes","length","withFontSizeInlineStyles","BlockListBlock","wrapperProps","newProps"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { cleanEmptyObject } from './utils';\nimport useSetting from '../components/use-setting';\n\nexport const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\n\n/**\n * Filters registered block settings, extending attributes to include\n * `fontSize` and `fontWeight` attributes.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontSize ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font size.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\thasBlockSupport(\n\t\t\tblockType,\n\t\t\t'typography.__experimentalSkipSerialization'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( getFontSizeClass( attributes.fontSize ) );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Filters registered block settings to expand the block edit wrapper\n * by applying the desired styles and classnames.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addEditProps( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\tconst existingGetEditWrapperProps = settings.getEditWrapperProps;\n\tsettings.getEditWrapperProps = ( attributes ) => {\n\t\tlet props = {};\n\t\tif ( existingGetEditWrapperProps ) {\n\t\t\tprops = existingGetEditWrapperProps( attributes );\n\t\t}\n\t\treturn addSaveProps( props, settings, attributes );\n\t};\n\n\treturn settings;\n}\n\n/**\n * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {WPElement} Font size edit element.\n */\nexport function FontSizeEdit( props ) {\n\tconst {\n\t\tattributes: { fontSize, style },\n\t\tsetAttributes,\n\t} = props;\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\n\tconst onChange = ( value ) => {\n\t\tconst fontSizeSlug = getFontSizeObjectByValue( fontSizes, value ).slug;\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontSize: fontSizeSlug ? undefined : value,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tconst fontSizeObject = getFontSize(\n\t\tfontSizes,\n\t\tfontSize,\n\t\tstyle?.typography?.fontSize\n\t);\n\n\tconst fontSizeValue =\n\t\tfontSizeObject?.size || style?.typography?.fontSize || fontSize;\n\n\treturn (\n\t\t<FontSizePicker\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ fontSizeValue }\n\t\t\twithReset={ false }\n\t\t/>\n\t);\n}\n\n/**\n * Checks if there is a current value set for the font size block support.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a font size value set.\n */\nexport function hasFontSizeValue( props ) {\n\tconst { fontSize, style } = props.attributes;\n\treturn !! fontSize || !! style?.typography?.fontSize;\n}\n\n/**\n * Resets the font size block support attribute. This can be used when\n * disabling the font size support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontSize( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tfontSize: undefined,\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\ttypography: {\n\t\t\t\t...style?.typography,\n\t\t\t\tfontSize: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if font-size settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontSizeDisabled( { name: blockName } = {} ) {\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\n/**\n * Add inline styles for font sizes.\n * Ideally, this is not needed and themes load the font-size classes on the\n * editor.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nconst withFontSizeInlineStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\t\tconst {\n\t\t\tname: blockName,\n\t\t\tattributes: { fontSize, style },\n\t\t\twrapperProps,\n\t\t} = props;\n\n\t\t// Only add inline styles if the block supports font sizes,\n\t\t// doesn't skip serialization of font sizes,\n\t\t// doesn't already have an inline font size,\n\t\t// and does have a class to extract the font size from.\n\t\tif (\n\t\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) ||\n\t\t\thasBlockSupport(\n\t\t\t\tblockName,\n\t\t\t\t'typography.__experimentalSkipSerialization'\n\t\t\t) ||\n\t\t\t! fontSize ||\n\t\t\tstyle?.typography?.fontSize\n\t\t) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tconst fontSizeValue = getFontSize(\n\t\t\tfontSizes,\n\t\t\tfontSize,\n\t\t\tstyle?.typography?.fontSize\n\t\t).size;\n\n\t\tconst newProps = {\n\t\t\t...props,\n\t\t\twrapperProps: {\n\t\t\t\t...wrapperProps,\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: fontSizeValue,\n\t\t\t\t\t...wrapperProps?.style,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\treturn <BlockListBlock { ...newProps } />;\n\t},\n\t'withFontSizeInlineStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/font/addSaveProps',\n\taddSaveProps\n);\n\naddFilter( 'blocks.registerBlockType', 'core/font/addEditProps', addEditProps );\n\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/font-size/with-font-size-inline-styles',\n\twithFontSizeInlineStyles\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/font-size.js"],"names":["addFilter","hasBlockSupport","TokenList","createHigherOrderComponent","getFontSize","getFontSizeClass","getFontSizeObjectByValue","FontSizePicker","cleanEmptyObject","useSetting","FONT_SIZE_SUPPORT_KEY","addAttributes","settings","attributes","fontSize","Object","assign","type","addSaveProps","props","blockType","classes","className","add","newClassName","value","undefined","addEditProps","existingGetEditWrapperProps","getEditWrapperProps","FontSizeEdit","style","setAttributes","fontSizes","onChange","fontSizeSlug","slug","typography","fontSizeObject","fontSizeValue","size","hasFontSizeValue","resetFontSize","useIsFontSizeDisabled","name","blockName","hasFontSizes","length","withFontSizeInlineStyles","BlockListBlock","wrapperProps","newProps"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,kBAA1B;AACA,SAASC,eAAT,QAAgC,mBAAhC;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,SAASC,0BAAT,QAA2C,oBAA3C;AAEA;AACA;AACA;;AACA,SACCC,WADD,EAECC,gBAFD,EAGCC,wBAHD,EAICC,cAJD,QAKO,0BALP;AAMA,SAASC,gBAAT,QAAiC,SAAjC;AACA,OAAOC,UAAP,MAAuB,2BAAvB;AAEA,OAAO,MAAMC,qBAAqB,GAAG,qBAA9B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAwBC,QAAxB,EAAmC;AAClC,MAAK,CAAEX,eAAe,CAAEW,QAAF,EAAYF,qBAAZ,CAAtB,EAA4D;AAC3D,WAAOE,QAAP;AACA,GAHiC,CAKlC;;;AACA,MAAK,CAAEA,QAAQ,CAACC,UAAT,CAAoBC,QAA3B,EAAsC;AACrCC,IAAAA,MAAM,CAACC,MAAP,CAAeJ,QAAQ,CAACC,UAAxB,EAAoC;AACnCC,MAAAA,QAAQ,EAAE;AACTG,QAAAA,IAAI,EAAE;AADG;AADyB,KAApC;AAKA;;AAED,SAAOL,QAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,YAAT,CAAuBC,KAAvB,EAA8BC,SAA9B,EAAyCP,UAAzC,EAAsD;AACrD,MAAK,CAAEZ,eAAe,CAAEmB,SAAF,EAAaV,qBAAb,CAAtB,EAA6D;AAC5D,WAAOS,KAAP;AACA;;AAED,MACClB,eAAe,CACdmB,SADc,EAEd,4CAFc,CADhB,EAKE;AACD,WAAOD,KAAP;AACA,GAZoD,CAcrD;;;AACA,QAAME,OAAO,GAAG,IAAInB,SAAJ,CAAeiB,KAAK,CAACG,SAArB,CAAhB;AACAD,EAAAA,OAAO,CAACE,GAAR,CAAalB,gBAAgB,CAAEQ,UAAU,CAACC,QAAb,CAA7B;AACA,QAAMU,YAAY,GAAGH,OAAO,CAACI,KAA7B;AACAN,EAAAA,KAAK,CAACG,SAAN,GAAkBE,YAAY,GAAGA,YAAH,GAAkBE,SAAhD;AAEA,SAAOP,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,YAAT,CAAuBf,QAAvB,EAAkC;AACjC,MAAK,CAAEX,eAAe,CAAEW,QAAF,EAAYF,qBAAZ,CAAtB,EAA4D;AAC3D,WAAOE,QAAP;AACA;;AAED,QAAMgB,2BAA2B,GAAGhB,QAAQ,CAACiB,mBAA7C;;AACAjB,EAAAA,QAAQ,CAACiB,mBAAT,GAAiChB,UAAF,IAAkB;AAChD,QAAIM,KAAK,GAAG,EAAZ;;AACA,QAAKS,2BAAL,EAAmC;AAClCT,MAAAA,KAAK,GAAGS,2BAA2B,CAAEf,UAAF,CAAnC;AACA;;AACD,WAAOK,YAAY,CAAEC,KAAF,EAASP,QAAT,EAAmBC,UAAnB,CAAnB;AACA,GAND;;AAQA,SAAOD,QAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASkB,YAAT,CAAuBX,KAAvB,EAA+B;AAAA;;AACrC,QAAM;AACLN,IAAAA,UAAU,EAAE;AAAEC,MAAAA,QAAF;AAAYiB,MAAAA;AAAZ,KADP;AAELC,IAAAA;AAFK,MAGFb,KAHJ;AAIA,QAAMc,SAAS,GAAGxB,UAAU,CAAE,sBAAF,CAA5B;;AAEA,QAAMyB,QAAQ,GAAKT,KAAF,IAAa;AAC7B,UAAMU,YAAY,GAAG7B,wBAAwB,CAAE2B,SAAF,EAAaR,KAAb,CAAxB,CAA6CW,IAAlE;AAEAJ,IAAAA,aAAa,CAAE;AACdD,MAAAA,KAAK,EAAEvB,gBAAgB,CAAE,EACxB,GAAGuB,KADqB;AAExBM,QAAAA,UAAU,EAAE,EACX,IAAGN,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEM,UAAV,CADW;AAEXvB,UAAAA,QAAQ,EAAEqB,YAAY,GAAGT,SAAH,GAAeD;AAF1B;AAFY,OAAF,CADT;AAQdX,MAAAA,QAAQ,EAAEqB;AARI,KAAF,CAAb;AAUA,GAbD;;AAeA,QAAMG,cAAc,GAAGlC,WAAW,CACjC6B,SADiC,EAEjCnB,QAFiC,EAGjCiB,KAHiC,aAGjCA,KAHiC,4CAGjCA,KAAK,CAAEM,UAH0B,sDAGjC,kBAAmBvB,QAHc,CAAlC;AAMA,QAAMyB,aAAa,GAClB,CAAAD,cAAc,SAAd,IAAAA,cAAc,WAAd,YAAAA,cAAc,CAAEE,IAAhB,MAAwBT,KAAxB,aAAwBA,KAAxB,6CAAwBA,KAAK,CAAEM,UAA/B,uDAAwB,mBAAmBvB,QAA3C,KAAuDA,QADxD;AAGA,SACC,cAAC,cAAD;AACC,IAAA,QAAQ,EAAGoB,QADZ;AAEC,IAAA,KAAK,EAAGK,aAFT;AAGC,IAAA,SAAS,EAAG;AAHb,IADD;AAOA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,gBAAT,CAA2BtB,KAA3B,EAAmC;AAAA;;AACzC,QAAM;AAAEL,IAAAA,QAAF;AAAYiB,IAAAA;AAAZ,MAAsBZ,KAAK,CAACN,UAAlC;AACA,SAAO,CAAC,CAAEC,QAAH,IAAe,CAAC,EAAEiB,KAAF,aAAEA,KAAF,qCAAEA,KAAK,CAAEM,UAAT,+CAAE,mBAAmBvB,QAArB,CAAvB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAAS4B,aAAT,OAA6D;AAAA,MAArC;AAAE7B,IAAAA,UAAU,GAAG,EAAf;AAAmBmB,IAAAA;AAAnB,GAAqC;AACnE,QAAM;AAAED,IAAAA;AAAF,MAAYlB,UAAlB;AAEAmB,EAAAA,aAAa,CAAE;AACdlB,IAAAA,QAAQ,EAAEY,SADI;AAEdK,IAAAA,KAAK,EAAEvB,gBAAgB,CAAE,EACxB,GAAGuB,KADqB;AAExBM,MAAAA,UAAU,EAAE,EACX,IAAGN,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEM,UAAV,CADW;AAEXvB,QAAAA,QAAQ,EAAEY;AAFC;AAFY,KAAF;AAFT,GAAF,CAAb;AAUA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASiB,qBAAT,GAA2D;AAAA,MAA3B;AAAEC,IAAAA,IAAI,EAAEC;AAAR,GAA2B,uEAAL,EAAK;AACjE,QAAMZ,SAAS,GAAGxB,UAAU,CAAE,sBAAF,CAA5B;AACA,QAAMqC,YAAY,GAAG,CAAC,EAAEb,SAAF,aAAEA,SAAF,eAAEA,SAAS,CAAEc,MAAb,CAAtB;AAEA,SACC,CAAE9C,eAAe,CAAE4C,SAAF,EAAanC,qBAAb,CAAjB,IAAyD,CAAEoC,YAD5D;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,wBAAwB,GAAG7C,0BAA0B,CACxD8C,cAAF,IAAwB9B,KAAF,IAAa;AAAA;;AAClC,QAAMc,SAAS,GAAGxB,UAAU,CAAE,sBAAF,CAA5B;AACA,QAAM;AACLmC,IAAAA,IAAI,EAAEC,SADD;AAELhC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,QAAF;AAAYiB,MAAAA;AAAZ,KAFP;AAGLmB,IAAAA;AAHK,MAIF/B,KAJJ,CAFkC,CAQlC;AACA;AACA;AACA;;AACA,MACC,CAAElB,eAAe,CAAE4C,SAAF,EAAanC,qBAAb,CAAjB,IACAT,eAAe,CACd4C,SADc,EAEd,4CAFc,CADf,IAKA,CAAE/B,QALF,IAMAiB,KANA,aAMAA,KANA,qCAMAA,KAAK,CAAEM,UANP,+CAMA,mBAAmBvB,QAPpB,EAQE;AACD,WAAO,cAAC,cAAD,EAAqBK,KAArB,CAAP;AACA;;AAED,QAAMoB,aAAa,GAAGnC,WAAW,CAChC6B,SADgC,EAEhCnB,QAFgC,EAGhCiB,KAHgC,aAGhCA,KAHgC,6CAGhCA,KAAK,CAAEM,UAHyB,uDAGhC,mBAAmBvB,QAHa,CAAX,CAIpB0B,IAJF;AAMA,QAAMW,QAAQ,GAAG,EAChB,GAAGhC,KADa;AAEhB+B,IAAAA,YAAY,EAAE,EACb,GAAGA,YADU;AAEbnB,MAAAA,KAAK,EAAE;AACNjB,QAAAA,QAAQ,EAAEyB,aADJ;AAEN,YAAGW,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAEnB,KAAjB;AAFM;AAFM;AAFE,GAAjB;AAWA,SAAO,cAAC,cAAD,EAAqBoB,QAArB,CAAP;AACA,CA3CyD,EA4C1D,0BA5C0D,CAA3D;AA+CAnD,SAAS,CACR,0BADQ,EAER,wBAFQ,EAGRW,aAHQ,CAAT;AAMAX,SAAS,CACR,kCADQ,EAER,wBAFQ,EAGRkB,YAHQ,CAAT;AAMAlB,SAAS,CAAE,0BAAF,EAA8B,wBAA9B,EAAwD2B,YAAxD,CAAT;AAEA3B,SAAS,CACR,uBADQ,EAER,6CAFQ,EAGRgD,wBAHQ,CAAT","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { cleanEmptyObject } from './utils';\nimport useSetting from '../components/use-setting';\n\nexport const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\n\n/**\n * Filters registered block settings, extending attributes to include\n * `fontSize` and `fontWeight` attributes.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontSize ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font size.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\thasBlockSupport(\n\t\t\tblockType,\n\t\t\t'typography.__experimentalSkipSerialization'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( getFontSizeClass( attributes.fontSize ) );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Filters registered block settings to expand the block edit wrapper\n * by applying the desired styles and classnames.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addEditProps( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\tconst existingGetEditWrapperProps = settings.getEditWrapperProps;\n\tsettings.getEditWrapperProps = ( attributes ) => {\n\t\tlet props = {};\n\t\tif ( existingGetEditWrapperProps ) {\n\t\t\tprops = existingGetEditWrapperProps( attributes );\n\t\t}\n\t\treturn addSaveProps( props, settings, attributes );\n\t};\n\n\treturn settings;\n}\n\n/**\n * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {WPElement} Font size edit element.\n */\nexport function FontSizeEdit( props ) {\n\tconst {\n\t\tattributes: { fontSize, style },\n\t\tsetAttributes,\n\t} = props;\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\n\tconst onChange = ( value ) => {\n\t\tconst fontSizeSlug = getFontSizeObjectByValue( fontSizes, value ).slug;\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontSize: fontSizeSlug ? undefined : value,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tconst fontSizeObject = getFontSize(\n\t\tfontSizes,\n\t\tfontSize,\n\t\tstyle?.typography?.fontSize\n\t);\n\n\tconst fontSizeValue =\n\t\tfontSizeObject?.size || style?.typography?.fontSize || fontSize;\n\n\treturn (\n\t\t<FontSizePicker\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ fontSizeValue }\n\t\t\twithReset={ false }\n\t\t/>\n\t);\n}\n\n/**\n * Checks if there is a current value set for the font size block support.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a font size value set.\n */\nexport function hasFontSizeValue( props ) {\n\tconst { fontSize, style } = props.attributes;\n\treturn !! fontSize || !! style?.typography?.fontSize;\n}\n\n/**\n * Resets the font size block support attribute. This can be used when\n * disabling the font size support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontSize( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tfontSize: undefined,\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\ttypography: {\n\t\t\t\t...style?.typography,\n\t\t\t\tfontSize: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if font-size settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontSizeDisabled( { name: blockName } = {} ) {\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\n/**\n * Add inline styles for font sizes.\n * Ideally, this is not needed and themes load the font-size classes on the\n * editor.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nconst withFontSizeInlineStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\t\tconst {\n\t\t\tname: blockName,\n\t\t\tattributes: { fontSize, style },\n\t\t\twrapperProps,\n\t\t} = props;\n\n\t\t// Only add inline styles if the block supports font sizes,\n\t\t// doesn't skip serialization of font sizes,\n\t\t// doesn't already have an inline font size,\n\t\t// and does have a class to extract the font size from.\n\t\tif (\n\t\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) ||\n\t\t\thasBlockSupport(\n\t\t\t\tblockName,\n\t\t\t\t'typography.__experimentalSkipSerialization'\n\t\t\t) ||\n\t\t\t! fontSize ||\n\t\t\tstyle?.typography?.fontSize\n\t\t) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tconst fontSizeValue = getFontSize(\n\t\t\tfontSizes,\n\t\t\tfontSize,\n\t\t\tstyle?.typography?.fontSize\n\t\t).size;\n\n\t\tconst newProps = {\n\t\t\t...props,\n\t\t\twrapperProps: {\n\t\t\t\t...wrapperProps,\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: fontSizeValue,\n\t\t\t\t\t...wrapperProps?.style,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\treturn <BlockListBlock { ...newProps } />;\n\t},\n\t'withFontSizeInlineStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/font/addSaveProps',\n\taddSaveProps\n);\n\naddFilter( 'blocks.registerBlockType', 'core/font/addEditProps', addEditProps );\n\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/font-size/with-font-size-inline-styles',\n\twithFontSizeInlineStyles\n);\n"]}
@@ -47,10 +47,11 @@ export function hasGapValue(props) {
47
47
  * @param {Object} props.setAttributes Function to set block's attributes.
48
48
  */
49
49
 
50
- export function resetGap({
51
- attributes = {},
52
- setAttributes
53
- }) {
50
+ export function resetGap(_ref) {
51
+ let {
52
+ attributes = {},
53
+ setAttributes
54
+ } = _ref;
54
55
  const {
55
56
  style
56
57
  } = attributes;
@@ -69,9 +70,10 @@ export function resetGap({
69
70
  * @return {boolean} Whether the gap setting is disabled.
70
71
  */
71
72
 
72
- export function useIsGapDisabled({
73
- name: blockName
74
- } = {}) {
73
+ export function useIsGapDisabled() {
74
+ let {
75
+ name: blockName
76
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
75
77
  const isDisabled = !useSetting('spacing.blockGap');
76
78
  return !hasGapSupport(blockName) || isDisabled;
77
79
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/gap.js"],"names":["__","Platform","getBlockSupport","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__unstableUseBlockRef","useBlockRef","useSetting","SPACING_SUPPORT_KEY","cleanEmptyObject","hasGapSupport","blockType","support","blockGap","hasGapValue","props","attributes","style","spacing","undefined","resetGap","setAttributes","useIsGapDisabled","name","blockName","isDisabled","GapEdit","clientId","units","availableUnits","ref","onChange","next","newStyle","isSafari","window","navigator","userAgent","includes","current","parentNode","replaceChild","select","web","native"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Platform } from '@wordpress/element';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockRef as useBlockRef } from '../components/block-list/use-block-props/use-block-refs';\nimport useSetting from '../components/use-setting';\nimport { SPACING_SUPPORT_KEY } from './dimensions';\nimport { cleanEmptyObject } from './utils';\n\n/**\n * Determines if there is gap support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n * @return {boolean} Whether there is support.\n */\nexport function hasGapSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, SPACING_SUPPORT_KEY );\n\treturn !! ( true === support || support?.blockGap );\n}\n\n/**\n * Checks if there is a current value in the gap block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a gap value set.\n */\nexport function hasGapValue( props ) {\n\treturn props.attributes.style?.spacing?.blockGap !== undefined;\n}\n\n/**\n * Resets the gap block support attribute. This can be used when disabling\n * the gap support controls for a block via a progressive discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetGap( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t},\n\t} );\n}\n\n/**\n * Custom hook that checks if gap settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether the gap setting is disabled.\n */\nexport function useIsGapDisabled( { name: blockName } = {} ) {\n\tconst isDisabled = ! useSetting( 'spacing.blockGap' );\n\treturn ! hasGapSupport( blockName ) || isDisabled;\n}\n\n/**\n * Inspector control panel containing the gap related configuration\n *\n * @param {Object} props\n *\n * @return {WPElement} Gap edit element.\n */\nexport function GapEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes: { style },\n\t\tsetAttributes,\n\t} = props;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst ref = useBlockRef( clientId );\n\n\tif ( useIsGapDisabled( props ) ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( next ) => {\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tblockGap: next,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\n\t\t// In Safari, changing the `gap` CSS value on its own will not trigger the layout\n\t\t// to be recalculated / re-rendered. To force the updated gap to re-render, here\n\t\t// we replace the block's node with itself.\n\t\tconst isSafari =\n\t\t\twindow?.navigator.userAgent &&\n\t\t\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t\t\t! window.navigator.userAgent.includes( 'Chrome ' ) &&\n\t\t\t! window.navigator.userAgent.includes( 'Chromium ' );\n\n\t\tif ( ref.current && isSafari ) {\n\t\t\tref.current.parentNode?.replaceChild( ref.current, ref.current );\n\t\t}\n\t};\n\n\treturn Platform.select( {\n\t\tweb: (\n\t\t\t<>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tvalue={ style?.spacing?.blockGap }\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\tnative: null,\n\t} );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/gap.js"],"names":["__","Platform","getBlockSupport","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__unstableUseBlockRef","useBlockRef","useSetting","SPACING_SUPPORT_KEY","cleanEmptyObject","hasGapSupport","blockType","support","blockGap","hasGapValue","props","attributes","style","spacing","undefined","resetGap","setAttributes","useIsGapDisabled","name","blockName","isDisabled","GapEdit","clientId","units","availableUnits","ref","onChange","next","newStyle","isSafari","window","navigator","userAgent","includes","current","parentNode","replaceChild","select","web","native"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Platform } from '@wordpress/element';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockRef as useBlockRef } from '../components/block-list/use-block-props/use-block-refs';\nimport useSetting from '../components/use-setting';\nimport { SPACING_SUPPORT_KEY } from './dimensions';\nimport { cleanEmptyObject } from './utils';\n\n/**\n * Determines if there is gap support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n * @return {boolean} Whether there is support.\n */\nexport function hasGapSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, SPACING_SUPPORT_KEY );\n\treturn !! ( true === support || support?.blockGap );\n}\n\n/**\n * Checks if there is a current value in the gap block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a gap value set.\n */\nexport function hasGapValue( props ) {\n\treturn props.attributes.style?.spacing?.blockGap !== undefined;\n}\n\n/**\n * Resets the gap block support attribute. This can be used when disabling\n * the gap support controls for a block via a progressive discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetGap( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t},\n\t} );\n}\n\n/**\n * Custom hook that checks if gap settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether the gap setting is disabled.\n */\nexport function useIsGapDisabled( { name: blockName } = {} ) {\n\tconst isDisabled = ! useSetting( 'spacing.blockGap' );\n\treturn ! hasGapSupport( blockName ) || isDisabled;\n}\n\n/**\n * Inspector control panel containing the gap related configuration\n *\n * @param {Object} props\n *\n * @return {WPElement} Gap edit element.\n */\nexport function GapEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes: { style },\n\t\tsetAttributes,\n\t} = props;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst ref = useBlockRef( clientId );\n\n\tif ( useIsGapDisabled( props ) ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( next ) => {\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tblockGap: next,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\n\t\t// In Safari, changing the `gap` CSS value on its own will not trigger the layout\n\t\t// to be recalculated / re-rendered. To force the updated gap to re-render, here\n\t\t// we replace the block's node with itself.\n\t\tconst isSafari =\n\t\t\twindow?.navigator.userAgent &&\n\t\t\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t\t\t! window.navigator.userAgent.includes( 'Chrome ' ) &&\n\t\t\t! window.navigator.userAgent.includes( 'Chromium ' );\n\n\t\tif ( ref.current && isSafari ) {\n\t\t\tref.current.parentNode?.replaceChild( ref.current, ref.current );\n\t\t}\n\t};\n\n\treturn Platform.select( {\n\t\tweb: (\n\t\t\t<>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tvalue={ style?.spacing?.blockGap }\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\tnative: null,\n\t} );\n}\n"]}
@@ -29,11 +29,12 @@ import BlockList from '../components/block-list';
29
29
  import { getLayoutType, getLayoutTypes } from '../layouts';
30
30
  const layoutBlockSupportKey = '__experimentalLayout';
31
31
 
32
- function LayoutPanel({
33
- setAttributes,
34
- attributes,
35
- name: blockName
36
- }) {
32
+ function LayoutPanel(_ref) {
33
+ let {
34
+ setAttributes,
35
+ attributes,
36
+ name: blockName
37
+ } = _ref;
37
38
  const {
38
39
  layout
39
40
  } = attributes;
@@ -107,14 +108,16 @@ function LayoutPanel({
107
108
  }));
108
109
  }
109
110
 
110
- function LayoutTypeSwitcher({
111
- type,
112
- onChange
113
- }) {
114
- return createElement(ButtonGroup, null, getLayoutTypes().map(({
115
- name,
116
- label
117
- }) => {
111
+ function LayoutTypeSwitcher(_ref2) {
112
+ let {
113
+ type,
114
+ onChange
115
+ } = _ref2;
116
+ return createElement(ButtonGroup, null, getLayoutTypes().map(_ref3 => {
117
+ let {
118
+ name,
119
+ label
120
+ } = _ref3;
118
121
  return createElement(Button, {
119
122
  key: name,
120
123
  isPressed: type === name,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/layout.js"],"names":["classnames","has","createHigherOrderComponent","useInstanceId","addFilter","getBlockSupport","hasBlockSupport","useSelect","Button","ButtonGroup","ToggleControl","PanelBody","__","useContext","createPortal","store","blockEditorStore","InspectorControls","useSetting","LayoutStyle","BlockList","getLayoutType","getLayoutTypes","layoutBlockSupportKey","LayoutPanel","setAttributes","attributes","name","blockName","layout","defaultThemeLayout","themeSupportsLayout","select","getSettings","supportsLayout","layoutBlockSupport","allowSwitching","allowEditing","allowInheriting","default","defaultBlockLayout","usedLayout","inherit","type","layoutType","onChangeType","newType","onChangeLayout","newLayout","LayoutTypeSwitcher","onChange","map","label","addAttribute","settings","withInspectorControls","BlockEdit","props","supportLayout","withLayoutStyles","BlockListBlock","shouldRenderLayoutStyles","id","element","__unstableElementContext","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { has } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext, createPortal } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport useSetting from '../components/use-setting';\nimport { LayoutStyle } from '../components/block-list/layout';\nimport BlockList from '../components/block-list';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\n\nconst layoutBlockSupportKey = '__experimentalLayout';\n\nfunction LayoutPanel( { setAttributes, attributes, name: blockName } ) {\n\tconst { layout } = attributes;\n\tconst defaultThemeLayout = useSetting( 'layout' );\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().supportsLayout;\n\t}, [] );\n\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = layoutBlockSupport;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { inherit = false, type = 'default' } = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow`\n\t * layout and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif ( type === 'default' && ! themeSupportsLayout ) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( type );\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ allowInheriting && !! defaultThemeLayout && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Inherit default layout' ) }\n\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlayout: { inherit: ! inherit },\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( has( settings.attributes, [ 'layout', 'type' ] ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, layoutBlockSupportKey ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include layout controls\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withInspectorControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { name: blockName } = props;\n\t\tconst supportLayout = hasBlockSupport(\n\t\t\tblockName,\n\t\t\tlayoutBlockSupportKey\n\t\t);\n\n\t\treturn [\n\t\t\tsupportLayout && <LayoutPanel key=\"layout\" { ...props } />,\n\t\t\t<BlockEdit key=\"edit\" { ...props } />,\n\t\t];\n\t},\n\t'withInspectorControls'\n);\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst shouldRenderLayoutStyles = hasBlockSupport(\n\t\t\tname,\n\t\t\tlayoutBlockSupportKey\n\t\t);\n\t\tconst id = useInstanceId( BlockListBlock );\n\t\tconst defaultThemeLayout = useSetting( 'layout' ) || {};\n\t\tconst element = useContext( BlockList.__unstableElementContext );\n\t\tconst { layout } = attributes;\n\t\tconst { default: defaultBlockLayout } =\n\t\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\t\tconst usedLayout = layout?.inherit\n\t\t\t? defaultThemeLayout\n\t\t\t: layout || defaultBlockLayout || {};\n\t\tconst className = classnames( props?.className, {\n\t\t\t[ `wp-container-${ id }` ]: shouldRenderLayoutStyles,\n\t\t} );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ shouldRenderLayoutStyles &&\n\t\t\t\t\telement &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\tselector={ `.wp-container-${ id }` }\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\telement\n\t\t\t\t\t) }\n\t\t\t\t<BlockListBlock { ...props } className={ className } />\n\t\t\t</>\n\t\t);\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/layout/with-inspector-controls',\n\twithInspectorControls\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/layout.js"],"names":["classnames","has","createHigherOrderComponent","useInstanceId","addFilter","getBlockSupport","hasBlockSupport","useSelect","Button","ButtonGroup","ToggleControl","PanelBody","__","useContext","createPortal","store","blockEditorStore","InspectorControls","useSetting","LayoutStyle","BlockList","getLayoutType","getLayoutTypes","layoutBlockSupportKey","LayoutPanel","setAttributes","attributes","name","blockName","layout","defaultThemeLayout","themeSupportsLayout","select","getSettings","supportsLayout","layoutBlockSupport","allowSwitching","allowEditing","allowInheriting","default","defaultBlockLayout","usedLayout","inherit","type","layoutType","onChangeType","newType","onChangeLayout","newLayout","LayoutTypeSwitcher","onChange","map","label","addAttribute","settings","withInspectorControls","BlockEdit","props","supportLayout","withLayoutStyles","BlockListBlock","shouldRenderLayoutStyles","id","element","__unstableElementContext","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { has } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext, createPortal } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport useSetting from '../components/use-setting';\nimport { LayoutStyle } from '../components/block-list/layout';\nimport BlockList from '../components/block-list';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\n\nconst layoutBlockSupportKey = '__experimentalLayout';\n\nfunction LayoutPanel( { setAttributes, attributes, name: blockName } ) {\n\tconst { layout } = attributes;\n\tconst defaultThemeLayout = useSetting( 'layout' );\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().supportsLayout;\n\t}, [] );\n\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = layoutBlockSupport;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { inherit = false, type = 'default' } = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow`\n\t * layout and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif ( type === 'default' && ! themeSupportsLayout ) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( type );\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ allowInheriting && !! defaultThemeLayout && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Inherit default layout' ) }\n\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlayout: { inherit: ! inherit },\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( has( settings.attributes, [ 'layout', 'type' ] ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, layoutBlockSupportKey ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include layout controls\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withInspectorControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { name: blockName } = props;\n\t\tconst supportLayout = hasBlockSupport(\n\t\t\tblockName,\n\t\t\tlayoutBlockSupportKey\n\t\t);\n\n\t\treturn [\n\t\t\tsupportLayout && <LayoutPanel key=\"layout\" { ...props } />,\n\t\t\t<BlockEdit key=\"edit\" { ...props } />,\n\t\t];\n\t},\n\t'withInspectorControls'\n);\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst shouldRenderLayoutStyles = hasBlockSupport(\n\t\t\tname,\n\t\t\tlayoutBlockSupportKey\n\t\t);\n\t\tconst id = useInstanceId( BlockListBlock );\n\t\tconst defaultThemeLayout = useSetting( 'layout' ) || {};\n\t\tconst element = useContext( BlockList.__unstableElementContext );\n\t\tconst { layout } = attributes;\n\t\tconst { default: defaultBlockLayout } =\n\t\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\t\tconst usedLayout = layout?.inherit\n\t\t\t? defaultThemeLayout\n\t\t\t: layout || defaultBlockLayout || {};\n\t\tconst className = classnames( props?.className, {\n\t\t\t[ `wp-container-${ id }` ]: shouldRenderLayoutStyles,\n\t\t} );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ shouldRenderLayoutStyles &&\n\t\t\t\t\telement &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\tselector={ `.wp-container-${ id }` }\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\telement\n\t\t\t\t\t) }\n\t\t\t\t<BlockListBlock { ...props } className={ className } />\n\t\t\t</>\n\t\t);\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/layout/with-inspector-controls',\n\twithInspectorControls\n);\n"]}