@wordpress/block-editor 12.18.2 → 12.19.1

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 (875) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/autocompleters/block.js +1 -2
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +1 -2
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/alignment-control/ui.js +1 -2
  7. package/build/components/alignment-control/ui.js.map +1 -1
  8. package/build/components/autocomplete/index.js +1 -2
  9. package/build/components/autocomplete/index.js.map +1 -1
  10. package/build/components/block-alignment-control/constants.js +2 -4
  11. package/build/components/block-alignment-control/constants.js.map +1 -1
  12. package/build/components/block-alignment-control/ui.js +1 -2
  13. package/build/components/block-alignment-control/ui.js.map +1 -1
  14. package/build/components/block-alignment-control/ui.native.js +1 -2
  15. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  16. package/build/components/block-alignment-matrix-control/index.js +1 -2
  17. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  18. package/build/components/block-breadcrumb/index.js +1 -2
  19. package/build/components/block-breadcrumb/index.js.map +1 -1
  20. package/build/components/block-canvas/index.js +1 -2
  21. package/build/components/block-canvas/index.js.map +1 -1
  22. package/build/components/block-caption/index.native.js +1 -2
  23. package/build/components/block-caption/index.native.js.map +1 -1
  24. package/build/components/block-card/index.js +1 -2
  25. package/build/components/block-card/index.js.map +1 -1
  26. package/build/components/block-compare/index.js +1 -2
  27. package/build/components/block-compare/index.js.map +1 -1
  28. package/build/components/block-context/index.js +1 -2
  29. package/build/components/block-context/index.js.map +1 -1
  30. package/build/components/block-controls/groups.js +1 -2
  31. package/build/components/block-controls/groups.js.map +1 -1
  32. package/build/components/block-controls/index.js +1 -2
  33. package/build/components/block-controls/index.js.map +1 -1
  34. package/build/components/block-draggable/dropping-insertion-point.native.js +2 -2
  35. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  36. package/build/components/block-draggable/index.js +1 -2
  37. package/build/components/block-draggable/index.js.map +1 -1
  38. package/build/components/block-draggable/index.native.js +3 -4
  39. package/build/components/block-draggable/index.native.js.map +1 -1
  40. package/build/components/block-edit/context.js +4 -8
  41. package/build/components/block-edit/context.js.map +1 -1
  42. package/build/components/block-edit/edit.js +1 -2
  43. package/build/components/block-edit/edit.js.map +1 -1
  44. package/build/components/block-edit/edit.native.js +1 -2
  45. package/build/components/block-edit/edit.native.js.map +1 -1
  46. package/build/components/block-full-height-alignment-control/index.js +1 -2
  47. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  48. package/build/components/block-icon/index.js +1 -2
  49. package/build/components/block-icon/index.js.map +1 -1
  50. package/build/components/block-icon/index.native.js +1 -2
  51. package/build/components/block-icon/index.native.js.map +1 -1
  52. package/build/components/block-info-slot-fill/index.js +1 -2
  53. package/build/components/block-info-slot-fill/index.js.map +1 -1
  54. package/build/components/block-inspector/index.js +11 -9
  55. package/build/components/block-inspector/index.js.map +1 -1
  56. package/build/components/block-list/block-crash-boundary.js +1 -2
  57. package/build/components/block-list/block-crash-boundary.js.map +1 -1
  58. package/build/components/block-list/block-html.js +1 -2
  59. package/build/components/block-list/block-html.js.map +1 -1
  60. package/build/components/block-list/block-list-context.native.js +1 -2
  61. package/build/components/block-list/block-list-context.native.js.map +1 -1
  62. package/build/components/block-list/block-list-item-cell.native.js +1 -2
  63. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  64. package/build/components/block-list/block-list-item.native.js +1 -2
  65. package/build/components/block-list/block-list-item.native.js.map +1 -1
  66. package/build/components/block-list/block-outline.native.js +1 -2
  67. package/build/components/block-list/block-outline.native.js.map +1 -1
  68. package/build/components/block-list/block-selection-button.native.js +1 -2
  69. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  70. package/build/components/block-list/block.js +32 -21
  71. package/build/components/block-list/block.js.map +1 -1
  72. package/build/components/block-list/block.native.js +7 -6
  73. package/build/components/block-list/block.native.js.map +1 -1
  74. package/build/components/block-list/grid-item.native.js +1 -2
  75. package/build/components/block-list/grid-item.native.js.map +1 -1
  76. package/build/components/block-list/index.js +19 -9
  77. package/build/components/block-list/index.js.map +1 -1
  78. package/build/components/block-list/insertion-point.native.js +1 -2
  79. package/build/components/block-list/insertion-point.native.js.map +1 -1
  80. package/build/components/block-list/layout.js +2 -4
  81. package/build/components/block-list/layout.js.map +1 -1
  82. package/build/components/block-list/private-block-context.js +1 -2
  83. package/build/components/block-list/private-block-context.js.map +1 -1
  84. package/build/components/block-list/subdirectory-icon.js +1 -2
  85. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  86. package/build/components/block-list/use-block-props/index.js +8 -1
  87. package/build/components/block-list/use-block-props/index.js.map +1 -1
  88. package/build/components/block-list/use-scroll-upon-insertion.native.js +1 -2
  89. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  90. package/build/components/block-list-appender/index.js +5 -52
  91. package/build/components/block-list-appender/index.js.map +1 -1
  92. package/build/components/block-media-update-progress/index.native.js +11 -22
  93. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  94. package/build/components/block-mover/button.js +2 -4
  95. package/build/components/block-mover/button.js.map +1 -1
  96. package/build/components/block-mover/index.js +1 -2
  97. package/build/components/block-mover/index.js.map +1 -1
  98. package/build/components/block-mover/index.native.js +3 -6
  99. package/build/components/block-mover/index.native.js.map +1 -1
  100. package/build/components/block-mover/mover-description.native.js +0 -2
  101. package/build/components/block-mover/mover-description.native.js.map +1 -1
  102. package/build/components/block-navigation/dropdown.js +1 -2
  103. package/build/components/block-navigation/dropdown.js.map +1 -1
  104. package/build/components/block-pattern-setup/constants.js +1 -2
  105. package/build/components/block-pattern-setup/constants.js.map +1 -1
  106. package/build/components/block-pattern-setup/index.js +1 -2
  107. package/build/components/block-pattern-setup/index.js.map +1 -1
  108. package/build/components/block-pattern-setup/setup-toolbar.js +1 -2
  109. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  110. package/build/components/block-pattern-setup/use-patterns-setup.js +1 -2
  111. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  112. package/build/components/block-patterns-list/index.js +1 -2
  113. package/build/components/block-patterns-list/index.js.map +1 -1
  114. package/build/components/block-popover/drop-zone.js +1 -2
  115. package/build/components/block-popover/drop-zone.js.map +1 -1
  116. package/build/components/block-popover/inbetween.js +2 -4
  117. package/build/components/block-popover/inbetween.js.map +1 -1
  118. package/build/components/block-popover/index.js +1 -2
  119. package/build/components/block-popover/index.js.map +1 -1
  120. package/build/components/block-popover/use-popover-scroll.js +1 -2
  121. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  122. package/build/components/block-preview/auto.js +2 -1
  123. package/build/components/block-preview/auto.js.map +1 -1
  124. package/build/components/block-preview/index.js +1 -2
  125. package/build/components/block-preview/index.js.map +1 -1
  126. package/build/components/block-removal-warning-modal/index.js +4 -2
  127. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  128. package/build/components/block-settings/button.native.js +1 -2
  129. package/build/components/block-settings/button.native.js.map +1 -1
  130. package/build/components/block-settings/container.native.js +1 -2
  131. package/build/components/block-settings/container.native.js.map +1 -1
  132. package/build/components/block-settings/index.native.js +2 -2
  133. package/build/components/block-settings/index.native.js.map +1 -1
  134. package/build/components/block-settings-menu/block-html-convert-button.js +1 -2
  135. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  136. package/build/components/block-settings-menu/block-mode-toggle.js +1 -2
  137. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  138. package/build/components/block-settings-menu/block-settings-dropdown.js +1 -2
  139. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  140. package/build/components/block-settings-menu/block-settings-menu-first-item.js +1 -2
  141. package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  142. package/build/components/block-settings-menu/index.js +1 -2
  143. package/build/components/block-settings-menu/index.js.map +1 -1
  144. package/build/components/block-settings-menu-controls/index.js +1 -2
  145. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  146. package/build/components/block-styles/index.js +1 -2
  147. package/build/components/block-styles/index.js.map +1 -1
  148. package/build/components/block-styles/index.native.js +1 -2
  149. package/build/components/block-styles/index.native.js.map +1 -1
  150. package/build/components/block-styles/preview.native.js +1 -2
  151. package/build/components/block-styles/preview.native.js.map +1 -1
  152. package/build/components/block-switcher/block-transformations-menu.js +1 -2
  153. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  154. package/build/components/block-switcher/block-transformations-menu.native.js +1 -2
  155. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  156. package/build/components/block-switcher/block-variation-transformations.js +1 -2
  157. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  158. package/build/components/block-switcher/index.js +13 -11
  159. package/build/components/block-switcher/index.js.map +1 -1
  160. package/build/components/block-switcher/pattern-transformations-menu.js +1 -2
  161. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  162. package/build/components/block-switcher/use-transformed-patterns.js +1 -2
  163. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  164. package/build/components/block-title/use-block-display-title.js +21 -28
  165. package/build/components/block-title/use-block-display-title.js.map +1 -1
  166. package/build/components/block-toolbar/block-name-context.js +1 -2
  167. package/build/components/block-toolbar/block-name-context.js.map +1 -1
  168. package/build/components/block-toolbar/block-toolbar-last-item.js +1 -2
  169. package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  170. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -2
  171. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  172. package/build/components/block-tools/block-selection-button.js +20 -18
  173. package/build/components/block-tools/block-selection-button.js.map +1 -1
  174. package/build/components/block-tools/index.js +4 -12
  175. package/build/components/block-tools/index.js.map +1 -1
  176. package/build/components/block-tools/insertion-point.js +1 -2
  177. package/build/components/block-tools/insertion-point.js.map +1 -1
  178. package/build/components/block-tools/zoom-out-mode-inserters.js +1 -2
  179. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  180. package/build/components/block-types-list/index.js +1 -2
  181. package/build/components/block-types-list/index.js.map +1 -1
  182. package/build/components/block-variation-picker/index.js +1 -2
  183. package/build/components/block-variation-picker/index.js.map +1 -1
  184. package/build/components/block-variation-picker/index.native.js +1 -2
  185. package/build/components/block-variation-picker/index.native.js.map +1 -1
  186. package/build/components/block-variation-transforms/index.js +1 -2
  187. package/build/components/block-variation-transforms/index.js.map +1 -1
  188. package/build/components/block-vertical-alignment-control/icons.js +5 -10
  189. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  190. package/build/components/block-vertical-alignment-control/ui.js +1 -2
  191. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  192. package/build/components/button-block-appender/index.js +2 -4
  193. package/build/components/button-block-appender/index.js.map +1 -1
  194. package/build/components/button-block-appender/index.native.js +1 -2
  195. package/build/components/button-block-appender/index.native.js.map +1 -1
  196. package/build/components/caption/index.native.js +1 -2
  197. package/build/components/caption/index.native.js.map +1 -1
  198. package/build/components/color-palette/index.js +1 -2
  199. package/build/components/color-palette/index.js.map +1 -1
  200. package/build/components/color-palette/with-color-context.js +1 -2
  201. package/build/components/color-palette/with-color-context.js.map +1 -1
  202. package/build/components/color-style-selector/index.js +1 -2
  203. package/build/components/color-style-selector/index.js.map +1 -1
  204. package/build/components/colors/index.js +2 -2
  205. package/build/components/colors/index.js.map +1 -1
  206. package/build/components/colors-gradients/control.js +1 -3
  207. package/build/components/colors-gradients/control.js.map +1 -1
  208. package/build/components/colors-gradients/panel-color-gradient-settings.js +1 -2
  209. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  210. package/build/components/contrast-checker/index.js +1 -2
  211. package/build/components/contrast-checker/index.js.map +1 -1
  212. package/build/components/contrast-checker/index.native.js +1 -2
  213. package/build/components/contrast-checker/index.native.js.map +1 -1
  214. package/build/components/convert-to-group-buttons/toolbar.js +1 -2
  215. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  216. package/build/components/default-block-appender/index.js +31 -40
  217. package/build/components/default-block-appender/index.js.map +1 -1
  218. package/build/components/default-block-appender/index.native.js +1 -2
  219. package/build/components/default-block-appender/index.native.js.map +1 -1
  220. package/build/components/dimensions-tool/aspect-ratio-tool.js +2 -2
  221. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  222. package/build/components/dimensions-tool/index.js +1 -2
  223. package/build/components/dimensions-tool/index.js.map +1 -1
  224. package/build/components/duotone-control/index.js +1 -2
  225. package/build/components/duotone-control/index.js.map +1 -1
  226. package/build/components/editable-text/index.js +1 -2
  227. package/build/components/editable-text/index.js.map +1 -1
  228. package/build/components/floating-toolbar/index.native.js +1 -2
  229. package/build/components/floating-toolbar/index.native.js.map +1 -1
  230. package/build/components/floating-toolbar/nav-up-icon.js +1 -2
  231. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  232. package/build/components/font-sizes/font-size-picker.js +1 -2
  233. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  234. package/build/components/global-styles/border-panel.js +56 -8
  235. package/build/components/global-styles/border-panel.js.map +1 -1
  236. package/build/components/global-styles/color-panel.native.js +1 -2
  237. package/build/components/global-styles/color-panel.native.js.map +1 -1
  238. package/build/components/global-styles/context.js +2 -4
  239. package/build/components/global-styles/context.js.map +1 -1
  240. package/build/components/global-styles/get-global-styles-changes.js +2 -4
  241. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  242. package/build/components/global-styles/index.js +2 -15
  243. package/build/components/global-styles/index.js.map +1 -1
  244. package/build/components/global-styles/shadow-panel-components.js +133 -0
  245. package/build/components/global-styles/shadow-panel-components.js.map +1 -0
  246. package/build/components/global-styles/typography-panel.js +6 -7
  247. package/build/components/global-styles/typography-panel.js.map +1 -1
  248. package/build/components/global-styles/use-global-styles-output.js +1 -1
  249. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  250. package/build/components/global-styles/utils.js +38 -14
  251. package/build/components/global-styles/utils.js.map +1 -1
  252. package/build/components/iframe/index.js +1 -2
  253. package/build/components/iframe/index.js.map +1 -1
  254. package/build/components/image-editor/constants.js +3 -6
  255. package/build/components/image-editor/constants.js.map +1 -1
  256. package/build/components/image-link-destinations/index.native.js +1 -2
  257. package/build/components/image-link-destinations/index.native.js.map +1 -1
  258. package/build/components/index.js +2 -2
  259. package/build/components/index.js.map +1 -1
  260. package/build/components/index.native.js +2 -2
  261. package/build/components/index.native.js.map +1 -1
  262. package/build/components/inner-blocks/button-block-appender.js +1 -2
  263. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  264. package/build/components/inner-blocks/constants.native.js +1 -2
  265. package/build/components/inner-blocks/constants.native.js.map +1 -1
  266. package/build/components/inner-blocks/default-block-appender.js +1 -2
  267. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  268. package/build/components/inner-blocks/index.js +33 -30
  269. package/build/components/inner-blocks/index.js.map +1 -1
  270. package/build/components/inner-blocks/index.native.js +2 -6
  271. package/build/components/inner-blocks/index.native.js.map +1 -1
  272. package/build/components/inner-blocks/use-inner-block-template-sync.js +2 -3
  273. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  274. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
  275. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  276. package/build/components/inner-blocks/with-client-id.js +1 -2
  277. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  278. package/build/components/inserter/block-patterns-explorer/index.js +1 -2
  279. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  280. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -2
  281. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  282. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -2
  283. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  284. package/build/components/inserter/block-patterns-tab/index.js +1 -2
  285. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  286. package/build/components/inserter/block-patterns-tab/patterns-filter.js +4 -4
  287. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  288. package/build/components/inserter/block-patterns-tab/utils.js +5 -9
  289. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  290. package/build/components/inserter/block-types-tab.js +1 -2
  291. package/build/components/inserter/block-types-tab.js.map +1 -1
  292. package/build/components/inserter/block-types-tab.native.js +1 -2
  293. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  294. package/build/components/inserter/hooks/use-block-type-impressions.native.js +1 -2
  295. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  296. package/build/components/inserter/hooks/use-block-types-state.js +1 -2
  297. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  298. package/build/components/inserter/hooks/use-insertion-point.js +1 -2
  299. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  300. package/build/components/inserter/hooks/use-patterns-state.js +1 -2
  301. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  302. package/build/components/inserter/index.js +2 -4
  303. package/build/components/inserter/index.js.map +1 -1
  304. package/build/components/inserter/index.native.js +1 -2
  305. package/build/components/inserter/index.native.js.map +1 -1
  306. package/build/components/inserter/library.js +1 -2
  307. package/build/components/inserter/library.js.map +1 -1
  308. package/build/components/inserter/media-tab/media-list.js +1 -2
  309. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  310. package/build/components/inserter/media-tab/media-tab.js +1 -2
  311. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  312. package/build/components/inserter/menu.js +1 -2
  313. package/build/components/inserter/menu.js.map +1 -1
  314. package/build/components/inserter/menu.native.js +1 -2
  315. package/build/components/inserter/menu.native.js.map +1 -1
  316. package/build/components/inserter/no-results.js +1 -2
  317. package/build/components/inserter/no-results.js.map +1 -1
  318. package/build/components/inserter/no-results.native.js +1 -2
  319. package/build/components/inserter/no-results.native.js.map +1 -1
  320. package/build/components/inserter/panel.js +1 -2
  321. package/build/components/inserter/panel.js.map +1 -1
  322. package/build/components/inserter/preview-panel.js +1 -2
  323. package/build/components/inserter/preview-panel.js.map +1 -1
  324. package/build/components/inserter/quick-inserter.js +3 -2
  325. package/build/components/inserter/quick-inserter.js.map +1 -1
  326. package/build/components/inserter/reusable-blocks-tab.native.js +1 -2
  327. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  328. package/build/components/inserter/search-items.js +0 -1
  329. package/build/components/inserter/search-items.js.map +1 -1
  330. package/build/components/inserter/search-results.js +1 -2
  331. package/build/components/inserter/search-results.js.map +1 -1
  332. package/build/components/inserter/search-results.native.js +1 -2
  333. package/build/components/inserter/search-results.native.js.map +1 -1
  334. package/build/components/inserter/tabs.js +1 -2
  335. package/build/components/inserter/tabs.js.map +1 -1
  336. package/build/components/inserter/tabs.native.js +1 -2
  337. package/build/components/inserter/tabs.native.js.map +1 -1
  338. package/build/components/inserter/tips.js +1 -2
  339. package/build/components/inserter/tips.js.map +1 -1
  340. package/build/components/inserter-button/index.native.js +1 -2
  341. package/build/components/inserter-button/index.native.js.map +1 -1
  342. package/build/components/inserter-button/sparkles.js +1 -2
  343. package/build/components/inserter-button/sparkles.js.map +1 -1
  344. package/build/components/inserter-draggable-blocks/index.js +11 -2
  345. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  346. package/build/components/inserter-list-item/index.js +1 -2
  347. package/build/components/inserter-list-item/index.js.map +1 -1
  348. package/build/components/inserter-listbox/context.js +1 -2
  349. package/build/components/inserter-listbox/context.js.map +1 -1
  350. package/build/components/inserter-listbox/group.js +1 -2
  351. package/build/components/inserter-listbox/group.js.map +1 -1
  352. package/build/components/inserter-listbox/index.js +1 -2
  353. package/build/components/inserter-listbox/index.js.map +1 -1
  354. package/build/components/inserter-listbox/item.js +1 -2
  355. package/build/components/inserter-listbox/item.js.map +1 -1
  356. package/build/components/inserter-listbox/row.js +1 -2
  357. package/build/components/inserter-listbox/row.js.map +1 -1
  358. package/build/components/inserter-menu-extension/index.js +1 -2
  359. package/build/components/inserter-menu-extension/index.js.map +1 -1
  360. package/build/components/inspector-controls/groups.js +1 -2
  361. package/build/components/inspector-controls/groups.js.map +1 -1
  362. package/build/components/inspector-controls/index.js +1 -2
  363. package/build/components/inspector-controls/index.js.map +1 -1
  364. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +3 -4
  365. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  366. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -2
  367. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  368. package/build/components/inspector-controls-tabs/settings-tab.js +1 -2
  369. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  370. package/build/components/inspector-controls-tabs/styles-tab.js +6 -6
  371. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  372. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +1 -2
  373. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  374. package/build/components/inspector-controls-tabs/utils.js +3 -6
  375. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  376. package/build/components/justify-content-control/ui.js +1 -2
  377. package/build/components/justify-content-control/ui.js.map +1 -1
  378. package/build/components/keyboard-shortcuts/index.js +1 -2
  379. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  380. package/build/components/line-height-control/index.js +1 -2
  381. package/build/components/line-height-control/index.js.map +1 -1
  382. package/build/components/line-height-control/utils.js +4 -8
  383. package/build/components/line-height-control/utils.js.map +1 -1
  384. package/build/components/link-control/constants.js +7 -14
  385. package/build/components/link-control/constants.js.map +1 -1
  386. package/build/components/link-control/index.js +2 -16
  387. package/build/components/link-control/index.js.map +1 -1
  388. package/build/components/link-control/link-preview.js +13 -15
  389. package/build/components/link-control/link-preview.js.map +1 -1
  390. package/build/components/link-control/search-create-button.js +1 -2
  391. package/build/components/link-control/search-create-button.js.map +1 -1
  392. package/build/components/link-control/search-input.js +1 -2
  393. package/build/components/link-control/search-input.js.map +1 -1
  394. package/build/components/link-control/search-item.js +1 -2
  395. package/build/components/link-control/search-item.js.map +1 -1
  396. package/build/components/link-control/settings-drawer.js +1 -2
  397. package/build/components/link-control/settings-drawer.js.map +1 -1
  398. package/build/components/link-control/settings.js +1 -2
  399. package/build/components/link-control/settings.js.map +1 -1
  400. package/build/components/link-control/use-create-page.js +0 -1
  401. package/build/components/link-control/use-create-page.js.map +1 -1
  402. package/build/components/link-control/use-rich-url-data.js +1 -2
  403. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  404. package/build/components/link-control/viewer-slot.js +1 -2
  405. package/build/components/link-control/viewer-slot.js.map +1 -1
  406. package/build/components/list-view/appender.js +1 -2
  407. package/build/components/list-view/appender.js.map +1 -1
  408. package/build/components/list-view/block-contents.js +1 -2
  409. package/build/components/list-view/block-contents.js.map +1 -1
  410. package/build/components/list-view/block-select-button.js +1 -2
  411. package/build/components/list-view/block-select-button.js.map +1 -1
  412. package/build/components/list-view/block.js +33 -28
  413. package/build/components/list-view/block.js.map +1 -1
  414. package/build/components/list-view/branch.js +1 -2
  415. package/build/components/list-view/branch.js.map +1 -1
  416. package/build/components/list-view/context.js +1 -2
  417. package/build/components/list-view/context.js.map +1 -1
  418. package/build/components/list-view/index.js +20 -17
  419. package/build/components/list-view/index.js.map +1 -1
  420. package/build/components/list-view/leaf.js +1 -2
  421. package/build/components/list-view/leaf.js.map +1 -1
  422. package/build/components/list-view/use-clipboard-handler.js +159 -0
  423. package/build/components/list-view/use-clipboard-handler.js.map +1 -0
  424. package/build/components/list-view/use-list-view-drop-zone.js +1 -2
  425. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  426. package/build/components/list-view/utils.js +4 -4
  427. package/build/components/list-view/utils.js.map +1 -1
  428. package/build/components/media-placeholder/index.js +1 -2
  429. package/build/components/media-placeholder/index.js.map +1 -1
  430. package/build/components/media-placeholder/index.native.js +1 -2
  431. package/build/components/media-placeholder/index.native.js.map +1 -1
  432. package/build/components/media-replace-flow/index.js +1 -2
  433. package/build/components/media-replace-flow/index.js.map +1 -1
  434. package/build/components/media-replace-flow/index.native.js +1 -2
  435. package/build/components/media-replace-flow/index.native.js.map +1 -1
  436. package/build/components/media-upload/check.js +1 -2
  437. package/build/components/media-upload/check.js.map +1 -1
  438. package/build/components/media-upload/constants.native.js +8 -16
  439. package/build/components/media-upload/constants.native.js.map +1 -1
  440. package/build/components/media-upload/index.js +1 -2
  441. package/build/components/media-upload/index.js.map +1 -1
  442. package/build/components/media-upload/index.native.js +1 -2
  443. package/build/components/media-upload/index.native.js.map +1 -1
  444. package/build/components/media-upload-progress/constants.js +6 -12
  445. package/build/components/media-upload-progress/constants.js.map +1 -1
  446. package/build/components/media-upload-progress/index.native.js +1 -2
  447. package/build/components/media-upload-progress/index.native.js.map +1 -1
  448. package/build/components/multi-selection-inspector/index.js +1 -2
  449. package/build/components/multi-selection-inspector/index.js.map +1 -1
  450. package/build/components/navigable-toolbar/index.js +5 -2
  451. package/build/components/navigable-toolbar/index.js.map +1 -1
  452. package/build/components/observe-typing/index.js +1 -2
  453. package/build/components/observe-typing/index.js.map +1 -1
  454. package/build/components/panel-color-settings/index.js +1 -2
  455. package/build/components/panel-color-settings/index.js.map +1 -1
  456. package/build/components/plain-text/index.js +1 -2
  457. package/build/components/plain-text/index.js.map +1 -1
  458. package/build/components/provider/block-refs-provider.js +1 -2
  459. package/build/components/provider/block-refs-provider.js.map +1 -1
  460. package/build/components/provider/index.js +3 -5
  461. package/build/components/provider/index.js.map +1 -1
  462. package/build/components/provider/index.native.js +2 -4
  463. package/build/components/provider/index.native.js.map +1 -1
  464. package/build/components/provider/with-registry-provider.js +1 -2
  465. package/build/components/provider/with-registry-provider.js.map +1 -1
  466. package/build/components/publish-date-time-picker/index.js +1 -2
  467. package/build/components/publish-date-time-picker/index.js.map +1 -1
  468. package/build/components/responsive-block-control/index.js +3 -7
  469. package/build/components/responsive-block-control/index.js.map +1 -1
  470. package/build/components/rich-text/embed-handler-picker.native.js +1 -2
  471. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  472. package/build/components/rich-text/format-edit.js +1 -2
  473. package/build/components/rich-text/format-edit.js.map +1 -1
  474. package/build/components/rich-text/format-toolbar/index.js +1 -2
  475. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  476. package/build/components/rich-text/format-toolbar/index.native.js +1 -2
  477. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  478. package/build/components/rich-text/format-toolbar-container.js +1 -2
  479. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  480. package/build/components/rich-text/format-toolbar-container.native.js +1 -2
  481. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  482. package/build/components/rich-text/index.js +6 -7
  483. package/build/components/rich-text/index.js.map +1 -1
  484. package/build/components/rich-text/index.native.js +1 -2
  485. package/build/components/rich-text/index.native.js.map +1 -1
  486. package/build/components/rich-text/multiline.js +1 -2
  487. package/build/components/rich-text/multiline.js.map +1 -1
  488. package/build/components/rich-text/native/index.native.js +1 -6
  489. package/build/components/rich-text/native/index.native.js.map +1 -1
  490. package/build/components/rich-text/native/toolbar-button-with-options.native.js +1 -2
  491. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  492. package/build/components/rich-text/use-input-rules.js +1 -30
  493. package/build/components/rich-text/use-input-rules.js.map +1 -1
  494. package/build/components/skip-to-selected-block/index.js +1 -2
  495. package/build/components/skip-to-selected-block/index.js.map +1 -1
  496. package/build/components/spacing-sizes-control/index.js +3 -1
  497. package/build/components/spacing-sizes-control/index.js.map +1 -1
  498. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  499. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  500. package/build/components/spacing-sizes-control/utils.js +5 -10
  501. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  502. package/build/components/tool-selector/index.js +1 -2
  503. package/build/components/tool-selector/index.js.map +1 -1
  504. package/build/components/typewriter/index.js +1 -2
  505. package/build/components/typewriter/index.js.map +1 -1
  506. package/build/components/ungroup-button/index.native.js +1 -2
  507. package/build/components/ungroup-button/index.native.js.map +1 -1
  508. package/build/components/unsupported-block-details/index.native.js +1 -2
  509. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  510. package/build/components/url-input/button.js +1 -2
  511. package/build/components/url-input/button.js.map +1 -1
  512. package/build/components/url-input/index.js +1 -2
  513. package/build/components/url-input/index.js.map +1 -1
  514. package/build/components/url-popover/image-url-input-ui.js +18 -8
  515. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  516. package/build/components/url-popover/index.js +5 -5
  517. package/build/components/url-popover/index.js.map +1 -1
  518. package/build/components/use-block-drop-zone/index.js +15 -5
  519. package/build/components/use-block-drop-zone/index.js.map +1 -1
  520. package/build/components/use-flash-editable-blocks/index.js +60 -0
  521. package/build/components/use-flash-editable-blocks/index.js.map +1 -0
  522. package/build/components/use-moving-animation/index.js +1 -2
  523. package/build/components/use-moving-animation/index.js.map +1 -1
  524. package/build/components/use-on-block-drop/index.js +4 -4
  525. package/build/components/use-on-block-drop/index.js.map +1 -1
  526. package/build/components/use-settings/index.js +3 -162
  527. package/build/components/use-settings/index.js.map +1 -1
  528. package/build/components/video-player/gridicon-play.native.js +1 -2
  529. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  530. package/build/components/video-player/index.native.js +2 -4
  531. package/build/components/video-player/index.native.js.map +1 -1
  532. package/build/components/warning/index.js +1 -2
  533. package/build/components/warning/index.js.map +1 -1
  534. package/build/components/warning/index.native.js +1 -2
  535. package/build/components/warning/index.native.js.map +1 -1
  536. package/build/components/writing-flow/index.js +1 -2
  537. package/build/components/writing-flow/index.js.map +1 -1
  538. package/build/components/writing-flow/use-clipboard-handler.js +3 -48
  539. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  540. package/build/components/writing-flow/use-drag-selection.js +13 -2
  541. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  542. package/build/components/writing-flow/utils.js +86 -0
  543. package/build/components/writing-flow/utils.js.map +1 -0
  544. package/build/hooks/align.js +1 -2
  545. package/build/hooks/align.js.map +1 -1
  546. package/build/hooks/align.native.js +2 -2
  547. package/build/hooks/align.native.js.map +1 -1
  548. package/build/hooks/anchor.js +1 -2
  549. package/build/hooks/anchor.js.map +1 -1
  550. package/build/hooks/aria-label.js +1 -2
  551. package/build/hooks/aria-label.js.map +1 -1
  552. package/build/hooks/background.js +52 -14
  553. package/build/hooks/background.js.map +1 -1
  554. package/build/hooks/block-hooks.js +1 -2
  555. package/build/hooks/block-hooks.js.map +1 -1
  556. package/build/hooks/block-renaming.js +1 -2
  557. package/build/hooks/block-renaming.js.map +1 -1
  558. package/build/hooks/border.js +42 -7
  559. package/build/hooks/border.js.map +1 -1
  560. package/build/hooks/color.js +4 -6
  561. package/build/hooks/color.js.map +1 -1
  562. package/build/hooks/content-lock-ui.js +1 -2
  563. package/build/hooks/content-lock-ui.js.map +1 -1
  564. package/build/hooks/custom-class-name.js +1 -2
  565. package/build/hooks/custom-class-name.js.map +1 -1
  566. package/build/hooks/custom-class-name.native.js +1 -2
  567. package/build/hooks/custom-class-name.native.js.map +1 -1
  568. package/build/hooks/dimensions.js +5 -10
  569. package/build/hooks/dimensions.js.map +1 -1
  570. package/build/hooks/duotone.js +1 -3
  571. package/build/hooks/duotone.js.map +1 -1
  572. package/build/hooks/font-family.js +2 -4
  573. package/build/hooks/font-family.js.map +1 -1
  574. package/build/hooks/font-size.js +25 -31
  575. package/build/hooks/font-size.js.map +1 -1
  576. package/build/hooks/index.js +2 -2
  577. package/build/hooks/index.js.map +1 -1
  578. package/build/hooks/layout-child.js +1 -2
  579. package/build/hooks/layout-child.js.map +1 -1
  580. package/build/hooks/layout.js +2 -4
  581. package/build/hooks/layout.js.map +1 -1
  582. package/build/hooks/line-height.js +1 -2
  583. package/build/hooks/line-height.js.map +1 -1
  584. package/build/hooks/position.js +1 -2
  585. package/build/hooks/position.js.map +1 -1
  586. package/build/hooks/style.js +3 -8
  587. package/build/hooks/style.js.map +1 -1
  588. package/build/hooks/typography.js +4 -6
  589. package/build/hooks/typography.js.map +1 -1
  590. package/build/hooks/typography.native.js +3 -6
  591. package/build/hooks/typography.native.js.map +1 -1
  592. package/build/hooks/use-bindings-attributes.js +11 -10
  593. package/build/hooks/use-bindings-attributes.js.map +1 -1
  594. package/build/layouts/constrained.js +1 -2
  595. package/build/layouts/constrained.js.map +1 -1
  596. package/build/layouts/definitions.js +1 -2
  597. package/build/layouts/definitions.js.map +1 -1
  598. package/build/layouts/flex.js +1 -2
  599. package/build/layouts/flex.js.map +1 -1
  600. package/build/layouts/flow.js +1 -2
  601. package/build/layouts/flow.js.map +1 -1
  602. package/build/layouts/grid.js +1 -2
  603. package/build/layouts/grid.js.map +1 -1
  604. package/build/private-apis.js +8 -5
  605. package/build/private-apis.js.map +1 -1
  606. package/build/private-apis.native.js +3 -4
  607. package/build/private-apis.native.js.map +1 -1
  608. package/build/store/actions.js +2 -4
  609. package/build/store/actions.js.map +1 -1
  610. package/build/store/constants.js +1 -2
  611. package/build/store/constants.js.map +1 -1
  612. package/build/store/defaults.js +2 -4
  613. package/build/store/defaults.js.map +1 -1
  614. package/build/store/defaults.native.js +1 -2
  615. package/build/store/defaults.native.js.map +1 -1
  616. package/build/store/get-block-settings.js +180 -0
  617. package/build/store/get-block-settings.js.map +1 -0
  618. package/build/store/index.js +4 -6
  619. package/build/store/index.js.map +1 -1
  620. package/build/store/private-actions.js +37 -3
  621. package/build/store/private-actions.js.map +1 -1
  622. package/build/store/private-selectors.js +55 -29
  623. package/build/store/private-selectors.js.map +1 -1
  624. package/build/store/reducer.js +29 -7
  625. package/build/store/reducer.js.map +1 -1
  626. package/build/store/selectors.js +98 -102
  627. package/build/store/selectors.js.map +1 -1
  628. package/build/store/undo-ignore.js +1 -2
  629. package/build/store/undo-ignore.js.map +1 -1
  630. package/build/utils/selection.js +1 -2
  631. package/build/utils/selection.js.map +1 -1
  632. package/build/utils/transform-styles/index.js +3 -4
  633. package/build/utils/transform-styles/index.js.map +1 -1
  634. package/build-module/components/block-breadcrumb/index.js +0 -1
  635. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  636. package/build-module/components/block-inspector/index.js +10 -7
  637. package/build-module/components/block-inspector/index.js.map +1 -1
  638. package/build-module/components/block-list/block.js +32 -20
  639. package/build-module/components/block-list/block.js.map +1 -1
  640. package/build-module/components/block-list/block.native.js +6 -4
  641. package/build-module/components/block-list/block.native.js.map +1 -1
  642. package/build-module/components/block-list/index.js +18 -7
  643. package/build-module/components/block-list/index.js.map +1 -1
  644. package/build-module/components/block-list/use-block-props/index.js +8 -1
  645. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  646. package/build-module/components/block-list-appender/index.js +5 -51
  647. package/build-module/components/block-list-appender/index.js.map +1 -1
  648. package/build-module/components/block-mover/mover-description.native.js +0 -2
  649. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  650. package/build-module/components/block-popover/inbetween.js +0 -1
  651. package/build-module/components/block-popover/inbetween.js.map +1 -1
  652. package/build-module/components/block-preview/auto.js +2 -1
  653. package/build-module/components/block-preview/auto.js.map +1 -1
  654. package/build-module/components/block-removal-warning-modal/index.js +4 -2
  655. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  656. package/build-module/components/block-switcher/index.js +12 -9
  657. package/build-module/components/block-switcher/index.js.map +1 -1
  658. package/build-module/components/block-title/use-block-display-title.js +22 -28
  659. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  660. package/build-module/components/block-tools/block-selection-button.js +20 -17
  661. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  662. package/build-module/components/block-tools/index.js +2 -10
  663. package/build-module/components/block-tools/index.js.map +1 -1
  664. package/build-module/components/colors-gradients/control.js +0 -1
  665. package/build-module/components/colors-gradients/control.js.map +1 -1
  666. package/build-module/components/default-block-appender/index.js +30 -37
  667. package/build-module/components/default-block-appender/index.js.map +1 -1
  668. package/build-module/components/global-styles/border-panel.js +57 -9
  669. package/build-module/components/global-styles/border-panel.js.map +1 -1
  670. package/build-module/components/global-styles/get-global-styles-changes.js +2 -4
  671. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  672. package/build-module/components/global-styles/index.js +0 -1
  673. package/build-module/components/global-styles/index.js.map +1 -1
  674. package/build-module/components/global-styles/shadow-panel-components.js +121 -0
  675. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -0
  676. package/build-module/components/global-styles/typography-panel.js +2 -3
  677. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  678. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  679. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  680. package/build-module/components/global-styles/utils.js +30 -1
  681. package/build-module/components/global-styles/utils.js.map +1 -1
  682. package/build-module/components/inner-blocks/index.js +33 -29
  683. package/build-module/components/inner-blocks/index.js.map +1 -1
  684. package/build-module/components/inner-blocks/index.native.js +1 -4
  685. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  686. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +2 -3
  687. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  688. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +4 -4
  689. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  690. package/build-module/components/inserter/block-patterns-tab/utils.js +2 -2
  691. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  692. package/build-module/components/inserter/quick-inserter.js +3 -2
  693. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  694. package/build-module/components/inserter/search-items.js +0 -1
  695. package/build-module/components/inserter/search-items.js.map +1 -1
  696. package/build-module/components/inserter-draggable-blocks/index.js +12 -1
  697. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  698. package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -4
  699. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  700. package/build-module/components/link-control/index.js +1 -14
  701. package/build-module/components/link-control/index.js.map +1 -1
  702. package/build-module/components/link-control/link-preview.js +16 -18
  703. package/build-module/components/link-control/link-preview.js.map +1 -1
  704. package/build-module/components/link-control/use-create-page.js +0 -1
  705. package/build-module/components/link-control/use-create-page.js.map +1 -1
  706. package/build-module/components/list-view/block.js +32 -26
  707. package/build-module/components/list-view/block.js.map +1 -1
  708. package/build-module/components/list-view/index.js +17 -11
  709. package/build-module/components/list-view/index.js.map +1 -1
  710. package/build-module/components/list-view/use-clipboard-handler.js +153 -0
  711. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -0
  712. package/build-module/components/list-view/utils.js +4 -4
  713. package/build-module/components/list-view/utils.js.map +1 -1
  714. package/build-module/components/navigable-toolbar/index.js +5 -2
  715. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  716. package/build-module/components/provider/index.js +1 -1
  717. package/build-module/components/provider/index.js.map +1 -1
  718. package/build-module/components/responsive-block-control/index.js +3 -6
  719. package/build-module/components/responsive-block-control/index.js.map +1 -1
  720. package/build-module/components/rich-text/index.js +3 -1
  721. package/build-module/components/rich-text/index.js.map +1 -1
  722. package/build-module/components/rich-text/native/index.native.js +0 -4
  723. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  724. package/build-module/components/rich-text/use-input-rules.js +2 -31
  725. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  726. package/build-module/components/spacing-sizes-control/index.js +4 -2
  727. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  728. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  729. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  730. package/build-module/components/url-popover/image-url-input-ui.js +21 -11
  731. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  732. package/build-module/components/url-popover/index.js +5 -4
  733. package/build-module/components/url-popover/index.js.map +1 -1
  734. package/build-module/components/use-block-drop-zone/index.js +15 -5
  735. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  736. package/build-module/components/use-flash-editable-blocks/index.js +53 -0
  737. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -0
  738. package/build-module/components/use-on-block-drop/index.js +4 -4
  739. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  740. package/build-module/components/use-settings/index.js +3 -159
  741. package/build-module/components/use-settings/index.js.map +1 -1
  742. package/build-module/components/writing-flow/use-clipboard-handler.js +4 -49
  743. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  744. package/build-module/components/writing-flow/use-drag-selection.js +13 -2
  745. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  746. package/build-module/components/writing-flow/utils.js +79 -0
  747. package/build-module/components/writing-flow/utils.js.map +1 -0
  748. package/build-module/hooks/background.js +48 -10
  749. package/build-module/hooks/background.js.map +1 -1
  750. package/build-module/hooks/border.js +38 -3
  751. package/build-module/hooks/border.js.map +1 -1
  752. package/build-module/hooks/duotone.js +0 -1
  753. package/build-module/hooks/duotone.js.map +1 -1
  754. package/build-module/hooks/font-size.js +23 -27
  755. package/build-module/hooks/font-size.js.map +1 -1
  756. package/build-module/hooks/style.js +3 -7
  757. package/build-module/hooks/style.js.map +1 -1
  758. package/build-module/hooks/use-bindings-attributes.js +9 -12
  759. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  760. package/build-module/private-apis.js +5 -1
  761. package/build-module/private-apis.js.map +1 -1
  762. package/build-module/store/get-block-settings.js +171 -0
  763. package/build-module/store/get-block-settings.js.map +1 -0
  764. package/build-module/store/private-actions.js +35 -3
  765. package/build-module/store/private-actions.js.map +1 -1
  766. package/build-module/store/private-selectors.js +42 -19
  767. package/build-module/store/private-selectors.js.map +1 -1
  768. package/build-module/store/reducer.js +26 -3
  769. package/build-module/store/reducer.js.map +1 -1
  770. package/build-module/store/selectors.js +65 -34
  771. package/build-module/store/selectors.js.map +1 -1
  772. package/build-style/content-rtl.css +23 -15
  773. package/build-style/content.css +23 -15
  774. package/build-style/style-rtl.css +61 -60
  775. package/build-style/style.css +61 -60
  776. package/package.json +31 -31
  777. package/src/components/block-canvas/style.scss +1 -1
  778. package/src/components/block-card/style.scss +3 -1
  779. package/src/components/block-controls/README.md +2 -2
  780. package/src/components/block-inspector/index.js +11 -9
  781. package/src/components/block-list/block.js +45 -20
  782. package/src/components/block-list/block.native.js +7 -4
  783. package/src/components/block-list/content.scss +23 -28
  784. package/src/components/block-list/index.js +49 -25
  785. package/src/components/block-list/use-block-props/index.js +8 -0
  786. package/src/components/block-list-appender/index.js +7 -74
  787. package/src/components/block-mover/style.scss +4 -3
  788. package/src/components/block-preview/auto.js +2 -1
  789. package/src/components/block-removal-warning-modal/index.js +17 -10
  790. package/src/components/block-switcher/index.js +22 -13
  791. package/src/components/block-title/test/index.js +86 -85
  792. package/src/components/block-title/use-block-display-title.js +25 -36
  793. package/src/components/block-toolbar/style.scss +8 -1
  794. package/src/components/block-tools/block-selection-button.js +23 -26
  795. package/src/components/block-tools/index.js +2 -12
  796. package/src/components/colors-gradients/control.js +0 -1
  797. package/src/components/default-block-appender/index.js +26 -38
  798. package/src/components/default-block-appender/test/index.js +24 -16
  799. package/src/components/font-sizes/README.MD +0 -9
  800. package/src/components/global-styles/border-panel.js +72 -1
  801. package/src/components/global-styles/get-global-styles-changes.js +2 -8
  802. package/src/components/global-styles/index.js +0 -1
  803. package/src/components/global-styles/shadow-panel-components.js +125 -0
  804. package/src/components/global-styles/style.scss +8 -9
  805. package/src/components/global-styles/test/get-global-styles-changes.js +3 -3
  806. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  807. package/src/components/global-styles/test/utils.js +86 -0
  808. package/src/components/global-styles/typography-panel.js +1 -2
  809. package/src/components/global-styles/use-global-styles-output.js +5 -1
  810. package/src/components/global-styles/utils.js +36 -0
  811. package/src/components/inner-blocks/index.js +31 -32
  812. package/src/components/inner-blocks/index.native.js +3 -9
  813. package/src/components/inner-blocks/use-inner-block-template-sync.js +1 -3
  814. package/src/components/inserter/block-patterns-tab/patterns-filter.js +4 -10
  815. package/src/components/inserter/block-patterns-tab/utils.js +2 -2
  816. package/src/components/inserter/quick-inserter.js +4 -2
  817. package/src/components/inserter/style.scss +3 -13
  818. package/src/components/inserter-draggable-blocks/index.js +12 -1
  819. package/src/components/inspector-controls-tabs/styles-tab.js +4 -2
  820. package/src/components/link-control/index.js +1 -20
  821. package/src/components/link-control/link-preview.js +19 -24
  822. package/src/components/link-control/style.scss +5 -18
  823. package/src/components/link-control/test/index.js +11 -90
  824. package/src/components/list-view/block.js +49 -41
  825. package/src/components/list-view/index.js +22 -9
  826. package/src/components/list-view/use-clipboard-handler.js +199 -0
  827. package/src/components/list-view/utils.js +4 -4
  828. package/src/components/media-replace-flow/style.scss +1 -1
  829. package/src/components/media-replace-flow/test/index.js +1 -1
  830. package/src/components/navigable-toolbar/index.js +8 -4
  831. package/src/components/provider/index.js +1 -1
  832. package/src/components/responsive-block-control/index.js +3 -5
  833. package/src/components/rich-text/index.js +3 -1
  834. package/src/components/rich-text/use-input-rules.js +2 -30
  835. package/src/components/spacing-sizes-control/index.js +2 -1
  836. package/src/components/url-input/style.scss +0 -2
  837. package/src/components/url-popover/image-url-input-ui.js +22 -10
  838. package/src/components/url-popover/index.js +75 -69
  839. package/src/components/url-popover/style.scss +12 -21
  840. package/src/components/use-block-drop-zone/index.js +17 -3
  841. package/src/components/use-flash-editable-blocks/index.js +62 -0
  842. package/src/components/use-on-block-drop/index.js +11 -4
  843. package/src/components/use-settings/index.js +9 -232
  844. package/src/components/writing-flow/use-clipboard-handler.js +6 -78
  845. package/src/components/writing-flow/use-drag-selection.js +12 -3
  846. package/src/components/writing-flow/utils.js +103 -0
  847. package/src/hooks/background.js +53 -8
  848. package/src/hooks/border.js +47 -6
  849. package/src/hooks/font-size.js +33 -33
  850. package/src/hooks/style.js +5 -9
  851. package/src/hooks/test/background.js +50 -0
  852. package/src/hooks/test/font-size.js +164 -0
  853. package/src/hooks/use-bindings-attributes.js +9 -19
  854. package/src/private-apis.js +4 -0
  855. package/src/store/get-block-settings.js +225 -0
  856. package/src/store/private-actions.js +44 -2
  857. package/src/store/private-selectors.js +53 -38
  858. package/src/store/reducer.js +30 -2
  859. package/src/store/selectors.js +74 -48
  860. package/src/store/test/get-block-settings.js +90 -0
  861. package/src/store/test/private-actions.js +18 -0
  862. package/src/store/test/private-selectors.js +19 -0
  863. package/src/store/test/reducer.js +19 -0
  864. package/build/components/global-styles/effects-panel.js +0 -219
  865. package/build/components/global-styles/effects-panel.js.map +0 -1
  866. package/build/hooks/effects.js +0 -66
  867. package/build/hooks/effects.js.map +0 -1
  868. package/build-module/components/global-styles/effects-panel.js +0 -210
  869. package/build-module/components/global-styles/effects-panel.js.map +0 -1
  870. package/build-module/hooks/effects.js +0 -51
  871. package/build-module/hooks/effects.js.map +0 -1
  872. package/src/components/global-styles/effects-panel.js +0 -244
  873. package/src/components/use-settings/test/index.js +0 -141
  874. package/src/hooks/effects.js +0 -57
  875. package/src/hooks/test/effects.js +0 -39
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_blocks","_deprecated","_inspectorControls","_globalStyles","_margin","_padding","_store","_lockUnlock","_utils","DIMENSIONS_SUPPORT_KEY","exports","SPACING_SUPPORT_KEY","ALL_SIDES","AXIAL_SIDES","useVisualizer","property","setProperty","useState","hideBlockInterface","showBlockInterface","unlock","useDispatch","blockEditorStore","useEffect","DimensionsInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","attributes","existingStyle","style","updatedStyle","_react","createElement","default","group","DimensionsPanel","clientId","name","setAttributes","settings","isEnabled","useHasDimensionsPanel","value","useSelect","select","getBlockAttributes","visualizedProperty","setVisualizedProperty","onChange","newStyle","cleanEmptyObject","defaultDimensionsControls","getBlockSupport","defaultSpacingControls","defaultControls","Fragment","as","panelId","onVisualize","spacing","padding","PaddingVisualizer","forceShow","margin","MarginVisualizer","hasDimensionsSupport","blockName","feature","Platform","OS","support","aspectRatio","minHeight","_default","useBlockProps","attributeKeys","hasSupport","shouldSkipSerialization","className","classnames","dimensions","inlineStyleOverrides","useCustomSides","deprecated","since","version"],"sources":["@wordpress/block-editor/src/hooks/dimensions.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tDimensionsPanel as StylesDimensionsPanel,\n\tuseHasDimensionsPanel,\n} from '../components/global-styles';\nimport { MarginVisualizer } from './margin';\nimport { PaddingVisualizer } from './padding';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { cleanEmptyObject, shouldSkipSerialization } from './utils';\n\nexport const DIMENSIONS_SUPPORT_KEY = 'dimensions';\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\nfunction useVisualizer() {\n\tconst [ property, setProperty ] = useState( false );\n\tconst { hideBlockInterface, showBlockInterface } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tuseEffect( () => {\n\t\tif ( ! property ) {\n\t\t\tshowBlockInterface();\n\t\t} else {\n\t\t\thideBlockInterface();\n\t\t}\n\t}, [ property, showBlockInterface, hideBlockInterface ] );\n\n\treturn [ property, setProperty ];\n}\n\nfunction DimensionsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributes.style;\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: updatedStyle,\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"dimensions\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function DimensionsPanel( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasDimensionsPanel( settings );\n\tconst value = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\tconst [ visualizedProperty, setVisualizedProperty ] = useVisualizer();\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultDimensionsControls = getBlockSupport( name, [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultSpacingControls = getBlockSupport( name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...defaultDimensionsControls,\n\t\t...defaultSpacingControls,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<StylesDimensionsPanel\n\t\t\t\tas={ DimensionsInspectorControl }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tsettings={ settings }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\tonVisualize={ setVisualizedProperty }\n\t\t\t/>\n\t\t\t{ !! settings?.spacing?.padding && (\n\t\t\t\t<PaddingVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'padding' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! settings?.spacing?.margin && (\n\t\t\t\t<MarginVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'margin' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * Determine whether there is block support for dimensions.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasDimensionsSupport( blockName, feature = 'any' ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst support = getBlockSupport( blockName, DIMENSIONS_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! ( support?.aspectRatio || !! support?.minHeight );\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'minHeight', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasDimensionsSupport( name, 'aspectRatio' );\n\t},\n};\n\nfunction useBlockProps( { name, minHeight, style } ) {\n\tif (\n\t\t! hasDimensionsSupport( name, 'aspectRatio' ) ||\n\t\tshouldSkipSerialization( name, DIMENSIONS_SUPPORT_KEY, 'aspectRatio' )\n\t) {\n\t\treturn {};\n\t}\n\n\tconst className = classnames( {\n\t\t'has-aspect-ratio': !! style?.dimensions?.aspectRatio,\n\t} );\n\n\t// Allow dimensions-based inline style overrides to override any global styles rules that\n\t// might be set for the block, and therefore affect the display of the aspect ratio.\n\tconst inlineStyleOverrides = {};\n\n\t// Apply rules to unset incompatible styles.\n\t// Note that a set `aspectRatio` will win out if both an aspect ratio and a minHeight are set.\n\t// This is because the aspect ratio is a newer block support, so (in theory) any aspect ratio\n\t// that is set should be intentional and should override any existing minHeight. The Cover block\n\t// and dimensions controls have logic that will manually clear the aspect ratio if a minHeight\n\t// is set.\n\tif ( style?.dimensions?.aspectRatio ) {\n\t\t// To ensure the aspect ratio does not get overridden by `minHeight` unset any existing rule.\n\t\tinlineStyleOverrides.minHeight = 'unset';\n\t} else if ( minHeight || style?.dimensions?.minHeight ) {\n\t\t// To ensure the minHeight does not get overridden by `aspectRatio` unset any existing rule.\n\t\tinlineStyleOverrides.aspectRatio = 'unset';\n\t}\n\n\treturn { className, style: inlineStyleOverrides };\n}\n\n/**\n * @deprecated\n */\nexport function useCustomSides() {\n\tdeprecated( 'wp.blockEditor.__experimentalUseCustomSides', {\n\t\tsince: '6.3',\n\t\tversion: '6.4',\n\t} );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_blocks","_deprecated","_inspectorControls","_globalStyles","_margin","_padding","_store","_lockUnlock","_utils","DIMENSIONS_SUPPORT_KEY","exports","SPACING_SUPPORT_KEY","ALL_SIDES","AXIAL_SIDES","useVisualizer","property","setProperty","useState","hideBlockInterface","showBlockInterface","unlock","useDispatch","blockEditorStore","useEffect","DimensionsInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","attributes","existingStyle","style","updatedStyle","_react","createElement","default","group","DimensionsPanel","clientId","name","setAttributes","settings","isEnabled","useHasDimensionsPanel","value","useSelect","select","getBlockAttributes","visualizedProperty","setVisualizedProperty","onChange","newStyle","cleanEmptyObject","defaultDimensionsControls","getBlockSupport","defaultSpacingControls","defaultControls","Fragment","as","panelId","onVisualize","spacing","padding","PaddingVisualizer","forceShow","margin","MarginVisualizer","hasDimensionsSupport","blockName","feature","Platform","OS","support","aspectRatio","minHeight","_default","useBlockProps","attributeKeys","hasSupport","shouldSkipSerialization","className","classnames","dimensions","inlineStyleOverrides","useCustomSides","deprecated","since","version"],"sources":["@wordpress/block-editor/src/hooks/dimensions.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tDimensionsPanel as StylesDimensionsPanel,\n\tuseHasDimensionsPanel,\n} from '../components/global-styles';\nimport { MarginVisualizer } from './margin';\nimport { PaddingVisualizer } from './padding';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { cleanEmptyObject, shouldSkipSerialization } from './utils';\n\nexport const DIMENSIONS_SUPPORT_KEY = 'dimensions';\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\nfunction useVisualizer() {\n\tconst [ property, setProperty ] = useState( false );\n\tconst { hideBlockInterface, showBlockInterface } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tuseEffect( () => {\n\t\tif ( ! property ) {\n\t\t\tshowBlockInterface();\n\t\t} else {\n\t\t\thideBlockInterface();\n\t\t}\n\t}, [ property, showBlockInterface, hideBlockInterface ] );\n\n\treturn [ property, setProperty ];\n}\n\nfunction DimensionsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributes.style;\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: updatedStyle,\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"dimensions\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function DimensionsPanel( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasDimensionsPanel( settings );\n\tconst value = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\tconst [ visualizedProperty, setVisualizedProperty ] = useVisualizer();\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultDimensionsControls = getBlockSupport( name, [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultSpacingControls = getBlockSupport( name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...defaultDimensionsControls,\n\t\t...defaultSpacingControls,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<StylesDimensionsPanel\n\t\t\t\tas={ DimensionsInspectorControl }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tsettings={ settings }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\tonVisualize={ setVisualizedProperty }\n\t\t\t/>\n\t\t\t{ !! settings?.spacing?.padding && (\n\t\t\t\t<PaddingVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'padding' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! settings?.spacing?.margin && (\n\t\t\t\t<MarginVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'margin' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * Determine whether there is block support for dimensions.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasDimensionsSupport( blockName, feature = 'any' ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst support = getBlockSupport( blockName, DIMENSIONS_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! ( support?.aspectRatio || !! support?.minHeight );\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'minHeight', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasDimensionsSupport( name, 'aspectRatio' );\n\t},\n};\n\nfunction useBlockProps( { name, minHeight, style } ) {\n\tif (\n\t\t! hasDimensionsSupport( name, 'aspectRatio' ) ||\n\t\tshouldSkipSerialization( name, DIMENSIONS_SUPPORT_KEY, 'aspectRatio' )\n\t) {\n\t\treturn {};\n\t}\n\n\tconst className = classnames( {\n\t\t'has-aspect-ratio': !! style?.dimensions?.aspectRatio,\n\t} );\n\n\t// Allow dimensions-based inline style overrides to override any global styles rules that\n\t// might be set for the block, and therefore affect the display of the aspect ratio.\n\tconst inlineStyleOverrides = {};\n\n\t// Apply rules to unset incompatible styles.\n\t// Note that a set `aspectRatio` will win out if both an aspect ratio and a minHeight are set.\n\t// This is because the aspect ratio is a newer block support, so (in theory) any aspect ratio\n\t// that is set should be intentional and should override any existing minHeight. The Cover block\n\t// and dimensions controls have logic that will manually clear the aspect ratio if a minHeight\n\t// is set.\n\tif ( style?.dimensions?.aspectRatio ) {\n\t\t// To ensure the aspect ratio does not get overridden by `minHeight` unset any existing rule.\n\t\tinlineStyleOverrides.minHeight = 'unset';\n\t} else if ( minHeight || style?.dimensions?.minHeight ) {\n\t\t// To ensure the minHeight does not get overridden by `aspectRatio` unset any existing rule.\n\t\tinlineStyleOverrides.aspectRatio = 'unset';\n\t}\n\n\treturn { className, style: inlineStyleOverrides };\n}\n\n/**\n * @deprecated\n */\nexport function useCustomSides() {\n\tdeprecated( 'wp.blockEditor.__experimentalUseCustomSides', {\n\t\tsince: '6.3',\n\t\tversion: '6.4',\n\t} );\n}\n"],"mappings":"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"}
@@ -133,7 +133,6 @@ function DuotonePanelPure({
133
133
  duotone: maybePreset !== null && maybePreset !== void 0 ? maybePreset : newDuotone // use preset or fallback to custom colors.
134
134
  }
135
135
  };
136
-
137
136
  setAttributes({
138
137
  style: newStyle
139
138
  });
@@ -141,7 +140,7 @@ function DuotonePanelPure({
141
140
  settings: settings
142
141
  })));
143
142
  }
144
- var _default = {
143
+ var _default = exports.default = {
145
144
  shareWithChildBlocks: true,
146
145
  edit: DuotonePanelPure,
147
146
  useBlockProps,
@@ -158,7 +157,6 @@ var _default = {
158
157
  *
159
158
  * @return {Object} Filtered block settings.
160
159
  */
161
- exports.default = _default;
162
160
  function addDuotoneAttributes(settings) {
163
161
  // Previous `color.__experimentalDuotone` support flag is migrated via
164
162
  // block_type_metadata_settings filter in `lib/block-supports/duotone.php`.
@@ -1 +1 @@
1
- {"version":3,"names":["_colord","require","_names","_interopRequireDefault","_blocks","_compose","_hooks","_element","_components","_utils","_getBlockCssSelector","_utils2","_utils3","_filtersPanel","_blockEditingMode","_useBlockRefs","EMPTY_ARRAY","isSafari","window","navigator","userAgent","includes","extend","namesPlugin","useMultiOriginPresets","presetSetting","defaultSetting","enableDefault","userPresets","themePresets","defaultPresets","useSettings","useMemo","getColorsFromDuotonePreset","duotone","duotonePalette","preset","find","slug","colors","undefined","getDuotonePresetFromColors","Array","isArray","duotonePreset","every","val","index","DuotonePanelPure","style","setAttributes","name","duotoneStyle","color","settings","useBlockSettings","blockEditingMode","useBlockEditingMode","colorPalette","enableCustomColors","enableCustomDuotone","disableCustomColors","disableCustomDuotone","length","duotonePresetOrColors","_react","createElement","Fragment","InspectorControls","group","default","value","filter","onChange","newDuotone","newStyle","BlockControls","__experimentalShareWithChildBlocks","__experimentalDuotoneControl","maybePreset","_default","shareWithChildBlocks","edit","useBlockProps","attributeKeys","hasSupport","hasBlockSupport","exports","addDuotoneAttributes","attributes","Object","assign","type","useDuotoneStyles","clientId","id","filterId","selector","duotoneSelector","attribute","duotoneAttr","isCustom","isPreset","isCSS","selectors","split","selectorsScoped","map","selectorPart","trim","join","isValidFilter","useStyleOverride","css","getDuotoneStylesheet","getDuotoneUnsetStylesheet","__unstableType","assets","getDuotoneFilter","blockElement","useBlockElement","useEffect","display","offsetHeight","useInstanceId","blockType","getBlockType","duotoneSupport","getBlockSupport","experimentalDuotone","rootSelector","getBlockCSSSelector","scopeSelector","fallback","filterClass","shouldRender","className","addFilter"],"sources":["@wordpress/block-editor/src/hooks/duotone.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSettings,\n} from '../components';\nimport {\n\tgetDuotoneFilter,\n\tgetDuotoneStylesheet,\n\tgetDuotoneUnsetStylesheet,\n} from '../components/duotone/utils';\nimport { getBlockCSSSelector } from '../components/global-styles/get-block-css-selector';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockSettings, useStyleOverride } from './utils';\nimport { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nconst EMPTY_ARRAY = [];\n\n// Safari does not always update the duotone filter when the duotone colors\n// are changed. This browser check is later used to force a re-render of the block\n// element to ensure the duotone filter is updated. The check is included at the\n// root of this file as it only needs to be run once per page load.\nconst isSafari =\n\twindow?.navigator.userAgent &&\n\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t! window.navigator.userAgent.includes( 'Chrome' ) &&\n\t! window.navigator.userAgent.includes( 'Chromium' );\n\nextend( [ namesPlugin ] );\n\nfunction useMultiOriginPresets( { presetSetting, defaultSetting } ) {\n\tconst [ enableDefault, userPresets, themePresets, defaultPresets ] =\n\t\tuseSettings(\n\t\t\tdefaultSetting,\n\t\t\t`${ presetSetting }.custom`,\n\t\t\t`${ presetSetting }.theme`,\n\t\t\t`${ presetSetting }.default`\n\t\t);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...( userPresets || EMPTY_ARRAY ),\n\t\t\t...( themePresets || EMPTY_ARRAY ),\n\t\t\t...( ( enableDefault && defaultPresets ) || EMPTY_ARRAY ),\n\t\t],\n\t\t[ enableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function getColorsFromDuotonePreset( duotone, duotonePalette ) {\n\tif ( ! duotone ) {\n\t\treturn;\n\t}\n\tconst preset = duotonePalette?.find( ( { slug } ) => {\n\t\treturn duotone === `var:preset|duotone|${ slug }`;\n\t} );\n\n\treturn preset ? preset.colors : undefined;\n}\n\nexport function getDuotonePresetFromColors( colors, duotonePalette ) {\n\tif ( ! colors || ! Array.isArray( colors ) ) {\n\t\treturn;\n\t}\n\n\tconst preset = duotonePalette?.find( ( duotonePreset ) => {\n\t\treturn duotonePreset?.colors?.every(\n\t\t\t( val, index ) => val === colors[ index ]\n\t\t);\n\t} );\n\n\treturn preset ? `var:preset|duotone|${ preset.slug }` : undefined;\n}\n\nfunction DuotonePanelPure( { style, setAttributes, name } ) {\n\tconst duotoneStyle = style?.color?.duotone;\n\tconst settings = useBlockSettings( name );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.palette',\n\t\tdefaultSetting: 'color.defaultPalette',\n\t} );\n\tconst [ enableCustomColors, enableCustomDuotone ] = useSettings(\n\t\t'color.custom',\n\t\t'color.customDuotone'\n\t);\n\tconst disableCustomColors = ! enableCustomColors;\n\tconst disableCustomDuotone =\n\t\t! enableCustomDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst duotonePresetOrColors = ! Array.isArray( duotoneStyle )\n\t\t? getColorsFromDuotonePreset( duotoneStyle, duotonePalette )\n\t\t: duotoneStyle;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"filter\">\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tvalue={ { filter: { duotone: duotonePresetOrColors } } }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...newDuotone?.filter,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DuotoneControl\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tvalue={ duotonePresetOrColors }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst maybePreset = getDuotonePresetFromColors(\n\t\t\t\t\t\t\tnewDuotone,\n\t\t\t\t\t\t\tduotonePalette\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\tduotone: maybePreset ?? newDuotone, // use preset or fallback to custom colors.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: DuotonePanelPure,\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'filter.duotone' );\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\t// Previous `color.__experimentalDuotone` support flag is migrated via\n\t// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.\n\tif ( ! hasBlockSupport( settings, 'filter.duotone' ) ) {\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\nfunction useDuotoneStyles( {\n\tclientId,\n\tid: filterId,\n\tselector: duotoneSelector,\n\tattribute: duotoneAttr,\n} ) {\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\n\t// Possible values for duotone attribute:\n\t// 1. Array of colors - e.g. ['#000000', '#ffffff'].\n\t// 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)''\n\t// 3. A CSS string - e.g. 'unset' to remove globally applied duotone.\n\tconst isCustom = Array.isArray( duotoneAttr );\n\tconst duotonePreset = isCustom\n\t\t? undefined\n\t\t: getColorsFromDuotonePreset( duotoneAttr, duotonePalette );\n\tconst isPreset = typeof duotoneAttr === 'string' && duotonePreset;\n\tconst isCSS = typeof duotoneAttr === 'string' && ! isPreset;\n\n\t// Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP.\n\tlet colors = null;\n\tif ( isPreset ) {\n\t\t// Array of colors.\n\t\tcolors = duotonePreset;\n\t} else if ( isCSS ) {\n\t\t// CSS filter property string (e.g. 'unset').\n\t\tcolors = duotoneAttr;\n\t} else if ( isCustom ) {\n\t\t// Array of colors.\n\t\tcolors = duotoneAttr;\n\t}\n\n\t// Build the CSS selectors to which the filter will be applied.\n\tconst selectors = duotoneSelector.split( ',' );\n\n\tconst selectorsScoped = selectors.map( ( selectorPart ) => {\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\n\t\t// Assuming the selector part is a subclass selector (not a tag name)\n\t\t// so we can prepend the filter id class. If we want to support elements\n\t\t// such as `img` or namespaces, we'll need to add a case for that here.\n\t\treturn `.${ filterId }${ selectorPart.trim() }`;\n\t} );\n\n\tconst selector = selectorsScoped.join( ', ' );\n\n\tconst isValidFilter = Array.isArray( colors ) || colors === 'unset';\n\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneStylesheet( selector, filterId )\n\t\t\t\t\t\t\t: getDuotoneUnsetStylesheet( selector ),\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tassets:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneFilter( filterId, colors )\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t__unstableType: 'svgs',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\n\tconst blockElement = useBlockElement( clientId );\n\n\tuseEffect( () => {\n\t\tif ( ! isValidFilter ) return;\n\n\t\t// Safari does not always update the duotone filter when the duotone colors\n\t\t// are changed. When using Safari, force the block element to be repainted by\n\t\t// the browser to ensure any changes are reflected visually. This logic matches\n\t\t// that used on the site frontend in `block-supports/duotone.php`.\n\t\tif ( blockElement && isSafari ) {\n\t\t\tconst display = blockElement.style.display;\n\t\t\t// Switch to `inline-block` to force a repaint. In the editor, `inline-block`\n\t\t\t// is used instead of `none` to ensure that scroll position is not affected,\n\t\t\t// as `none` results in the editor scrolling to the top of the block.\n\t\t\tblockElement.style.display = 'inline-block';\n\t\t\t// Simply accessing el.offsetHeight flushes layout and style\n\t\t\t// changes in WebKit without having to wait for setTimeout.\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tblockElement.offsetHeight;\n\t\t\tblockElement.style.display = display;\n\t\t}\n\t}, [ isValidFilter, blockElement ] );\n}\n\nfunction useBlockProps( { name, style } ) {\n\tconst id = useInstanceId( useBlockProps );\n\tconst selector = useMemo( () => {\n\t\tconst blockType = getBlockType( name );\n\n\t\tif ( blockType ) {\n\t\t\t// Backwards compatibility for `supports.color.__experimentalDuotone`\n\t\t\t// is provided via the `block_type_metadata_settings` filter. If\n\t\t\t// `supports.filter.duotone` has not been set and the\n\t\t\t// experimental property has been, the experimental property\n\t\t\t// value is copied into `supports.filter.duotone`.\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'filter.duotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( ! duotoneSupport ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If the experimental duotone support was set, that value is\n\t\t\t// to be treated as a selector and requires scoping.\n\t\t\tconst experimentalDuotone = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'color.__experimentalDuotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( experimentalDuotone ) {\n\t\t\t\tconst rootSelector = getBlockCSSSelector( blockType );\n\t\t\t\treturn typeof experimentalDuotone === 'string'\n\t\t\t\t\t? scopeSelector( rootSelector, experimentalDuotone )\n\t\t\t\t\t: rootSelector;\n\t\t\t}\n\n\t\t\t// Regular filter.duotone support uses filter.duotone selectors with fallbacks.\n\t\t\treturn getBlockCSSSelector( blockType, 'filter.duotone', {\n\t\t\t\tfallback: true,\n\t\t\t} );\n\t\t}\n\t}, [ name ] );\n\n\tconst attribute = style?.color?.duotone;\n\n\tconst filterClass = `wp-duotone-${ id }`;\n\n\tconst shouldRender = selector && attribute;\n\n\tuseDuotoneStyles( {\n\t\tclientId: id,\n\t\tid: filterClass,\n\t\tselector,\n\t\tattribute,\n\t} );\n\n\treturn {\n\t\tclassName: shouldRender ? filterClass : '',\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_colord","require","_names","_interopRequireDefault","_blocks","_compose","_hooks","_element","_components","_utils","_getBlockCssSelector","_utils2","_utils3","_filtersPanel","_blockEditingMode","_useBlockRefs","EMPTY_ARRAY","isSafari","window","navigator","userAgent","includes","extend","namesPlugin","useMultiOriginPresets","presetSetting","defaultSetting","enableDefault","userPresets","themePresets","defaultPresets","useSettings","useMemo","getColorsFromDuotonePreset","duotone","duotonePalette","preset","find","slug","colors","undefined","getDuotonePresetFromColors","Array","isArray","duotonePreset","every","val","index","DuotonePanelPure","style","setAttributes","name","duotoneStyle","color","settings","useBlockSettings","blockEditingMode","useBlockEditingMode","colorPalette","enableCustomColors","enableCustomDuotone","disableCustomColors","disableCustomDuotone","length","duotonePresetOrColors","_react","createElement","Fragment","InspectorControls","group","default","value","filter","onChange","newDuotone","newStyle","BlockControls","__experimentalShareWithChildBlocks","__experimentalDuotoneControl","maybePreset","_default","exports","shareWithChildBlocks","edit","useBlockProps","attributeKeys","hasSupport","hasBlockSupport","addDuotoneAttributes","attributes","Object","assign","type","useDuotoneStyles","clientId","id","filterId","selector","duotoneSelector","attribute","duotoneAttr","isCustom","isPreset","isCSS","selectors","split","selectorsScoped","map","selectorPart","trim","join","isValidFilter","useStyleOverride","css","getDuotoneStylesheet","getDuotoneUnsetStylesheet","__unstableType","assets","getDuotoneFilter","blockElement","useBlockElement","useEffect","display","offsetHeight","useInstanceId","blockType","getBlockType","duotoneSupport","getBlockSupport","experimentalDuotone","rootSelector","getBlockCSSSelector","scopeSelector","fallback","filterClass","shouldRender","className","addFilter"],"sources":["@wordpress/block-editor/src/hooks/duotone.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSettings,\n} from '../components';\nimport {\n\tgetDuotoneFilter,\n\tgetDuotoneStylesheet,\n\tgetDuotoneUnsetStylesheet,\n} from '../components/duotone/utils';\nimport { getBlockCSSSelector } from '../components/global-styles/get-block-css-selector';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockSettings, useStyleOverride } from './utils';\nimport { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nconst EMPTY_ARRAY = [];\n\n// Safari does not always update the duotone filter when the duotone colors\n// are changed. This browser check is later used to force a re-render of the block\n// element to ensure the duotone filter is updated. The check is included at the\n// root of this file as it only needs to be run once per page load.\nconst isSafari =\n\twindow?.navigator.userAgent &&\n\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t! window.navigator.userAgent.includes( 'Chrome' ) &&\n\t! window.navigator.userAgent.includes( 'Chromium' );\n\nextend( [ namesPlugin ] );\n\nfunction useMultiOriginPresets( { presetSetting, defaultSetting } ) {\n\tconst [ enableDefault, userPresets, themePresets, defaultPresets ] =\n\t\tuseSettings(\n\t\t\tdefaultSetting,\n\t\t\t`${ presetSetting }.custom`,\n\t\t\t`${ presetSetting }.theme`,\n\t\t\t`${ presetSetting }.default`\n\t\t);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...( userPresets || EMPTY_ARRAY ),\n\t\t\t...( themePresets || EMPTY_ARRAY ),\n\t\t\t...( ( enableDefault && defaultPresets ) || EMPTY_ARRAY ),\n\t\t],\n\t\t[ enableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function getColorsFromDuotonePreset( duotone, duotonePalette ) {\n\tif ( ! duotone ) {\n\t\treturn;\n\t}\n\tconst preset = duotonePalette?.find( ( { slug } ) => {\n\t\treturn duotone === `var:preset|duotone|${ slug }`;\n\t} );\n\n\treturn preset ? preset.colors : undefined;\n}\n\nexport function getDuotonePresetFromColors( colors, duotonePalette ) {\n\tif ( ! colors || ! Array.isArray( colors ) ) {\n\t\treturn;\n\t}\n\n\tconst preset = duotonePalette?.find( ( duotonePreset ) => {\n\t\treturn duotonePreset?.colors?.every(\n\t\t\t( val, index ) => val === colors[ index ]\n\t\t);\n\t} );\n\n\treturn preset ? `var:preset|duotone|${ preset.slug }` : undefined;\n}\n\nfunction DuotonePanelPure( { style, setAttributes, name } ) {\n\tconst duotoneStyle = style?.color?.duotone;\n\tconst settings = useBlockSettings( name );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.palette',\n\t\tdefaultSetting: 'color.defaultPalette',\n\t} );\n\tconst [ enableCustomColors, enableCustomDuotone ] = useSettings(\n\t\t'color.custom',\n\t\t'color.customDuotone'\n\t);\n\tconst disableCustomColors = ! enableCustomColors;\n\tconst disableCustomDuotone =\n\t\t! enableCustomDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst duotonePresetOrColors = ! Array.isArray( duotoneStyle )\n\t\t? getColorsFromDuotonePreset( duotoneStyle, duotonePalette )\n\t\t: duotoneStyle;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"filter\">\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tvalue={ { filter: { duotone: duotonePresetOrColors } } }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...newDuotone?.filter,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DuotoneControl\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tvalue={ duotonePresetOrColors }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst maybePreset = getDuotonePresetFromColors(\n\t\t\t\t\t\t\tnewDuotone,\n\t\t\t\t\t\t\tduotonePalette\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\tduotone: maybePreset ?? newDuotone, // use preset or fallback to custom colors.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: DuotonePanelPure,\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'filter.duotone' );\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\t// Previous `color.__experimentalDuotone` support flag is migrated via\n\t// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.\n\tif ( ! hasBlockSupport( settings, 'filter.duotone' ) ) {\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\nfunction useDuotoneStyles( {\n\tclientId,\n\tid: filterId,\n\tselector: duotoneSelector,\n\tattribute: duotoneAttr,\n} ) {\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\n\t// Possible values for duotone attribute:\n\t// 1. Array of colors - e.g. ['#000000', '#ffffff'].\n\t// 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)''\n\t// 3. A CSS string - e.g. 'unset' to remove globally applied duotone.\n\tconst isCustom = Array.isArray( duotoneAttr );\n\tconst duotonePreset = isCustom\n\t\t? undefined\n\t\t: getColorsFromDuotonePreset( duotoneAttr, duotonePalette );\n\tconst isPreset = typeof duotoneAttr === 'string' && duotonePreset;\n\tconst isCSS = typeof duotoneAttr === 'string' && ! isPreset;\n\n\t// Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP.\n\tlet colors = null;\n\tif ( isPreset ) {\n\t\t// Array of colors.\n\t\tcolors = duotonePreset;\n\t} else if ( isCSS ) {\n\t\t// CSS filter property string (e.g. 'unset').\n\t\tcolors = duotoneAttr;\n\t} else if ( isCustom ) {\n\t\t// Array of colors.\n\t\tcolors = duotoneAttr;\n\t}\n\n\t// Build the CSS selectors to which the filter will be applied.\n\tconst selectors = duotoneSelector.split( ',' );\n\n\tconst selectorsScoped = selectors.map( ( selectorPart ) => {\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\n\t\t// Assuming the selector part is a subclass selector (not a tag name)\n\t\t// so we can prepend the filter id class. If we want to support elements\n\t\t// such as `img` or namespaces, we'll need to add a case for that here.\n\t\treturn `.${ filterId }${ selectorPart.trim() }`;\n\t} );\n\n\tconst selector = selectorsScoped.join( ', ' );\n\n\tconst isValidFilter = Array.isArray( colors ) || colors === 'unset';\n\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneStylesheet( selector, filterId )\n\t\t\t\t\t\t\t: getDuotoneUnsetStylesheet( selector ),\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tassets:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneFilter( filterId, colors )\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t__unstableType: 'svgs',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\n\tconst blockElement = useBlockElement( clientId );\n\n\tuseEffect( () => {\n\t\tif ( ! isValidFilter ) return;\n\n\t\t// Safari does not always update the duotone filter when the duotone colors\n\t\t// are changed. When using Safari, force the block element to be repainted by\n\t\t// the browser to ensure any changes are reflected visually. This logic matches\n\t\t// that used on the site frontend in `block-supports/duotone.php`.\n\t\tif ( blockElement && isSafari ) {\n\t\t\tconst display = blockElement.style.display;\n\t\t\t// Switch to `inline-block` to force a repaint. In the editor, `inline-block`\n\t\t\t// is used instead of `none` to ensure that scroll position is not affected,\n\t\t\t// as `none` results in the editor scrolling to the top of the block.\n\t\t\tblockElement.style.display = 'inline-block';\n\t\t\t// Simply accessing el.offsetHeight flushes layout and style\n\t\t\t// changes in WebKit without having to wait for setTimeout.\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tblockElement.offsetHeight;\n\t\t\tblockElement.style.display = display;\n\t\t}\n\t}, [ isValidFilter, blockElement ] );\n}\n\nfunction useBlockProps( { name, style } ) {\n\tconst id = useInstanceId( useBlockProps );\n\tconst selector = useMemo( () => {\n\t\tconst blockType = getBlockType( name );\n\n\t\tif ( blockType ) {\n\t\t\t// Backwards compatibility for `supports.color.__experimentalDuotone`\n\t\t\t// is provided via the `block_type_metadata_settings` filter. If\n\t\t\t// `supports.filter.duotone` has not been set and the\n\t\t\t// experimental property has been, the experimental property\n\t\t\t// value is copied into `supports.filter.duotone`.\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'filter.duotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( ! duotoneSupport ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If the experimental duotone support was set, that value is\n\t\t\t// to be treated as a selector and requires scoping.\n\t\t\tconst experimentalDuotone = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'color.__experimentalDuotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( experimentalDuotone ) {\n\t\t\t\tconst rootSelector = getBlockCSSSelector( blockType );\n\t\t\t\treturn typeof experimentalDuotone === 'string'\n\t\t\t\t\t? scopeSelector( rootSelector, experimentalDuotone )\n\t\t\t\t\t: rootSelector;\n\t\t\t}\n\n\t\t\t// Regular filter.duotone support uses filter.duotone selectors with fallbacks.\n\t\t\treturn getBlockCSSSelector( blockType, 'filter.duotone', {\n\t\t\t\tfallback: true,\n\t\t\t} );\n\t\t}\n\t}, [ name ] );\n\n\tconst attribute = style?.color?.duotone;\n\n\tconst filterClass = `wp-duotone-${ id }`;\n\n\tconst shouldRender = selector && attribute;\n\n\tuseDuotoneStyles( {\n\t\tclientId: id,\n\t\tid: filterClass,\n\t\tselector,\n\t\tattribute,\n\t} );\n\n\treturn {\n\t\tclassName: shouldRender ? filterClass : '',\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ var _lockUnlock = require("../lock-unlock");
21
21
  * Internal dependencies
22
22
  */
23
23
 
24
- const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';
24
+ const FONT_FAMILY_SUPPORT_KEY = exports.FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';
25
25
 
26
26
  /**
27
27
  * Filters registered block settings, extending attributes to include
@@ -30,7 +30,6 @@ const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';
30
30
  * @param {Object} settings Original block settings
31
31
  * @return {Object} Filtered block settings
32
32
  */
33
- exports.FONT_FAMILY_SUPPORT_KEY = FONT_FAMILY_SUPPORT_KEY;
34
33
  function addAttributes(settings) {
35
34
  if (!(0, _blocks.hasBlockSupport)(settings, FONT_FAMILY_SUPPORT_KEY)) {
36
35
  return settings;
@@ -84,7 +83,7 @@ function useBlockProps({
84
83
  fontFamily
85
84
  });
86
85
  }
87
- var _default = {
86
+ var _default = exports.default = {
88
87
  useBlockProps,
89
88
  addSaveProps,
90
89
  attributeKeys: ['fontFamily'],
@@ -100,7 +99,6 @@ var _default = {
100
99
  * @param {Object} props Block props.
101
100
  * @param {Object} props.setAttributes Function to set block's attributes.
102
101
  */
103
- exports.default = _default;
104
102
  function resetFontFamily({
105
103
  setAttributes
106
104
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["_hooks","require","_blocks","_tokenList","_interopRequireDefault","_components","_utils","_typography","_lockUnlock","FONT_FAMILY_SUPPORT_KEY","exports","addAttributes","settings","hasBlockSupport","attributes","fontFamily","Object","assign","type","addSaveProps","props","blockType","shouldSkipSerialization","TYPOGRAPHY_SUPPORT_KEY","classes","TokenList","className","kebabCase","unlock","componentsPrivateApis","add","newClassName","value","undefined","useBlockProps","name","_default","attributeKeys","hasSupport","default","resetFontFamily","setAttributes","addFilter"],"sources":["@wordpress/block-editor/src/hooks/font-family.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { shouldSkipSerialization } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport { unlock } from '../lock-unlock';\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\tshouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontFamily'\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\tconst { kebabCase } = unlock( componentsPrivateApis );\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\nfunction useBlockProps( { name, fontFamily } ) {\n\treturn addSaveProps( {}, name, { fontFamily } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontFamily' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY );\n\t},\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"],"mappings":";;;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKO,MAAMQ,uBAAuB,GAAG,qCAAqC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AANAC,OAAA,CAAAD,uBAAA,GAAAA,uBAAA;AAOA,SAASE,aAAaA,CAAEC,QAAQ,EAAG;EAClC,IAAK,CAAE,IAAAC,uBAAe,EAAED,QAAQ,EAAEH,uBAAwB,CAAC,EAAG;IAC7D,OAAOG,QAAQ;EAChB;;EAEA;EACA,IAAK,CAAEA,QAAQ,CAACE,UAAU,CAACC,UAAU,EAAG;IACvCC,MAAM,CAACC,MAAM,CAAEL,QAAQ,CAACE,UAAU,EAAE;MACnCC,UAAU,EAAE;QACXG,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAON,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,YAAYA,CAAEC,KAAK,EAAEC,SAAS,EAAEP,UAAU,EAAG;EACrD,IAAK,CAAE,IAAAD,uBAAe,EAAEQ,SAAS,EAAEZ,uBAAwB,CAAC,EAAG;IAC9D,OAAOW,KAAK;EACb;EAEA,IACC,IAAAE,8BAAuB,EACtBD,SAAS,EACTE,kCAAsB,EACtB,YACD,CAAC,EACA;IACD,OAAOH,KAAK;EACb;EAEA,IAAK,CAAEN,UAAU,EAAEC,UAAU,EAAG;IAC/B,OAAOK,KAAK;EACb;;EAEA;EACA,MAAMI,OAAO,GAAG,IAAIC,kBAAS,CAAEL,KAAK,CAACM,SAAU,CAAC;EAChD,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;EACrDL,OAAO,CAACM,GAAG,CAAG,OAAOH,SAAS,CAAEb,UAAU,EAAEC,UAAW,CAAG,cAAc,CAAC;EACzE,MAAMgB,YAAY,GAAGP,OAAO,CAACQ,KAAK;EAClCZ,KAAK,CAACM,SAAS,GAAGK,YAAY,GAAGA,YAAY,GAAGE,SAAS;EAEzD,OAAOb,KAAK;AACb;AAEA,SAASc,aAAaA,CAAE;EAAEC,IAAI;EAAEpB;AAAW,CAAC,EAAG;EAC9C,OAAOI,YAAY,CAAE,CAAC,CAAC,EAAEgB,IAAI,EAAE;IAAEpB;EAAW,CAAE,CAAC;AAChD;AAAC,IAAAqB,QAAA,GAEc;EACdF,aAAa;EACbf,YAAY;EACZkB,aAAa,EAAE,CAAE,YAAY,CAAE;EAC/BC,UAAUA,CAAEH,IAAI,EAAG;IAClB,OAAO,IAAAtB,uBAAe,EAAEsB,IAAI,EAAE1B,uBAAwB,CAAC;EACxD;AACD,CAAC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAC,OAAA,CAAA6B,OAAA,GAAAH,QAAA;AAQO,SAASI,eAAeA,CAAE;EAAEC;AAAc,CAAC,EAAG;EACpDA,aAAa,CAAE;IAAE1B,UAAU,EAAEkB;EAAU,CAAE,CAAC;AAC3C;AAEA,IAAAS,gBAAS,EACR,0BAA0B,EAC1B,8BAA8B,EAC9B/B,aACD,CAAC"}
1
+ {"version":3,"names":["_hooks","require","_blocks","_tokenList","_interopRequireDefault","_components","_utils","_typography","_lockUnlock","FONT_FAMILY_SUPPORT_KEY","exports","addAttributes","settings","hasBlockSupport","attributes","fontFamily","Object","assign","type","addSaveProps","props","blockType","shouldSkipSerialization","TYPOGRAPHY_SUPPORT_KEY","classes","TokenList","className","kebabCase","unlock","componentsPrivateApis","add","newClassName","value","undefined","useBlockProps","name","_default","default","attributeKeys","hasSupport","resetFontFamily","setAttributes","addFilter"],"sources":["@wordpress/block-editor/src/hooks/font-family.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { shouldSkipSerialization } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport { unlock } from '../lock-unlock';\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\tshouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontFamily'\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\tconst { kebabCase } = unlock( componentsPrivateApis );\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\nfunction useBlockProps( { name, fontFamily } ) {\n\treturn addSaveProps( {}, name, { fontFamily } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontFamily' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY );\n\t},\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"],"mappings":";;;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKO,MAAMQ,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,qCAAqC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,aAAaA,CAAEC,QAAQ,EAAG;EAClC,IAAK,CAAE,IAAAC,uBAAe,EAAED,QAAQ,EAAEH,uBAAwB,CAAC,EAAG;IAC7D,OAAOG,QAAQ;EAChB;;EAEA;EACA,IAAK,CAAEA,QAAQ,CAACE,UAAU,CAACC,UAAU,EAAG;IACvCC,MAAM,CAACC,MAAM,CAAEL,QAAQ,CAACE,UAAU,EAAE;MACnCC,UAAU,EAAE;QACXG,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAON,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,YAAYA,CAAEC,KAAK,EAAEC,SAAS,EAAEP,UAAU,EAAG;EACrD,IAAK,CAAE,IAAAD,uBAAe,EAAEQ,SAAS,EAAEZ,uBAAwB,CAAC,EAAG;IAC9D,OAAOW,KAAK;EACb;EAEA,IACC,IAAAE,8BAAuB,EACtBD,SAAS,EACTE,kCAAsB,EACtB,YACD,CAAC,EACA;IACD,OAAOH,KAAK;EACb;EAEA,IAAK,CAAEN,UAAU,EAAEC,UAAU,EAAG;IAC/B,OAAOK,KAAK;EACb;;EAEA;EACA,MAAMI,OAAO,GAAG,IAAIC,kBAAS,CAAEL,KAAK,CAACM,SAAU,CAAC;EAChD,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;EACrDL,OAAO,CAACM,GAAG,CAAG,OAAOH,SAAS,CAAEb,UAAU,EAAEC,UAAW,CAAG,cAAc,CAAC;EACzE,MAAMgB,YAAY,GAAGP,OAAO,CAACQ,KAAK;EAClCZ,KAAK,CAACM,SAAS,GAAGK,YAAY,GAAGA,YAAY,GAAGE,SAAS;EAEzD,OAAOb,KAAK;AACb;AAEA,SAASc,aAAaA,CAAE;EAAEC,IAAI;EAAEpB;AAAW,CAAC,EAAG;EAC9C,OAAOI,YAAY,CAAE,CAAC,CAAC,EAAEgB,IAAI,EAAE;IAAEpB;EAAW,CAAE,CAAC;AAChD;AAAC,IAAAqB,QAAA,GAAA1B,OAAA,CAAA2B,OAAA,GAEc;EACdH,aAAa;EACbf,YAAY;EACZmB,aAAa,EAAE,CAAE,YAAY,CAAE;EAC/BC,UAAUA,CAAEJ,IAAI,EAAG;IAClB,OAAO,IAAAtB,uBAAe,EAAEsB,IAAI,EAAE1B,uBAAwB,CAAC;EACxD;AACD,CAAC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS+B,eAAeA,CAAE;EAAEC;AAAc,CAAC,EAAG;EACpDA,aAAa,CAAE;IAAE1B,UAAU,EAAEkB;EAAU,CAAE,CAAC;AAC3C;AAEA,IAAAS,gBAAS,EACR,0BAA0B,EAC1B,8BAA8B,EAC9B/B,aACD,CAAC"}
@@ -12,12 +12,10 @@ var _react = require("react");
12
12
  var _hooks = require("@wordpress/hooks");
13
13
  var _blocks = require("@wordpress/blocks");
14
14
  var _tokenList = _interopRequireDefault(require("@wordpress/token-list"));
15
- var _data = require("@wordpress/data");
16
15
  var _fontSizes = require("../components/font-sizes");
17
16
  var _typography = require("./typography");
18
17
  var _utils = require("./utils");
19
18
  var _useSettings = require("../components/use-settings");
20
- var _store = require("../store");
21
19
  var _typographyUtils = require("../components/global-styles/typography-utils");
22
20
  /**
23
21
  * WordPress dependencies
@@ -27,7 +25,7 @@ var _typographyUtils = require("../components/global-styles/typography-utils");
27
25
  * Internal dependencies
28
26
  */
29
27
 
30
- const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';
28
+ const FONT_SIZE_SUPPORT_KEY = exports.FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';
31
29
 
32
30
  /**
33
31
  * Filters registered block settings, extending attributes to include
@@ -37,7 +35,6 @@ const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';
37
35
  *
38
36
  * @return {Object} Filtered block settings.
39
37
  */
40
- exports.FONT_SIZE_SUPPORT_KEY = FONT_SIZE_SUPPORT_KEY;
41
38
  function addAttributes(settings) {
42
39
  if (!(0, _blocks.hasBlockSupport)(settings, FONT_SIZE_SUPPORT_KEY)) {
43
40
  return settings;
@@ -115,8 +112,7 @@ function FontSizeEdit(props) {
115
112
  value: fontSizeValue,
116
113
  withReset: false,
117
114
  withSlider: true,
118
- size: "__unstable-large",
119
- __nextHasNoMarginBottom: true
115
+ size: "__unstable-large"
120
116
  });
121
117
  }
122
118
 
@@ -138,48 +134,47 @@ function useBlockProps({
138
134
  fontSize,
139
135
  style
140
136
  }) {
141
- const [fontSizes] = (0, _useSettings.useSettings)('typography.fontSizes');
137
+ const [fontSizes, fluidTypographySettings, layoutSettings] = (0, _useSettings.useSettings)('typography.fontSizes', 'typography.fluid', 'layout');
142
138
 
143
- // Only add inline styles if the block supports font sizes,
144
- // doesn't skip serialization of font sizes,
145
- // doesn't already have an inline font size,
146
- // and does have a class to extract the font size from.
147
- if (!(0, _blocks.hasBlockSupport)(name, FONT_SIZE_SUPPORT_KEY) || (0, _utils.shouldSkipSerialization)(name, _typography.TYPOGRAPHY_SUPPORT_KEY, 'fontSize') || !fontSize) {
139
+ /*
140
+ * Only add inline styles if the block supports font sizes,
141
+ * doesn't skip serialization of font sizes,
142
+ * and has either a custom font size or a preset font size.
143
+ */
144
+ if (!(0, _blocks.hasBlockSupport)(name, FONT_SIZE_SUPPORT_KEY) || (0, _utils.shouldSkipSerialization)(name, _typography.TYPOGRAPHY_SUPPORT_KEY, 'fontSize') || !fontSize && !style?.typography?.fontSize) {
148
145
  return;
149
146
  }
150
- let props = {};
151
- if (!style?.typography?.fontSize) {
147
+ let props;
148
+ if (style?.typography?.fontSize) {
149
+ const fluidSettings = (0, _typographyUtils.getFluidTypographyOptionsFromSettings)({
150
+ typography: {
151
+ fluid: fluidTypographySettings
152
+ },
153
+ layout: layoutSettings
154
+ });
152
155
  props = {
153
156
  style: {
154
- fontSize: (0, _fontSizes.getFontSize)(fontSizes, fontSize, style?.typography?.fontSize).size
157
+ fontSize: (0, _typographyUtils.getTypographyFontSizeValue)({
158
+ size: style.typography.fontSize
159
+ }, fluidSettings)
155
160
  }
156
161
  };
157
162
  }
158
-
159
- // TODO: This sucks! We should be using useSetting( 'typography.fluid' )
160
- // or even useSelect( blockEditorStore ). We can't do either here
161
- // because getEditWrapperProps is a plain JavaScript function called by
162
- // BlockListBlock and not a React component rendered within
163
- // BlockListContext.Provider. If we set fontSize using editor.
164
- // BlockListBlock instead of using getEditWrapperProps then the value is
165
- // clobbered when the core/style/addEditProps filter runs.
166
-
167
- // TODO: We can do the thing above now.
168
- const fluidTypographySettings = (0, _typographyUtils.getFluidTypographyOptionsFromSettings)((0, _data.select)(_store.store).getSettings().__experimentalFeatures);
169
163
  if (fontSize) {
170
164
  props = {
171
165
  style: {
172
- fontSize: (0, _typographyUtils.getTypographyFontSizeValue)({
173
- size: fontSize
174
- }, fluidTypographySettings)
166
+ fontSize: (0, _fontSizes.getFontSize)(fontSizes, fontSize, style?.typography?.fontSize).size
175
167
  }
176
168
  };
177
169
  }
170
+ if (!props) {
171
+ return;
172
+ }
178
173
  return addSaveProps(props, name, {
179
174
  fontSize
180
175
  });
181
176
  }
182
- var _default = {
177
+ var _default = exports.default = {
183
178
  useBlockProps,
184
179
  addSaveProps,
185
180
  attributeKeys: ['fontSize', 'style'],
@@ -187,7 +182,6 @@ var _default = {
187
182
  return (0, _blocks.hasBlockSupport)(name, FONT_SIZE_SUPPORT_KEY);
188
183
  }
189
184
  };
190
- exports.default = _default;
191
185
  const MIGRATION_PATHS = {
192
186
  fontSize: [['fontSize'], ['style', 'typography', 'fontSize']]
193
187
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_hooks","require","_blocks","_tokenList","_interopRequireDefault","_data","_fontSizes","_typography","_utils","_useSettings","_store","_typographyUtils","FONT_SIZE_SUPPORT_KEY","exports","addAttributes","settings","hasBlockSupport","attributes","fontSize","Object","assign","type","addSaveProps","props","blockNameOrType","shouldSkipSerialization","TYPOGRAPHY_SUPPORT_KEY","classes","TokenList","className","add","getFontSizeClass","newClassName","value","undefined","FontSizeEdit","style","setAttributes","fontSizes","useSettings","onChange","fontSizeSlug","getFontSizeObjectByValue","slug","cleanEmptyObject","typography","fontSizeObject","getFontSize","fontSizeValue","size","_react","createElement","FontSizePicker","withReset","withSlider","__nextHasNoMarginBottom","useIsFontSizeDisabled","name","blockName","hasFontSizes","length","useBlockProps","fluidTypographySettings","getFluidTypographyOptionsFromSettings","select","blockEditorStore","getSettings","__experimentalFeatures","getTypographyFontSizeValue","_default","attributeKeys","hasSupport","default","MIGRATION_PATHS","addTransforms","result","source","index","results","destinationBlockType","activeSupports","transformStyles","addFilter"],"sources":["@wordpress/block-editor/src/hooks/font-size.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { select } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\nimport { store as blockEditorStore } from '../store';\nimport {\n\tgetTypographyFontSizeValue,\n\tgetFluidTypographyOptionsFromSettings,\n} from '../components/global-styles/typography-utils';\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} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif ( ! hasBlockSupport( blockNameOrType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontSize'\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 * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {Element} 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 ] = useSettings( '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\twithSlider\n\t\t\tsize=\"__unstable-large\"\n\t\t\t__nextHasNoMarginBottom\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 ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\nfunction useBlockProps( { name, fontSize, style } ) {\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\t// Only add inline styles if the block supports font sizes,\n\t// doesn't skip serialization of font sizes,\n\t// doesn't already have an inline font size,\n\t// and does have a class to extract the font size from.\n\tif (\n\t\t! hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY ) ||\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize' ) ||\n\t\t! fontSize\n\t) {\n\t\treturn;\n\t}\n\n\tlet props = {};\n\n\tif ( ! style?.typography?.fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getFontSize(\n\t\t\t\t\tfontSizes,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle?.typography?.fontSize\n\t\t\t\t).size,\n\t\t\t},\n\t\t};\n\t}\n\n\t// TODO: This sucks! We should be using useSetting( 'typography.fluid' )\n\t// or even useSelect( blockEditorStore ). We can't do either here\n\t// because getEditWrapperProps is a plain JavaScript function called by\n\t// BlockListBlock and not a React component rendered within\n\t// BlockListContext.Provider. If we set fontSize using editor.\n\t// BlockListBlock instead of using getEditWrapperProps then the value is\n\t// clobbered when the core/style/addEditProps filter runs.\n\n\t// TODO: We can do the thing above now.\n\tconst fluidTypographySettings = getFluidTypographyOptionsFromSettings(\n\t\tselect( blockEditorStore ).getSettings().__experimentalFeatures\n\t);\n\n\tif ( fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t\t\t{ size: fontSize },\n\t\t\t\t\tfluidTypographySettings\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n\n\treturn addSaveProps( props, name, { fontSize } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontSize', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY );\n\t},\n};\n\nconst MIGRATION_PATHS = {\n\tfontSize: [ [ 'fontSize' ], [ 'style', 'typography', 'fontSize' ] ],\n};\n\nfunction addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tfontSize: hasBlockSupport(\n\t\t\tdestinationBlockType,\n\t\t\tFONT_SIZE_SUPPORT_KEY\n\t\t),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/font-size/addTransforms',\n\taddTransforms\n);\n"],"mappings":";;;;;;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,UAAA,GAAAL,OAAA;AAMA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAKA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AAzBA;AACA;AACA;;AAMA;AACA;AACA;;AAoBO,MAAMW,qBAAqB,GAAG,qBAAqB;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AAQA,SAASE,aAAaA,CAAEC,QAAQ,EAAG;EAClC,IAAK,CAAE,IAAAC,uBAAe,EAAED,QAAQ,EAAEH,qBAAsB,CAAC,EAAG;IAC3D,OAAOG,QAAQ;EAChB;;EAEA;EACA,IAAK,CAAEA,QAAQ,CAACE,UAAU,CAACC,QAAQ,EAAG;IACrCC,MAAM,CAACC,MAAM,CAAEL,QAAQ,CAACE,UAAU,EAAE;MACnCC,QAAQ,EAAE;QACTG,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAON,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,YAAYA,CAAEC,KAAK,EAAEC,eAAe,EAAEP,UAAU,EAAG;EAC3D,IAAK,CAAE,IAAAD,uBAAe,EAAEQ,eAAe,EAAEZ,qBAAsB,CAAC,EAAG;IAClE,OAAOW,KAAK;EACb;EAEA,IACC,IAAAE,8BAAuB,EACtBD,eAAe,EACfE,kCAAsB,EACtB,UACD,CAAC,EACA;IACD,OAAOH,KAAK;EACb;;EAEA;EACA,MAAMI,OAAO,GAAG,IAAIC,kBAAS,CAAEL,KAAK,CAACM,SAAU,CAAC;EAChDF,OAAO,CAACG,GAAG,CAAE,IAAAC,2BAAgB,EAAEd,UAAU,CAACC,QAAS,CAAE,CAAC;EACtD,MAAMc,YAAY,GAAGL,OAAO,CAACM,KAAK;EAClCV,KAAK,CAACM,SAAS,GAAGG,YAAY,GAAGA,YAAY,GAAGE,SAAS;EAEzD,OAAOX,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASY,YAAYA,CAAEZ,KAAK,EAAG;EACrC,MAAM;IACLN,UAAU,EAAE;MAAEC,QAAQ;MAAEkB;IAAM,CAAC;IAC/BC;EACD,CAAC,GAAGd,KAAK;EACT,MAAM,CAAEe,SAAS,CAAE,GAAG,IAAAC,wBAAW,EAAE,sBAAuB,CAAC;EAE3D,MAAMC,QAAQ,GAAKP,KAAK,IAAM;IAC7B,MAAMQ,YAAY,GAAG,IAAAC,mCAAwB,EAAEJ,SAAS,EAAEL,KAAM,CAAC,CAACU,IAAI;IAEtEN,aAAa,CAAE;MACdD,KAAK,EAAE,IAAAQ,uBAAgB,EAAE;QACxB,GAAGR,KAAK;QACRS,UAAU,EAAE;UACX,GAAGT,KAAK,EAAES,UAAU;UACpB3B,QAAQ,EAAEuB,YAAY,GAAGP,SAAS,GAAGD;QACtC;MACD,CAAE,CAAC;MACHf,QAAQ,EAAEuB;IACX,CAAE,CAAC;EACJ,CAAC;EAED,MAAMK,cAAc,GAAG,IAAAC,sBAAW,EACjCT,SAAS,EACTpB,QAAQ,EACRkB,KAAK,EAAES,UAAU,EAAE3B,QACpB,CAAC;EAED,MAAM8B,aAAa,GAClBF,cAAc,EAAEG,IAAI,IAAIb,KAAK,EAAES,UAAU,EAAE3B,QAAQ,IAAIA,QAAQ;EAEhE,OACC,IAAAgC,MAAA,CAAAC,aAAA,EAAC7C,UAAA,CAAA8C,cAAc;IACdZ,QAAQ,EAAGA,QAAU;IACrBP,KAAK,EAAGe,aAAe;IACvBK,SAAS,EAAG,KAAO;IACnBC,UAAU;IACVL,IAAI,EAAC,kBAAkB;IACvBM,uBAAuB;EAAA,CACvB,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAE;EAAEC,IAAI,EAAEC;AAAU,CAAC,GAAG,CAAC,CAAC,EAAG;EACjE,MAAM,CAAEpB,SAAS,CAAE,GAAG,IAAAC,wBAAW,EAAE,sBAAuB,CAAC;EAC3D,MAAMoB,YAAY,GAAG,CAAC,CAAErB,SAAS,EAAEsB,MAAM;EAEzC,OACC,CAAE,IAAA5C,uBAAe,EAAE0C,SAAS,EAAE9C,qBAAsB,CAAC,IAAI,CAAE+C,YAAY;AAEzE;AAEA,SAASE,aAAaA,CAAE;EAAEJ,IAAI;EAAEvC,QAAQ;EAAEkB;AAAM,CAAC,EAAG;EACnD,MAAM,CAAEE,SAAS,CAAE,GAAG,IAAAC,wBAAW,EAAE,sBAAuB,CAAC;;EAE3D;EACA;EACA;EACA;EACA,IACC,CAAE,IAAAvB,uBAAe,EAAEyC,IAAI,EAAE7C,qBAAsB,CAAC,IAChD,IAAAa,8BAAuB,EAAEgC,IAAI,EAAE/B,kCAAsB,EAAE,UAAW,CAAC,IACnE,CAAER,QAAQ,EACT;IACD;EACD;EAEA,IAAIK,KAAK,GAAG,CAAC,CAAC;EAEd,IAAK,CAAEa,KAAK,EAAES,UAAU,EAAE3B,QAAQ,EAAG;IACpCK,KAAK,GAAG;MACPa,KAAK,EAAE;QACNlB,QAAQ,EAAE,IAAA6B,sBAAW,EACpBT,SAAS,EACTpB,QAAQ,EACRkB,KAAK,EAAES,UAAU,EAAE3B,QACpB,CAAC,CAAC+B;MACH;IACD,CAAC;EACF;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA,MAAMa,uBAAuB,GAAG,IAAAC,sDAAqC,EACpE,IAAAC,YAAM,EAAEC,YAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,sBAC1C,CAAC;EAED,IAAKjD,QAAQ,EAAG;IACfK,KAAK,GAAG;MACPa,KAAK,EAAE;QACNlB,QAAQ,EAAE,IAAAkD,2CAA0B,EACnC;UAAEnB,IAAI,EAAE/B;QAAS,CAAC,EAClB4C,uBACD;MACD;IACD,CAAC;EACF;EAEA,OAAOxC,YAAY,CAAEC,KAAK,EAAEkC,IAAI,EAAE;IAAEvC;EAAS,CAAE,CAAC;AACjD;AAAC,IAAAmD,QAAA,GAEc;EACdR,aAAa;EACbvC,YAAY;EACZgD,aAAa,EAAE,CAAE,UAAU,EAAE,OAAO,CAAE;EACtCC,UAAUA,CAAEd,IAAI,EAAG;IAClB,OAAO,IAAAzC,uBAAe,EAAEyC,IAAI,EAAE7C,qBAAsB,CAAC;EACtD;AACD,CAAC;AAAAC,OAAA,CAAA2D,OAAA,GAAAH,QAAA;AAED,MAAMI,eAAe,GAAG;EACvBvD,QAAQ,EAAE,CAAE,CAAE,UAAU,CAAE,EAAE,CAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAE;AAClE,CAAC;AAED,SAASwD,aAAaA,CAAEC,MAAM,EAAEC,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAG;EACxD,MAAMC,oBAAoB,GAAGJ,MAAM,CAAClB,IAAI;EACxC,MAAMuB,cAAc,GAAG;IACtB9D,QAAQ,EAAE,IAAAF,uBAAe,EACxB+D,oBAAoB,EACpBnE,qBACD;EACD,CAAC;EACD,OAAO,IAAAqE,sBAAe,EACrBD,cAAc,EACdP,eAAe,EACfE,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,OACD,CAAC;AACF;AAEA,IAAAI,gBAAS,EACR,0BAA0B,EAC1B,wBAAwB,EACxBpE,aACD,CAAC;AAED,IAAAoE,gBAAS,EACR,2CAA2C,EAC3C,8BAA8B,EAC9BR,aACD,CAAC"}
1
+ {"version":3,"names":["_hooks","require","_blocks","_tokenList","_interopRequireDefault","_fontSizes","_typography","_utils","_useSettings","_typographyUtils","FONT_SIZE_SUPPORT_KEY","exports","addAttributes","settings","hasBlockSupport","attributes","fontSize","Object","assign","type","addSaveProps","props","blockNameOrType","shouldSkipSerialization","TYPOGRAPHY_SUPPORT_KEY","classes","TokenList","className","add","getFontSizeClass","newClassName","value","undefined","FontSizeEdit","style","setAttributes","fontSizes","useSettings","onChange","fontSizeSlug","getFontSizeObjectByValue","slug","cleanEmptyObject","typography","fontSizeObject","getFontSize","fontSizeValue","size","_react","createElement","FontSizePicker","withReset","withSlider","useIsFontSizeDisabled","name","blockName","hasFontSizes","length","useBlockProps","fluidTypographySettings","layoutSettings","fluidSettings","getFluidTypographyOptionsFromSettings","fluid","layout","getTypographyFontSizeValue","_default","default","attributeKeys","hasSupport","MIGRATION_PATHS","addTransforms","result","source","index","results","destinationBlockType","activeSupports","transformStyles","addFilter"],"sources":["@wordpress/block-editor/src/hooks/font-size.js"],"sourcesContent":["/**\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 {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\nimport {\n\tgetTypographyFontSizeValue,\n\tgetFluidTypographyOptionsFromSettings,\n} from '../components/global-styles/typography-utils';\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} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif ( ! hasBlockSupport( blockNameOrType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontSize'\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 * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {Element} 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 ] = useSettings( '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\twithSlider\n\t\t\tsize=\"__unstable-large\"\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 ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\nfunction useBlockProps( { name, fontSize, style } ) {\n\tconst [ fontSizes, fluidTypographySettings, layoutSettings ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\n\t/*\n\t * Only add inline styles if the block supports font sizes,\n\t * doesn't skip serialization of font sizes,\n\t * and has either a custom font size or a preset font size.\n\t */\n\tif (\n\t\t! hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY ) ||\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize' ) ||\n\t\t( ! fontSize && ! style?.typography?.fontSize )\n\t) {\n\t\treturn;\n\t}\n\n\tlet props;\n\n\tif ( style?.typography?.fontSize ) {\n\t\tconst fluidSettings = getFluidTypographyOptionsFromSettings( {\n\t\t\ttypography: {\n\t\t\t\tfluid: fluidTypographySettings,\n\t\t\t},\n\t\t\tlayout: layoutSettings,\n\t\t} );\n\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t\t\t{ size: style.typography.fontSize },\n\t\t\t\t\tfluidSettings\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getFontSize(\n\t\t\t\t\tfontSizes,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle?.typography?.fontSize\n\t\t\t\t).size,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( ! props ) {\n\t\treturn;\n\t}\n\n\treturn addSaveProps( props, name, { fontSize } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontSize', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY );\n\t},\n};\n\nconst MIGRATION_PATHS = {\n\tfontSize: [ [ 'fontSize' ], [ 'style', 'typography', 'fontSize' ] ],\n};\n\nfunction addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tfontSize: hasBlockSupport(\n\t\t\tdestinationBlockType,\n\t\t\tFONT_SIZE_SUPPORT_KEY\n\t\t),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/font-size/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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"}
@@ -107,8 +107,8 @@ var _useSpacingProps = require("./use-spacing-props");
107
107
  var _useTypographyProps = require("./use-typography-props");
108
108
  var _gap = require("./gap");
109
109
  var _useCachedTruthy = require("./use-cached-truthy");
110
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
111
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
110
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
111
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
112
112
  /**
113
113
  * Internal dependencies
114
114
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","_align","_interopRequireDefault","_anchor","_ariaLabel","_customClassName","_style","_color","_dimensions","_interopRequireWildcard","_duotone","_fontFamily","_fontSize","_border","_position","_layout","_layoutChild","_contentLockUi","_blockHooks","_blockRenaming","_useBorderProps","_useShadowProps","_useColorProps","_useSpacingProps","_useTypographyProps","_gap","_useCachedTruthy","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createBlockEditFilter","align","anchor","customClassName","style","duotone","position","layout","contentLockUI","blockHooks","blockRenaming","filter","Boolean","createBlockListBlockFilter","color","dimensions","fontFamily","fontSize","border","childLayout","createBlockSaveFilter","ariaLabel"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateBlockEditFilter,\n\tcreateBlockListBlockFilter,\n\tcreateBlockSaveFilter,\n} from './utils';\nimport './compat';\nimport align from './align';\nimport './lock';\nimport anchor from './anchor';\nimport ariaLabel from './aria-label';\nimport customClassName from './custom-class-name';\nimport './generated-class-name';\nimport style from './style';\nimport './settings';\nimport color from './color';\nimport dimensions from './dimensions';\nimport duotone from './duotone';\nimport fontFamily from './font-family';\nimport fontSize from './font-size';\nimport border from './border';\nimport position from './position';\nimport layout from './layout';\nimport childLayout from './layout-child';\nimport contentLockUI from './content-lock-ui';\nimport './metadata';\nimport blockHooks from './block-hooks';\nimport blockRenaming from './block-renaming';\nimport './use-bindings-attributes';\n\ncreateBlockEditFilter(\n\t[\n\t\talign,\n\t\tanchor,\n\t\tcustomClassName,\n\t\tstyle,\n\t\tduotone,\n\t\tposition,\n\t\tlayout,\n\t\tcontentLockUI,\n\t\tblockHooks,\n\t\tblockRenaming,\n\t].filter( Boolean )\n);\ncreateBlockListBlockFilter( [\n\talign,\n\tstyle,\n\tcolor,\n\tdimensions,\n\tduotone,\n\tfontFamily,\n\tfontSize,\n\tborder,\n\tposition,\n\tchildLayout,\n] );\ncreateBlockSaveFilter( [\n\talign,\n\tanchor,\n\tariaLabel,\n\tcustomClassName,\n\tborder,\n\tcolor,\n\tstyle,\n\tfontFamily,\n\tfontSize,\n] );\n\nexport { useCustomSides } from './dimensions';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getShadowClassesAndStyles } from './use-shadow-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_utils","require","_align","_interopRequireDefault","_anchor","_ariaLabel","_customClassName","_style","_color","_dimensions","_interopRequireWildcard","_duotone","_fontFamily","_fontSize","_border","_position","_layout","_layoutChild","_contentLockUi","_blockHooks","_blockRenaming","_useBorderProps","_useShadowProps","_useColorProps","_useSpacingProps","_useTypographyProps","_gap","_useCachedTruthy","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","createBlockEditFilter","align","anchor","customClassName","style","duotone","position","layout","contentLockUI","blockHooks","blockRenaming","filter","Boolean","createBlockListBlockFilter","color","dimensions","fontFamily","fontSize","border","childLayout","createBlockSaveFilter","ariaLabel"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateBlockEditFilter,\n\tcreateBlockListBlockFilter,\n\tcreateBlockSaveFilter,\n} from './utils';\nimport './compat';\nimport align from './align';\nimport './lock';\nimport anchor from './anchor';\nimport ariaLabel from './aria-label';\nimport customClassName from './custom-class-name';\nimport './generated-class-name';\nimport style from './style';\nimport './settings';\nimport color from './color';\nimport dimensions from './dimensions';\nimport duotone from './duotone';\nimport fontFamily from './font-family';\nimport fontSize from './font-size';\nimport border from './border';\nimport position from './position';\nimport layout from './layout';\nimport childLayout from './layout-child';\nimport contentLockUI from './content-lock-ui';\nimport './metadata';\nimport blockHooks from './block-hooks';\nimport blockRenaming from './block-renaming';\nimport './use-bindings-attributes';\n\ncreateBlockEditFilter(\n\t[\n\t\talign,\n\t\tanchor,\n\t\tcustomClassName,\n\t\tstyle,\n\t\tduotone,\n\t\tposition,\n\t\tlayout,\n\t\tcontentLockUI,\n\t\tblockHooks,\n\t\tblockRenaming,\n\t].filter( Boolean )\n);\ncreateBlockListBlockFilter( [\n\talign,\n\tstyle,\n\tcolor,\n\tdimensions,\n\tduotone,\n\tfontFamily,\n\tfontSize,\n\tborder,\n\tposition,\n\tchildLayout,\n] );\ncreateBlockSaveFilter( [\n\talign,\n\tanchor,\n\tariaLabel,\n\tcustomClassName,\n\tborder,\n\tcolor,\n\tstyle,\n\tfontFamily,\n\tfontSize,\n] );\n\nexport { useCustomSides } from './dimensions';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getShadowClassesAndStyles } from './use-shadow-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\n"],"mappings":"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"}
@@ -57,12 +57,11 @@ function useBlockPropsChildLayoutStyles({
57
57
  className: `wp-container-content-${id}`
58
58
  };
59
59
  }
60
- var _default = {
60
+ var _default = exports.default = {
61
61
  useBlockProps: useBlockPropsChildLayoutStyles,
62
62
  attributeKeys: ['style'],
63
63
  hasSupport() {
64
64
  return true;
65
65
  }
66
66
  };
67
- exports.default = _default;
68
67
  //# sourceMappingURL=layout-child.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_data","_store","_utils","useBlockPropsChildLayoutStyles","style","_style$layout","shouldRenderChildLayoutStyles","useSelect","select","blockEditorStore","getSettings","disableLayoutStyles","layout","selfStretch","flexSize","id","useInstanceId","selector","css","useStyleOverride","className","_default","useBlockProps","attributeKeys","hasSupport","exports","default"],"sources":["@wordpress/block-editor/src/hooks/layout-child.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { useStyleOverride } from './utils';\n\nfunction useBlockPropsChildLayoutStyles( { style } ) {\n\tconst shouldRenderChildLayoutStyles = useSelect( ( select ) => {\n\t\treturn ! select( blockEditorStore ).getSettings().disableLayoutStyles;\n\t} );\n\tconst layout = style?.layout ?? {};\n\tconst { selfStretch, flexSize } = layout;\n\tconst id = useInstanceId( useBlockPropsChildLayoutStyles );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\tlet css = '';\n\tif ( shouldRenderChildLayoutStyles ) {\n\t\tif ( selfStretch === 'fixed' && flexSize ) {\n\t\t\tcss = `${ selector } {\n\t\t\t\tflex-basis: ${ flexSize };\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}`;\n\t\t} else if ( selfStretch === 'fill' ) {\n\t\t\tcss = `${ selector } {\n\t\t\t\tflex-grow: 1;\n\t\t\t}`;\n\t\t}\n\t}\n\n\tuseStyleOverride( { css } );\n\n\t// Only attach a container class if there is generated CSS to be attached.\n\tif ( ! css ) {\n\t\treturn;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\treturn { className: `wp-container-content-${ id }` };\n}\n\nexport default {\n\tuseBlockProps: useBlockPropsChildLayoutStyles,\n\tattributeKeys: [ 'style' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,SAASI,8BAA8BA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAAA,IAAAC,aAAA;EACpD,MAAMC,6BAA6B,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9D,OAAO,CAAEA,MAAM,CAAEC,YAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,mBAAmB;EACtE,CAAE,CAAC;EACH,MAAMC,MAAM,IAAAP,aAAA,GAAGD,KAAK,EAAEQ,MAAM,cAAAP,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;EAClC,MAAM;IAAEQ,WAAW;IAAEC;EAAS,CAAC,GAAGF,MAAM;EACxC,MAAMG,EAAE,GAAG,IAAAC,sBAAa,EAAEb,8BAA+B,CAAC;EAC1D,MAAMc,QAAQ,GAAI,yBAAyBF,EAAI,EAAC;EAEhD,IAAIG,GAAG,GAAG,EAAE;EACZ,IAAKZ,6BAA6B,EAAG;IACpC,IAAKO,WAAW,KAAK,OAAO,IAAIC,QAAQ,EAAG;MAC1CI,GAAG,GAAI,GAAGD,QAAU;AACvB,kBAAmBH,QAAU;AAC7B;AACA,KAAK;IACH,CAAC,MAAM,IAAKD,WAAW,KAAK,MAAM,EAAG;MACpCK,GAAG,GAAI,GAAGD,QAAU;AACvB;AACA,KAAK;IACH;EACD;EAEA,IAAAE,uBAAgB,EAAE;IAAED;EAAI,CAAE,CAAC;;EAE3B;EACA,IAAK,CAAEA,GAAG,EAAG;IACZ;EACD;;EAEA;EACA,OAAO;IAAEE,SAAS,EAAG,wBAAwBL,EAAI;EAAE,CAAC;AACrD;AAAC,IAAAM,QAAA,GAEc;EACdC,aAAa,EAAEnB,8BAA8B;EAC7CoB,aAAa,EAAE,CAAE,OAAO,CAAE;EAC1BC,UAAUA,CAAA,EAAG;IACZ,OAAO,IAAI;EACZ;AACD,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAL,QAAA"}
1
+ {"version":3,"names":["_compose","require","_data","_store","_utils","useBlockPropsChildLayoutStyles","style","_style$layout","shouldRenderChildLayoutStyles","useSelect","select","blockEditorStore","getSettings","disableLayoutStyles","layout","selfStretch","flexSize","id","useInstanceId","selector","css","useStyleOverride","className","_default","exports","default","useBlockProps","attributeKeys","hasSupport"],"sources":["@wordpress/block-editor/src/hooks/layout-child.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { useStyleOverride } from './utils';\n\nfunction useBlockPropsChildLayoutStyles( { style } ) {\n\tconst shouldRenderChildLayoutStyles = useSelect( ( select ) => {\n\t\treturn ! select( blockEditorStore ).getSettings().disableLayoutStyles;\n\t} );\n\tconst layout = style?.layout ?? {};\n\tconst { selfStretch, flexSize } = layout;\n\tconst id = useInstanceId( useBlockPropsChildLayoutStyles );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\tlet css = '';\n\tif ( shouldRenderChildLayoutStyles ) {\n\t\tif ( selfStretch === 'fixed' && flexSize ) {\n\t\t\tcss = `${ selector } {\n\t\t\t\tflex-basis: ${ flexSize };\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}`;\n\t\t} else if ( selfStretch === 'fill' ) {\n\t\t\tcss = `${ selector } {\n\t\t\t\tflex-grow: 1;\n\t\t\t}`;\n\t\t}\n\t}\n\n\tuseStyleOverride( { css } );\n\n\t// Only attach a container class if there is generated CSS to be attached.\n\tif ( ! css ) {\n\t\treturn;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\treturn { className: `wp-container-content-${ id }` };\n}\n\nexport default {\n\tuseBlockProps: useBlockPropsChildLayoutStyles,\n\tattributeKeys: [ 'style' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,SAASI,8BAA8BA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAAA,IAAAC,aAAA;EACpD,MAAMC,6BAA6B,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9D,OAAO,CAAEA,MAAM,CAAEC,YAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,mBAAmB;EACtE,CAAE,CAAC;EACH,MAAMC,MAAM,IAAAP,aAAA,GAAGD,KAAK,EAAEQ,MAAM,cAAAP,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;EAClC,MAAM;IAAEQ,WAAW;IAAEC;EAAS,CAAC,GAAGF,MAAM;EACxC,MAAMG,EAAE,GAAG,IAAAC,sBAAa,EAAEb,8BAA+B,CAAC;EAC1D,MAAMc,QAAQ,GAAI,yBAAyBF,EAAI,EAAC;EAEhD,IAAIG,GAAG,GAAG,EAAE;EACZ,IAAKZ,6BAA6B,EAAG;IACpC,IAAKO,WAAW,KAAK,OAAO,IAAIC,QAAQ,EAAG;MAC1CI,GAAG,GAAI,GAAGD,QAAU;AACvB,kBAAmBH,QAAU;AAC7B;AACA,KAAK;IACH,CAAC,MAAM,IAAKD,WAAW,KAAK,MAAM,EAAG;MACpCK,GAAG,GAAI,GAAGD,QAAU;AACvB;AACA,KAAK;IACH;EACD;EAEA,IAAAE,uBAAgB,EAAE;IAAED;EAAI,CAAE,CAAC;;EAE3B;EACA,IAAK,CAAEA,GAAG,EAAG;IACZ;EACD;;EAEA;EACA,OAAO;IAAEE,SAAS,EAAG,wBAAwBL,EAAI;EAAE,CAAC;AACrD;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc;EACdC,aAAa,EAAErB,8BAA8B;EAC7CsB,aAAa,EAAE,CAAE,OAAO,CAAE;EAC1BC,UAAUA,CAAA,EAAG;IACZ,OAAO,IAAI;EACZ;AACD,CAAC"}
@@ -227,7 +227,7 @@ function LayoutPanelPure({
227
227
  layoutBlockSupport: layoutBlockSupport
228
228
  }));
229
229
  }
230
- var _default = {
230
+ var _default = exports.default = {
231
231
  shareWithChildBlocks: true,
232
232
  edit: LayoutPanelPure,
233
233
  attributeKeys: ['layout'],
@@ -235,7 +235,6 @@ var _default = {
235
235
  return hasLayoutBlockSupport(name);
236
236
  }
237
237
  };
238
- exports.default = _default;
239
238
  function LayoutTypeSwitcher({
240
239
  type,
241
240
  onChange
@@ -334,7 +333,7 @@ function BlockWithLayoutStyles({
334
333
  *
335
334
  * @return {Function} Wrapped component.
336
335
  */
337
- const withLayoutStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock => props => {
336
+ const withLayoutStyles = exports.withLayoutStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock => props => {
338
337
  const blockSupportsLayout = hasLayoutBlockSupport(props.name);
339
338
  const shouldRenderLayoutStyles = (0, _data.useSelect)(select => {
340
339
  // The callback returns early to avoid block editor subscription.
@@ -353,7 +352,6 @@ const withLayoutStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock
353
352
  props: props
354
353
  });
355
354
  }, 'withLayoutStyles');
356
- exports.withLayoutStyles = withLayoutStyles;
357
355
  (0, _hooks.addFilter)('blocks.registerBlockType', 'core/layout/addAttribute', addAttribute);
358
356
  (0, _hooks.addFilter)('editor.BlockListBlock', 'core/editor/layout/with-layout-styles', withLayoutStyles);
359
357
  //# sourceMappingURL=layout.js.map