@wordpress/block-editor 14.0.0 → 14.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (807) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +10 -24
  3. package/build/autocompleters/block.js +1 -1
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-alignment-matrix-control/index.js +2 -2
  6. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  7. package/build/components/block-breadcrumb/index.js +8 -2
  8. package/build/components/block-breadcrumb/index.js.map +1 -1
  9. package/build/components/block-canvas/index.js +8 -1
  10. package/build/components/block-canvas/index.js.map +1 -1
  11. package/build/components/block-compare/block-view.js +4 -1
  12. package/build/components/block-compare/block-view.js.map +1 -1
  13. package/build/components/block-draggable/index.js +4 -4
  14. package/build/components/block-draggable/index.js.map +1 -1
  15. package/build/components/block-draggable/use-scroll-when-dragging.js +25 -25
  16. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  17. package/build/components/block-edit/multiple-usage-warning.js +8 -2
  18. package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
  19. package/build/components/block-inspector/index.js +27 -9
  20. package/build/components/block-inspector/index.js.map +1 -1
  21. package/build/components/block-list/block-invalid-warning.js +6 -3
  22. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  23. package/build/components/block-list/block.js +5 -1
  24. package/build/components/block-list/block.js.map +1 -1
  25. package/build/components/block-list/use-block-props/index.js +7 -3
  26. package/build/components/block-list/use-block-props/index.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  28. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  29. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +46 -0
  30. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  31. package/build/components/block-list/use-in-between-inserter.js +11 -4
  32. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  33. package/build/components/block-lock/toolbar.js +3 -3
  34. package/build/components/block-lock/toolbar.js.map +1 -1
  35. package/build/components/block-mover/button.js +4 -1
  36. package/build/components/block-mover/button.js.map +1 -1
  37. package/build/components/block-mover/index.js +4 -1
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-navigation/dropdown.js +4 -1
  40. package/build/components/block-navigation/dropdown.js.map +1 -1
  41. package/build/components/block-pattern-setup/index.js +1 -4
  42. package/build/components/block-pattern-setup/index.js.map +1 -1
  43. package/build/components/block-pattern-setup/setup-toolbar.js +22 -7
  44. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  45. package/build/components/block-patterns-list/index.js +11 -14
  46. package/build/components/block-patterns-list/index.js.map +1 -1
  47. package/build/components/block-patterns-paging/index.js +12 -3
  48. package/build/components/block-patterns-paging/index.js.map +1 -1
  49. package/build/components/block-popover/index.js +2 -15
  50. package/build/components/block-popover/index.js.map +1 -1
  51. package/build/components/block-quick-navigation/index.js +4 -1
  52. package/build/components/block-quick-navigation/index.js.map +1 -1
  53. package/build/components/block-settings-menu/block-mode-toggle.js +28 -34
  54. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  55. package/build/components/block-settings-menu-controls/index.js +4 -0
  56. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  57. package/build/components/block-switcher/index.js +22 -17
  58. package/build/components/block-switcher/index.js.map +1 -1
  59. package/build/components/block-switcher/pattern-transformations-menu.js +1 -4
  60. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  61. package/build/components/block-toolbar/index.js +12 -11
  62. package/build/components/block-toolbar/index.js.map +1 -1
  63. package/build/components/block-toolbar/shuffle.js +6 -2
  64. package/build/components/block-toolbar/shuffle.js.map +1 -1
  65. package/build/components/block-tools/block-selection-button.js +8 -2
  66. package/build/components/block-tools/block-selection-button.js.map +1 -1
  67. package/build/components/block-tools/block-toolbar-popover.js +10 -6
  68. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  69. package/build/components/block-tools/insertion-point.js +14 -3
  70. package/build/components/block-tools/insertion-point.js.map +1 -1
  71. package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  72. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  73. package/build/components/block-tools/use-show-block-tools.js +2 -1
  74. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  75. package/build/components/block-tools/zoom-out-mode-inserters.js +4 -5
  76. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  77. package/build/components/block-tools/zoom-out-popover.js +3 -4
  78. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  79. package/build/components/block-tools/zoom-out-toolbar.js +14 -5
  80. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  81. package/build/components/block-variation-picker/index.js +4 -1
  82. package/build/components/block-variation-picker/index.js.map +1 -1
  83. package/build/components/block-variation-transforms/index.js +4 -1
  84. package/build/components/block-variation-transforms/index.js.map +1 -1
  85. package/build/components/border-radius-control/index.js +1 -0
  86. package/build/components/border-radius-control/index.js.map +1 -1
  87. package/build/components/button-block-appender/index.js +14 -3
  88. package/build/components/button-block-appender/index.js.map +1 -1
  89. package/build/components/colors-gradients/dropdown.js +4 -1
  90. package/build/components/colors-gradients/dropdown.js.map +1 -1
  91. package/build/components/content-lock/index.js +13 -0
  92. package/build/components/content-lock/index.js.map +1 -0
  93. package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
  94. package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  95. package/build/components/convert-to-group-buttons/index.js +1 -1
  96. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  97. package/build/components/date-format-picker/index.js +2 -0
  98. package/build/components/date-format-picker/index.js.map +1 -1
  99. package/build/components/editor-styles/index.js +4 -3
  100. package/build/components/editor-styles/index.js.map +1 -1
  101. package/build/components/font-appearance-control/index.js +3 -0
  102. package/build/components/font-appearance-control/index.js.map +1 -1
  103. package/build/components/font-family/index.js +3 -0
  104. package/build/components/font-family/index.js.map +1 -1
  105. package/build/components/global-styles/background-panel.js +118 -50
  106. package/build/components/global-styles/background-panel.js.map +1 -1
  107. package/build/components/global-styles/color-panel.js +8 -5
  108. package/build/components/global-styles/color-panel.js.map +1 -1
  109. package/build/components/global-styles/color-panel.native.js +1 -1
  110. package/build/components/global-styles/color-panel.native.js.map +1 -1
  111. package/build/components/global-styles/dimensions-panel.js +34 -37
  112. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  113. package/build/components/global-styles/filters-panel.js +4 -1
  114. package/build/components/global-styles/filters-panel.js.map +1 -1
  115. package/build/components/global-styles/get-global-styles-changes.js +3 -1
  116. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  117. package/build/components/global-styles/hooks.js +0 -7
  118. package/build/components/global-styles/hooks.js.map +1 -1
  119. package/build/components/global-styles/index.js +0 -6
  120. package/build/components/global-styles/index.js.map +1 -1
  121. package/build/components/global-styles/shadow-panel-components.js +13 -7
  122. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  123. package/build/components/global-styles/typography-utils.js +17 -6
  124. package/build/components/global-styles/typography-utils.js.map +1 -1
  125. package/build/components/global-styles/use-global-styles-output.js +3 -3
  126. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  127. package/build/components/global-styles/utils.js +11 -29
  128. package/build/components/global-styles/utils.js.map +1 -1
  129. package/build/components/grid/grid-item-movers.js +2 -2
  130. package/build/components/grid/grid-item-movers.js.map +1 -1
  131. package/build/components/grid/grid-visualizer.js +20 -5
  132. package/build/components/grid/grid-visualizer.js.map +1 -1
  133. package/build/components/height-control/index.js +1 -0
  134. package/build/components/height-control/index.js.map +1 -1
  135. package/build/components/iframe/index.js +8 -6
  136. package/build/components/iframe/index.js.map +1 -1
  137. package/build/components/image-editor/zoom-dropdown.js +11 -7
  138. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  139. package/build/components/inner-blocks/button-block-appender.js +8 -8
  140. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  141. package/build/components/inner-blocks/default-block-appender.js +7 -25
  142. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  143. package/build/components/inner-blocks/index.js +8 -12
  144. package/build/components/inner-blocks/index.js.map +1 -1
  145. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  146. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  147. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  148. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  149. package/build/components/inserter/block-patterns-tab/index.js +4 -1
  150. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  151. package/build/components/inserter/media-tab/hooks.js +3 -3
  152. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  153. package/build/components/inserter/media-tab/media-list.js +1 -4
  154. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  155. package/build/components/inserter/media-tab/media-preview.js +8 -2
  156. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  157. package/build/components/inserter/media-tab/media-tab.js +4 -1
  158. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  159. package/build/components/inserter/menu.js +14 -13
  160. package/build/components/inserter/menu.js.map +1 -1
  161. package/build/components/inserter/quick-inserter.js +8 -1
  162. package/build/components/inserter/quick-inserter.js.map +1 -1
  163. package/build/components/inserter-list-item/index.js +4 -4
  164. package/build/components/inserter-list-item/index.js.map +1 -1
  165. package/build/components/inserter-listbox/index.js +3 -7
  166. package/build/components/inserter-listbox/index.js.map +1 -1
  167. package/build/components/inserter-listbox/item.js +4 -1
  168. package/build/components/inserter-listbox/item.js.map +1 -1
  169. package/build/components/inspector-controls/groups.js +2 -0
  170. package/build/components/inspector-controls/groups.js.map +1 -1
  171. package/build/components/inspector-controls-tabs/index.js +4 -1
  172. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  173. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  174. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  175. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  176. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  177. package/build/components/inspector-popover-header/index.js +8 -2
  178. package/build/components/inspector-popover-header/index.js.map +1 -1
  179. package/build/components/letter-spacing-control/index.js +7 -4
  180. package/build/components/letter-spacing-control/index.js.map +1 -1
  181. package/build/components/line-height-control/index.js +3 -0
  182. package/build/components/line-height-control/index.js.map +1 -1
  183. package/build/components/link-control/index.js +19 -10
  184. package/build/components/link-control/index.js.map +1 -1
  185. package/build/components/link-control/settings-drawer.js +4 -1
  186. package/build/components/link-control/settings-drawer.js.map +1 -1
  187. package/build/components/list-view/block-select-button.js +4 -1
  188. package/build/components/list-view/block-select-button.js.map +1 -1
  189. package/build/components/media-placeholder/index.js +36 -10
  190. package/build/components/media-placeholder/index.js.map +1 -1
  191. package/build/components/media-replace-flow/index.js +8 -1
  192. package/build/components/media-replace-flow/index.js.map +1 -1
  193. package/build/components/media-upload/index.native.js +4 -1
  194. package/build/components/media-upload/index.native.js.map +1 -1
  195. package/build/components/multi-selection-inspector/index.js +12 -12
  196. package/build/components/multi-selection-inspector/index.js.map +1 -1
  197. package/build/components/provider/use-block-sync.js +19 -19
  198. package/build/components/provider/use-block-sync.js.map +1 -1
  199. package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
  200. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  201. package/build/components/rich-text/index.js +38 -30
  202. package/build/components/rich-text/index.js.map +1 -1
  203. package/build/components/rich-text/use-mark-persistent.js +5 -5
  204. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  205. package/build/components/skip-to-selected-block/index.js +4 -1
  206. package/build/components/skip-to-selected-block/index.js.map +1 -1
  207. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  208. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  209. package/build/components/text-alignment-control/index.js +13 -8
  210. package/build/components/text-alignment-control/index.js.map +1 -1
  211. package/build/components/text-decoration-control/index.js +13 -8
  212. package/build/components/text-decoration-control/index.js.map +1 -1
  213. package/build/components/text-transform-control/index.js +13 -8
  214. package/build/components/text-transform-control/index.js.map +1 -1
  215. package/build/components/tool-selector/index.js +4 -1
  216. package/build/components/tool-selector/index.js.map +1 -1
  217. package/build/components/url-input/button.js +12 -3
  218. package/build/components/url-input/button.js.map +1 -1
  219. package/build/components/url-input/index.js +4 -1
  220. package/build/components/url-input/index.js.map +1 -1
  221. package/build/components/url-popover/image-url-input-ui.js +2 -0
  222. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  223. package/build/components/use-block-drop-zone/index.js +12 -2
  224. package/build/components/use-block-drop-zone/index.js.map +1 -1
  225. package/build/components/writing-flow/index.js +2 -1
  226. package/build/components/writing-flow/index.js.map +1 -1
  227. package/build/components/writing-flow/use-arrow-nav.js +4 -1
  228. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  229. package/build/components/writing-flow/use-event-redirect.js +66 -0
  230. package/build/components/writing-flow/use-event-redirect.js.map +1 -0
  231. package/build/components/writing-flow/use-input.js +31 -1
  232. package/build/components/writing-flow/use-input.js.map +1 -1
  233. package/build/components/writing-flow/use-select-all.js +14 -1
  234. package/build/components/writing-flow/use-select-all.js.map +1 -1
  235. package/build/components/writing-flow/use-selection-observer.js +20 -6
  236. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  237. package/build/components/writing-flow/use-tab-nav.js +4 -4
  238. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  239. package/build/components/writing-flow/utils.js +27 -0
  240. package/build/components/writing-flow/utils.js.map +1 -1
  241. package/build/components/writing-mode-control/index.js +13 -8
  242. package/build/components/writing-mode-control/index.js.map +1 -1
  243. package/build/hooks/background.js +19 -23
  244. package/build/hooks/background.js.map +1 -1
  245. package/build/hooks/block-bindings.js +64 -103
  246. package/build/hooks/block-bindings.js.map +1 -1
  247. package/build/hooks/content-lock-ui.js +8 -26
  248. package/build/hooks/content-lock-ui.js.map +1 -1
  249. package/build/hooks/duotone.js +0 -4
  250. package/build/hooks/duotone.js.map +1 -1
  251. package/build/hooks/layout.js +4 -1
  252. package/build/hooks/layout.js.map +1 -1
  253. package/build/hooks/spacing-visualizer.js +3 -3
  254. package/build/hooks/spacing-visualizer.js.map +1 -1
  255. package/build/hooks/style.js +1 -5
  256. package/build/hooks/style.js.map +1 -1
  257. package/build/hooks/use-bindings-attributes.js +19 -20
  258. package/build/hooks/use-bindings-attributes.js.map +1 -1
  259. package/build/hooks/use-zoom-out.js +7 -7
  260. package/build/hooks/use-zoom-out.js.map +1 -1
  261. package/build/layouts/constrained.js +42 -41
  262. package/build/layouts/constrained.js.map +1 -1
  263. package/build/layouts/flex.js +6 -1
  264. package/build/layouts/flex.js.map +1 -1
  265. package/build/layouts/grid.js +3 -0
  266. package/build/layouts/grid.js.map +1 -1
  267. package/build/layouts/utils.js +1 -7
  268. package/build/layouts/utils.js.map +1 -1
  269. package/build/private-apis.js +4 -1
  270. package/build/private-apis.js.map +1 -1
  271. package/build/store/actions.js +2 -7
  272. package/build/store/actions.js.map +1 -1
  273. package/build/store/private-actions.js +1 -0
  274. package/build/store/private-actions.js.map +1 -1
  275. package/build/store/private-keys.js +2 -1
  276. package/build/store/private-keys.js.map +1 -1
  277. package/build/store/private-selectors.js +39 -11
  278. package/build/store/private-selectors.js.map +1 -1
  279. package/build/store/reducer.js +2 -0
  280. package/build/store/reducer.js.map +1 -1
  281. package/build/store/selectors.js +19 -43
  282. package/build/store/selectors.js.map +1 -1
  283. package/build/store/utils.js +48 -0
  284. package/build/store/utils.js.map +1 -1
  285. package/build/utils/block-bindings.js +117 -0
  286. package/build/utils/block-bindings.js.map +1 -0
  287. package/build/utils/dom.js +101 -0
  288. package/build/utils/dom.js.map +1 -1
  289. package/build/utils/get-font-styles-and-weights.js +4 -4
  290. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  291. package/build/utils/transform-styles/index.js +120 -16
  292. package/build/utils/transform-styles/index.js.map +1 -1
  293. package/build-module/autocompleters/block.js +1 -1
  294. package/build-module/autocompleters/block.js.map +1 -1
  295. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  296. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  297. package/build-module/components/block-breadcrumb/index.js +8 -2
  298. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  299. package/build-module/components/block-canvas/index.js +9 -1
  300. package/build-module/components/block-canvas/index.js.map +1 -1
  301. package/build-module/components/block-compare/block-view.js +4 -1
  302. package/build-module/components/block-compare/block-view.js.map +1 -1
  303. package/build-module/components/block-draggable/index.js +4 -4
  304. package/build-module/components/block-draggable/index.js.map +1 -1
  305. package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
  306. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  307. package/build-module/components/block-edit/multiple-usage-warning.js +8 -2
  308. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  309. package/build-module/components/block-inspector/index.js +27 -9
  310. package/build-module/components/block-inspector/index.js.map +1 -1
  311. package/build-module/components/block-list/block-invalid-warning.js +6 -3
  312. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  313. package/build-module/components/block-list/block.js +5 -1
  314. package/build-module/components/block-list/block.js.map +1 -1
  315. package/build-module/components/block-list/use-block-props/index.js +7 -3
  316. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  317. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  318. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  319. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +40 -0
  320. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  321. package/build-module/components/block-list/use-in-between-inserter.js +11 -4
  322. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  323. package/build-module/components/block-lock/toolbar.js +3 -3
  324. package/build-module/components/block-lock/toolbar.js.map +1 -1
  325. package/build-module/components/block-mover/button.js +4 -1
  326. package/build-module/components/block-mover/button.js.map +1 -1
  327. package/build-module/components/block-mover/index.js +4 -1
  328. package/build-module/components/block-mover/index.js.map +1 -1
  329. package/build-module/components/block-navigation/dropdown.js +4 -1
  330. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  331. package/build-module/components/block-pattern-setup/index.js +1 -4
  332. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  333. package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
  334. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  335. package/build-module/components/block-patterns-list/index.js +11 -14
  336. package/build-module/components/block-patterns-list/index.js.map +1 -1
  337. package/build-module/components/block-patterns-paging/index.js +12 -3
  338. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  339. package/build-module/components/block-popover/index.js +2 -15
  340. package/build-module/components/block-popover/index.js.map +1 -1
  341. package/build-module/components/block-quick-navigation/index.js +4 -1
  342. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  343. package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
  344. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  345. package/build-module/components/block-settings-menu-controls/index.js +4 -0
  346. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  347. package/build-module/components/block-switcher/index.js +22 -17
  348. package/build-module/components/block-switcher/index.js.map +1 -1
  349. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -4
  350. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  351. package/build-module/components/block-toolbar/index.js +12 -11
  352. package/build-module/components/block-toolbar/index.js.map +1 -1
  353. package/build-module/components/block-toolbar/shuffle.js +6 -2
  354. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  355. package/build-module/components/block-tools/block-selection-button.js +8 -2
  356. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  357. package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
  358. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  359. package/build-module/components/block-tools/insertion-point.js +14 -3
  360. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  361. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  362. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  363. package/build-module/components/block-tools/use-show-block-tools.js +2 -1
  364. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  365. package/build-module/components/block-tools/zoom-out-mode-inserters.js +4 -5
  366. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  367. package/build-module/components/block-tools/zoom-out-popover.js +3 -4
  368. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  369. package/build-module/components/block-tools/zoom-out-toolbar.js +15 -6
  370. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  371. package/build-module/components/block-variation-picker/index.js +4 -1
  372. package/build-module/components/block-variation-picker/index.js.map +1 -1
  373. package/build-module/components/block-variation-transforms/index.js +4 -1
  374. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  375. package/build-module/components/border-radius-control/index.js +1 -0
  376. package/build-module/components/border-radius-control/index.js.map +1 -1
  377. package/build-module/components/button-block-appender/index.js +15 -4
  378. package/build-module/components/button-block-appender/index.js.map +1 -1
  379. package/build-module/components/colors-gradients/dropdown.js +4 -1
  380. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  381. package/build-module/components/content-lock/index.js +2 -0
  382. package/build-module/components/content-lock/index.js.map +1 -0
  383. package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
  384. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  385. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  386. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  387. package/build-module/components/date-format-picker/index.js +2 -0
  388. package/build-module/components/date-format-picker/index.js.map +1 -1
  389. package/build-module/components/editor-styles/index.js +4 -3
  390. package/build-module/components/editor-styles/index.js.map +1 -1
  391. package/build-module/components/font-appearance-control/index.js +3 -0
  392. package/build-module/components/font-appearance-control/index.js.map +1 -1
  393. package/build-module/components/font-family/index.js +3 -0
  394. package/build-module/components/font-family/index.js.map +1 -1
  395. package/build-module/components/global-styles/background-panel.js +121 -53
  396. package/build-module/components/global-styles/background-panel.js.map +1 -1
  397. package/build-module/components/global-styles/color-panel.js +7 -4
  398. package/build-module/components/global-styles/color-panel.js.map +1 -1
  399. package/build-module/components/global-styles/color-panel.native.js +2 -2
  400. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  401. package/build-module/components/global-styles/dimensions-panel.js +36 -39
  402. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  403. package/build-module/components/global-styles/filters-panel.js +4 -1
  404. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  405. package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
  406. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  407. package/build-module/components/global-styles/hooks.js +0 -6
  408. package/build-module/components/global-styles/hooks.js.map +1 -1
  409. package/build-module/components/global-styles/index.js +1 -1
  410. package/build-module/components/global-styles/index.js.map +1 -1
  411. package/build-module/components/global-styles/shadow-panel-components.js +13 -7
  412. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  413. package/build-module/components/global-styles/typography-utils.js +17 -6
  414. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  415. package/build-module/components/global-styles/use-global-styles-output.js +5 -5
  416. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  417. package/build-module/components/global-styles/utils.js +11 -28
  418. package/build-module/components/global-styles/utils.js.map +1 -1
  419. package/build-module/components/grid/grid-item-movers.js +3 -3
  420. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  421. package/build-module/components/grid/grid-visualizer.js +20 -5
  422. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  423. package/build-module/components/height-control/index.js +1 -0
  424. package/build-module/components/height-control/index.js.map +1 -1
  425. package/build-module/components/iframe/index.js +8 -6
  426. package/build-module/components/iframe/index.js.map +1 -1
  427. package/build-module/components/image-editor/zoom-dropdown.js +12 -8
  428. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  429. package/build-module/components/inner-blocks/button-block-appender.js +7 -6
  430. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  431. package/build-module/components/inner-blocks/default-block-appender.js +6 -23
  432. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  433. package/build-module/components/inner-blocks/index.js +8 -12
  434. package/build-module/components/inner-blocks/index.js.map +1 -1
  435. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  436. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  437. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  438. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  439. package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
  440. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  441. package/build-module/components/inserter/media-tab/hooks.js +3 -3
  442. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  443. package/build-module/components/inserter/media-tab/media-list.js +1 -4
  444. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  445. package/build-module/components/inserter/media-tab/media-preview.js +8 -2
  446. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  447. package/build-module/components/inserter/media-tab/media-tab.js +4 -1
  448. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  449. package/build-module/components/inserter/menu.js +14 -13
  450. package/build-module/components/inserter/menu.js.map +1 -1
  451. package/build-module/components/inserter/quick-inserter.js +9 -2
  452. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  453. package/build-module/components/inserter-list-item/index.js +4 -4
  454. package/build-module/components/inserter-list-item/index.js.map +1 -1
  455. package/build-module/components/inserter-listbox/index.js +3 -7
  456. package/build-module/components/inserter-listbox/index.js.map +1 -1
  457. package/build-module/components/inserter-listbox/item.js +4 -1
  458. package/build-module/components/inserter-listbox/item.js.map +1 -1
  459. package/build-module/components/inspector-controls/groups.js +2 -0
  460. package/build-module/components/inspector-controls/groups.js.map +1 -1
  461. package/build-module/components/inspector-controls-tabs/index.js +4 -1
  462. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  463. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
  464. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  465. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  466. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  467. package/build-module/components/inspector-popover-header/index.js +8 -2
  468. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  469. package/build-module/components/letter-spacing-control/index.js +7 -4
  470. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  471. package/build-module/components/line-height-control/index.js +3 -0
  472. package/build-module/components/line-height-control/index.js.map +1 -1
  473. package/build-module/components/link-control/index.js +19 -10
  474. package/build-module/components/link-control/index.js.map +1 -1
  475. package/build-module/components/link-control/settings-drawer.js +4 -1
  476. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  477. package/build-module/components/list-view/block-select-button.js +4 -1
  478. package/build-module/components/list-view/block-select-button.js.map +1 -1
  479. package/build-module/components/media-placeholder/index.js +36 -10
  480. package/build-module/components/media-placeholder/index.js.map +1 -1
  481. package/build-module/components/media-replace-flow/index.js +8 -1
  482. package/build-module/components/media-replace-flow/index.js.map +1 -1
  483. package/build-module/components/media-upload/index.native.js +4 -1
  484. package/build-module/components/media-upload/index.native.js.map +1 -1
  485. package/build-module/components/multi-selection-inspector/index.js +12 -12
  486. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  487. package/build-module/components/provider/use-block-sync.js +19 -19
  488. package/build-module/components/provider/use-block-sync.js.map +1 -1
  489. package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
  490. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  491. package/build-module/components/rich-text/index.js +39 -31
  492. package/build-module/components/rich-text/index.js.map +1 -1
  493. package/build-module/components/rich-text/use-mark-persistent.js +5 -5
  494. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  495. package/build-module/components/skip-to-selected-block/index.js +4 -1
  496. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  497. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  498. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  499. package/build-module/components/text-alignment-control/index.js +13 -8
  500. package/build-module/components/text-alignment-control/index.js.map +1 -1
  501. package/build-module/components/text-decoration-control/index.js +13 -8
  502. package/build-module/components/text-decoration-control/index.js.map +1 -1
  503. package/build-module/components/text-transform-control/index.js +13 -8
  504. package/build-module/components/text-transform-control/index.js.map +1 -1
  505. package/build-module/components/tool-selector/index.js +4 -1
  506. package/build-module/components/tool-selector/index.js.map +1 -1
  507. package/build-module/components/url-input/button.js +12 -3
  508. package/build-module/components/url-input/button.js.map +1 -1
  509. package/build-module/components/url-input/index.js +4 -1
  510. package/build-module/components/url-input/index.js.map +1 -1
  511. package/build-module/components/url-popover/image-url-input-ui.js +2 -0
  512. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  513. package/build-module/components/use-block-drop-zone/index.js +12 -2
  514. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  515. package/build-module/components/writing-flow/index.js +2 -1
  516. package/build-module/components/writing-flow/index.js.map +1 -1
  517. package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
  518. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  519. package/build-module/components/writing-flow/use-event-redirect.js +60 -0
  520. package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
  521. package/build-module/components/writing-flow/use-input.js +31 -1
  522. package/build-module/components/writing-flow/use-input.js.map +1 -1
  523. package/build-module/components/writing-flow/use-select-all.js +14 -1
  524. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  525. package/build-module/components/writing-flow/use-selection-observer.js +16 -2
  526. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  527. package/build-module/components/writing-flow/use-tab-nav.js +4 -4
  528. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  529. package/build-module/components/writing-flow/utils.js +26 -0
  530. package/build-module/components/writing-flow/utils.js.map +1 -1
  531. package/build-module/components/writing-mode-control/index.js +13 -8
  532. package/build-module/components/writing-mode-control/index.js.map +1 -1
  533. package/build-module/hooks/background.js +19 -23
  534. package/build-module/hooks/background.js.map +1 -1
  535. package/build-module/hooks/block-bindings.js +66 -105
  536. package/build-module/hooks/block-bindings.js.map +1 -1
  537. package/build-module/hooks/content-lock-ui.js +10 -30
  538. package/build-module/hooks/content-lock-ui.js.map +1 -1
  539. package/build-module/hooks/duotone.js +0 -4
  540. package/build-module/hooks/duotone.js.map +1 -1
  541. package/build-module/hooks/layout.js +4 -1
  542. package/build-module/hooks/layout.js.map +1 -1
  543. package/build-module/hooks/spacing-visualizer.js +3 -3
  544. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  545. package/build-module/hooks/style.js +1 -5
  546. package/build-module/hooks/style.js.map +1 -1
  547. package/build-module/hooks/use-bindings-attributes.js +19 -20
  548. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  549. package/build-module/hooks/use-zoom-out.js +7 -7
  550. package/build-module/hooks/use-zoom-out.js.map +1 -1
  551. package/build-module/layouts/constrained.js +44 -43
  552. package/build-module/layouts/constrained.js.map +1 -1
  553. package/build-module/layouts/flex.js +6 -1
  554. package/build-module/layouts/flex.js.map +1 -1
  555. package/build-module/layouts/grid.js +3 -0
  556. package/build-module/layouts/grid.js.map +1 -1
  557. package/build-module/layouts/utils.js +1 -7
  558. package/build-module/layouts/utils.js.map +1 -1
  559. package/build-module/private-apis.js +5 -2
  560. package/build-module/private-apis.js.map +1 -1
  561. package/build-module/store/actions.js +2 -7
  562. package/build-module/store/actions.js.map +1 -1
  563. package/build-module/store/private-actions.js +1 -0
  564. package/build-module/store/private-actions.js.map +1 -1
  565. package/build-module/store/private-keys.js +1 -0
  566. package/build-module/store/private-keys.js.map +1 -1
  567. package/build-module/store/private-selectors.js +36 -12
  568. package/build-module/store/private-selectors.js.map +1 -1
  569. package/build-module/store/reducer.js +2 -0
  570. package/build-module/store/reducer.js.map +1 -1
  571. package/build-module/store/selectors.js +22 -46
  572. package/build-module/store/selectors.js.map +1 -1
  573. package/build-module/store/utils.js +46 -0
  574. package/build-module/store/utils.js.map +1 -1
  575. package/build-module/utils/block-bindings.js +110 -0
  576. package/build-module/utils/block-bindings.js.map +1 -0
  577. package/build-module/utils/dom.js +99 -0
  578. package/build-module/utils/dom.js.map +1 -1
  579. package/build-module/utils/get-font-styles-and-weights.js +4 -4
  580. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  581. package/build-module/utils/transform-styles/index.js +120 -16
  582. package/build-module/utils/transform-styles/index.js.map +1 -1
  583. package/build-style/content-rtl.css +9 -25
  584. package/build-style/content.css +9 -25
  585. package/build-style/default-editor-styles-rtl.css +2 -2
  586. package/build-style/default-editor-styles.css +2 -2
  587. package/build-style/style-rtl.css +53 -76
  588. package/build-style/style.css +53 -76
  589. package/build-types/utils/dom.d.ts +25 -0
  590. package/build-types/utils/dom.d.ts.map +1 -1
  591. package/package.json +34 -32
  592. package/src/autocompleters/block.js +2 -1
  593. package/src/components/block-alignment-matrix-control/index.js +1 -1
  594. package/src/components/block-breadcrumb/index.js +4 -0
  595. package/src/components/block-breadcrumb/style.scss +1 -1
  596. package/src/components/block-canvas/index.js +9 -1
  597. package/src/components/block-compare/block-view.js +7 -1
  598. package/src/components/block-draggable/content.scss +1 -1
  599. package/src/components/block-draggable/index.js +4 -4
  600. package/src/components/block-draggable/style.scss +1 -1
  601. package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
  602. package/src/components/block-edit/multiple-usage-warning.js +4 -0
  603. package/src/components/block-inspector/index.js +22 -6
  604. package/src/components/block-list/block-invalid-warning.js +4 -2
  605. package/src/components/block-list/block.js +6 -2
  606. package/src/components/block-list/content.scss +7 -16
  607. package/src/components/block-list/use-block-props/index.js +5 -2
  608. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  609. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +44 -0
  610. package/src/components/block-list/use-in-between-inserter.js +17 -5
  611. package/src/components/block-lock/style.scss +1 -1
  612. package/src/components/block-lock/toolbar.js +3 -3
  613. package/src/components/block-mover/button.js +2 -0
  614. package/src/components/block-mover/index.js +2 -0
  615. package/src/components/block-mover/style.scss +1 -1
  616. package/src/components/block-navigation/dropdown.js +2 -0
  617. package/src/components/block-pattern-setup/index.js +3 -7
  618. package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
  619. package/src/components/block-pattern-setup/style.scss +2 -2
  620. package/src/components/block-patterns-list/index.js +15 -13
  621. package/src/components/block-patterns-list/style.scss +2 -2
  622. package/src/components/block-patterns-paging/index.js +6 -0
  623. package/src/components/block-popover/index.js +7 -28
  624. package/src/components/block-popover/style.scss +1 -1
  625. package/src/components/block-quick-navigation/index.js +2 -0
  626. package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
  627. package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
  628. package/src/components/block-settings-menu-controls/index.js +7 -1
  629. package/src/components/block-switcher/index.js +26 -20
  630. package/src/components/block-switcher/pattern-transformations-menu.js +3 -7
  631. package/src/components/block-switcher/style.scss +5 -6
  632. package/src/components/block-toolbar/index.js +17 -8
  633. package/src/components/block-toolbar/shuffle.js +9 -7
  634. package/src/components/block-tools/block-selection-button.js +4 -0
  635. package/src/components/block-tools/block-toolbar-popover.js +10 -6
  636. package/src/components/block-tools/insertion-point.js +11 -0
  637. package/src/components/block-tools/style.scss +4 -5
  638. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  639. package/src/components/block-tools/use-show-block-tools.js +4 -1
  640. package/src/components/block-tools/zoom-out-mode-inserters.js +5 -2
  641. package/src/components/block-tools/zoom-out-popover.js +3 -7
  642. package/src/components/block-tools/zoom-out-toolbar.js +20 -6
  643. package/src/components/block-variation-picker/README.md +2 -2
  644. package/src/components/block-variation-picker/index.js +6 -1
  645. package/src/components/block-variation-transforms/index.js +2 -0
  646. package/src/components/block-variation-transforms/style.scss +2 -2
  647. package/src/components/border-radius-control/index.js +1 -0
  648. package/src/components/border-radius-control/style.scss +0 -10
  649. package/src/components/button-block-appender/content.scss +0 -1
  650. package/src/components/button-block-appender/index.js +14 -3
  651. package/src/components/color-palette/test/control.js +15 -2
  652. package/src/components/colors-gradients/dropdown.js +5 -1
  653. package/src/components/colors-gradients/style.scss +4 -4
  654. package/src/components/content-lock/index.js +1 -0
  655. package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
  656. package/src/components/convert-to-group-buttons/index.js +1 -1
  657. package/src/components/date-format-picker/index.js +2 -0
  658. package/src/components/default-block-appender/content.scss +0 -1
  659. package/src/components/editor-styles/index.js +4 -3
  660. package/src/components/font-appearance-control/index.js +3 -0
  661. package/src/components/font-family/README.md +11 -2
  662. package/src/components/font-family/index.js +3 -0
  663. package/src/components/global-styles/background-panel.js +135 -64
  664. package/src/components/global-styles/color-panel.js +8 -4
  665. package/src/components/global-styles/color-panel.native.js +2 -2
  666. package/src/components/global-styles/dimensions-panel.js +40 -40
  667. package/src/components/global-styles/filters-panel.js +5 -1
  668. package/src/components/global-styles/get-global-styles-changes.js +4 -1
  669. package/src/components/global-styles/hooks.js +0 -5
  670. package/src/components/global-styles/index.js +0 -1
  671. package/src/components/global-styles/shadow-panel-components.js +12 -8
  672. package/src/components/global-styles/style.scss +16 -6
  673. package/src/components/global-styles/test/typography-utils.js +96 -5
  674. package/src/components/global-styles/test/use-global-styles-output.js +20 -4
  675. package/src/components/global-styles/test/utils.js +10 -0
  676. package/src/components/global-styles/typography-utils.js +22 -6
  677. package/src/components/global-styles/use-global-styles-output.js +5 -6
  678. package/src/components/global-styles/utils.js +11 -35
  679. package/src/components/grid/grid-item-movers.js +3 -3
  680. package/src/components/grid/grid-visualizer.js +22 -7
  681. package/src/components/grid/style.scss +1 -1
  682. package/src/components/height-control/index.js +1 -0
  683. package/src/components/iframe/index.js +8 -6
  684. package/src/components/image-editor/zoom-dropdown.js +17 -9
  685. package/src/components/inner-blocks/button-block-appender.js +5 -7
  686. package/src/components/inner-blocks/default-block-appender.js +4 -23
  687. package/src/components/inner-blocks/index.js +11 -10
  688. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  689. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
  690. package/src/components/inserter/block-patterns-tab/index.js +2 -0
  691. package/src/components/inserter/media-tab/hooks.js +3 -3
  692. package/src/components/inserter/media-tab/media-list.js +1 -4
  693. package/src/components/inserter/media-tab/media-preview.js +12 -2
  694. package/src/components/inserter/media-tab/media-tab.js +2 -0
  695. package/src/components/inserter/menu.js +13 -22
  696. package/src/components/inserter/quick-inserter.js +6 -1
  697. package/src/components/inserter/style.scss +7 -9
  698. package/src/components/inserter-list-item/index.js +4 -4
  699. package/src/components/inserter-list-item/style.scss +2 -3
  700. package/src/components/inserter-listbox/index.js +2 -8
  701. package/src/components/inserter-listbox/item.js +9 -1
  702. package/src/components/inspector-controls/groups.js +2 -0
  703. package/src/components/inspector-controls-tabs/index.js +2 -0
  704. package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
  705. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
  706. package/src/components/inspector-popover-header/index.js +4 -0
  707. package/src/components/letter-spacing-control/README.md +8 -1
  708. package/src/components/letter-spacing-control/index.js +7 -4
  709. package/src/components/line-height-control/README.md +7 -0
  710. package/src/components/line-height-control/index.js +3 -0
  711. package/src/components/link-control/index.js +17 -8
  712. package/src/components/link-control/settings-drawer.js +2 -0
  713. package/src/components/link-control/style.scss +2 -4
  714. package/src/components/list-view/block-select-button.js +2 -0
  715. package/src/components/list-view/style.scss +14 -16
  716. package/src/components/media-placeholder/index.js +26 -7
  717. package/src/components/media-replace-flow/index.js +12 -1
  718. package/src/components/media-upload/README.md +2 -0
  719. package/src/components/media-upload/index.native.js +2 -0
  720. package/src/components/multi-selection-inspector/index.js +8 -9
  721. package/src/components/provider/use-block-sync.js +20 -20
  722. package/src/components/responsive-block-control/README.md +3 -26
  723. package/src/components/responsive-block-control/test/index.js +1 -0
  724. package/src/components/rich-text/content.scss +1 -1
  725. package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
  726. package/src/components/rich-text/index.js +54 -41
  727. package/src/components/rich-text/style.scss +1 -1
  728. package/src/components/rich-text/use-mark-persistent.js +5 -5
  729. package/src/components/skip-to-selected-block/index.js +2 -0
  730. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -4
  731. package/src/components/spacing-sizes-control/style.scss +17 -16
  732. package/src/components/text-alignment-control/index.js +20 -8
  733. package/src/components/text-decoration-control/index.js +20 -8
  734. package/src/components/text-decoration-control/stories/index.story.js +0 -4
  735. package/src/components/text-transform-control/index.js +20 -8
  736. package/src/components/text-transform-control/stories/index.story.js +0 -4
  737. package/src/components/tool-selector/index.js +2 -0
  738. package/src/components/url-input/button.js +6 -0
  739. package/src/components/url-input/index.js +2 -0
  740. package/src/components/url-input/style.scss +2 -2
  741. package/src/components/url-popover/image-url-input-ui.js +2 -0
  742. package/src/components/url-popover/stories/index.story.js +7 -1
  743. package/src/components/use-block-drop-zone/index.js +21 -3
  744. package/src/components/warning/content.scss +3 -10
  745. package/src/components/writing-flow/index.js +2 -0
  746. package/src/components/writing-flow/use-arrow-nav.js +9 -2
  747. package/src/components/writing-flow/use-event-redirect.js +72 -0
  748. package/src/components/writing-flow/use-input.js +36 -1
  749. package/src/components/writing-flow/use-select-all.js +18 -1
  750. package/src/components/writing-flow/use-selection-observer.js +23 -3
  751. package/src/components/writing-flow/use-tab-nav.js +4 -4
  752. package/src/components/writing-flow/utils.js +30 -0
  753. package/src/components/writing-mode-control/index.js +20 -8
  754. package/src/hooks/background.js +21 -27
  755. package/src/hooks/block-bindings.js +64 -122
  756. package/src/hooks/block-bindings.scss +2 -10
  757. package/src/hooks/content-lock-ui.js +11 -36
  758. package/src/hooks/duotone.js +0 -4
  759. package/src/hooks/layout.js +2 -0
  760. package/src/hooks/layout.scss +3 -11
  761. package/src/hooks/spacing-visualizer.js +3 -3
  762. package/src/hooks/style.js +1 -4
  763. package/src/hooks/test/background.js +60 -0
  764. package/src/hooks/use-bindings-attributes.js +23 -24
  765. package/src/hooks/use-zoom-out.js +7 -7
  766. package/src/layouts/constrained.js +51 -47
  767. package/src/layouts/flex.js +4 -0
  768. package/src/layouts/grid.js +3 -0
  769. package/src/layouts/test/grid.js +2 -2
  770. package/src/layouts/test/utils.js +6 -8
  771. package/src/layouts/utils.js +1 -9
  772. package/src/private-apis.js +4 -0
  773. package/src/store/actions.js +4 -6
  774. package/src/store/private-actions.js +1 -0
  775. package/src/store/private-keys.js +1 -0
  776. package/src/store/private-selectors.js +44 -7
  777. package/src/store/reducer.js +2 -0
  778. package/src/store/selectors.js +32 -51
  779. package/src/store/test/private-selectors.js +89 -0
  780. package/src/store/utils.js +50 -0
  781. package/src/style.scss +0 -1
  782. package/src/utils/block-bindings.js +97 -0
  783. package/src/utils/dom.js +117 -0
  784. package/src/utils/get-font-styles-and-weights.js +12 -4
  785. package/src/utils/test/get-font-styles-and-weights.js +148 -0
  786. package/src/utils/test/transform-styles.js +284 -26
  787. package/src/utils/transform-styles/index.js +132 -21
  788. package/tsconfig.json +1 -0
  789. package/tsconfig.tsbuildinfo +1 -1
  790. package/build/components/global-styles/theme-file-uri-utils.js +0 -21
  791. package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
  792. package/build/components/inner-blocks/with-client-id.js +0 -28
  793. package/build/components/inner-blocks/with-client-id.js.map +0 -1
  794. package/build/components/segmented-text-control/index.js +0 -63
  795. package/build/components/segmented-text-control/index.js.map +0 -1
  796. package/build-module/components/global-styles/theme-file-uri-utils.js +0 -15
  797. package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
  798. package/build-module/components/inner-blocks/with-client-id.js +0 -21
  799. package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
  800. package/build-module/components/segmented-text-control/index.js +0 -58
  801. package/build-module/components/segmented-text-control/index.js.map +0 -1
  802. package/src/components/global-styles/test/theme-file-uri-utils.js +0 -41
  803. package/src/components/global-styles/theme-file-uri-utils.js +0 -18
  804. package/src/components/inner-blocks/with-client-id.js +0 -19
  805. package/src/components/segmented-text-control/index.js +0 -63
  806. package/src/components/segmented-text-control/style.scss +0 -15
  807. package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
@@ -1 +1 @@
1
- {"version":3,"names":["fastDeepEqual","useContext","useCallback","useMemo","useSelect","store","blocksStore","_x","getValueFromVariable","getPresetVariableFromValue","getValueFromObjectPath","setImmutably","GlobalStylesContext","unlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","setUserConfig","config","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","_getValueFromObjectPa","result","forEach","setting","_getValueFromObjectPa2","value","undefined","split","setSetting","newValue","currentConfig","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useGlobalStyleLinks","_links","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","defaultFontSizes","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","charAt","toUpperCase","slice","border","shadow","textAlign","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { getValueFromObjectPath, setImmutably } from '../../utils/object';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'background.backgroundImage',\n\t'background.backgroundRepeat',\n\t'background.backgroundSize',\n\t'background.backgroundPosition',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.aspectRatio',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'lightbox.enabled',\n\t'lightbox.allowEditing',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.defaultSpacingSizes',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.defaultFontSizes',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textAlign',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user, setUserConfig } = useContext( GlobalStylesContext );\n\tconst config = {\n\t\tsettings: user.settings,\n\t\tstyles: user.styles,\n\t};\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback( () => setUserConfig( EMPTY_CONFIG ), [ setUserConfig ] ),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tgetValueFromObjectPath( configToUse, contextualPath ) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tlet result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tgetValueFromObjectPath(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, `settings.${ setting }` );\n\t\t\tif ( value !== undefined ) {\n\t\t\t\tresult = setImmutably( result, setting.split( '.' ), value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably( currentConfig, contextualPath.split( '.' ), newValue )\n\t\t);\n\t};\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably(\n\t\t\t\tcurrentConfig,\n\t\t\t\tfinalPath.split( '.' ),\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t)\n\t\t);\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = getValueFromObjectPath( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = getValueFromObjectPath( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = getValueFromObjectPath( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\nexport function useGlobalStyleLinks() {\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\treturn mergedConfig?._links;\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t\tdefaultFontSizes: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textAlign',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\t// Check if spacing type is supported before adding sides.\n\t\t\tif ( sides?.length && updatedSettings.spacing?.[ key ] ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'aspectRatio', 'minHeight' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'backgroundImage', 'backgroundSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.background = {\n\t\t\t\t\t...updatedSettings.background,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\t// Text alignment is only available for blocks.\n\t\tif ( element ) {\n\t\t\tupdatedSettings.typography.textAlign = false;\n\t\t}\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports, element ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fastDeepEqual","useContext","useCallback","useMemo","useSelect","store","blocksStore","_x","getValueFromVariable","getPresetVariableFromValue","getValueFromObjectPath","setImmutably","GlobalStylesContext","unlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","setUserConfig","config","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","_getValueFromObjectPa","result","forEach","setting","_getValueFromObjectPa2","value","undefined","split","setSetting","newValue","currentConfig","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","defaultFontSizes","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","charAt","toUpperCase","slice","border","shadow","textAlign","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { getValueFromObjectPath, setImmutably } from '../../utils/object';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'background.backgroundImage',\n\t'background.backgroundRepeat',\n\t'background.backgroundSize',\n\t'background.backgroundPosition',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.aspectRatio',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'lightbox.enabled',\n\t'lightbox.allowEditing',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.defaultSpacingSizes',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.defaultFontSizes',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textAlign',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user, setUserConfig } = useContext( GlobalStylesContext );\n\tconst config = {\n\t\tsettings: user.settings,\n\t\tstyles: user.styles,\n\t};\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback( () => setUserConfig( EMPTY_CONFIG ), [ setUserConfig ] ),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tgetValueFromObjectPath( configToUse, contextualPath ) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tlet result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tgetValueFromObjectPath(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, `settings.${ setting }` );\n\t\t\tif ( value !== undefined ) {\n\t\t\t\tresult = setImmutably( result, setting.split( '.' ), value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably( currentConfig, contextualPath.split( '.' ), newValue )\n\t\t);\n\t};\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably(\n\t\t\t\tcurrentConfig,\n\t\t\t\tfinalPath.split( '.' ),\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t)\n\t\t);\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = getValueFromObjectPath( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = getValueFromObjectPath( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = getValueFromObjectPath( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t\tdefaultFontSizes: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textAlign',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\t// Check if spacing type is supported before adding sides.\n\t\t\tif ( sides?.length && updatedSettings.spacing?.[ key ] ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'aspectRatio', 'minHeight' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'backgroundImage', 'backgroundSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.background = {\n\t\t\t\t\t...updatedSettings.background,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\t// Text alignment is only available for blocks.\n\t\tif ( element ) {\n\t\t\tupdatedSettings.typography.textAlign = false;\n\t\t}\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports, element ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- export { useGlobalStylesReset, useGlobalSetting, useGlobalStyle, useSettingsForBlockElement, useGlobalStyleLinks } from './hooks';
1
+ export { useGlobalStylesReset, useGlobalSetting, useGlobalStyle, useSettingsForBlockElement } from './hooks';
2
2
  export { getBlockCSSSelector } from './get-block-css-selector';
3
3
  export { getLayoutStyles, getBlockSelectors, toStyles, useGlobalStylesOutput, useGlobalStylesOutputWithConfig } from './use-global-styles-output';
4
4
  export { GlobalStylesContext } from './context';
@@ -1 +1 @@
1
- {"version":3,"names":["useGlobalStylesReset","useGlobalSetting","useGlobalStyle","useSettingsForBlockElement","useGlobalStyleLinks","getBlockCSSSelector","getLayoutStyles","getBlockSelectors","toStyles","useGlobalStylesOutput","useGlobalStylesOutputWithConfig","GlobalStylesContext","default","TypographyPanel","useHasTypographyPanel","DimensionsPanel","useHasDimensionsPanel","BorderPanel","useHasBorderPanel","useHasBorderPanelControls","ColorPanel","useHasColorPanel","FiltersPanel","useHasFiltersPanel","ImageSettingsPanel","useHasImageSettingsPanel","AdvancedPanel","BackgroundPanel","useHasBackgroundPanel","areGlobalStyleConfigsEqual","getGlobalStylesChanges"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n\tuseGlobalStyleLinks,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tgetBlockSelectors,\n\ttoStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport {\n\tdefault as BorderPanel,\n\tuseHasBorderPanel,\n\tuseHasBorderPanelControls,\n} from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\nexport { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';\nexport {\n\tdefault as ImageSettingsPanel,\n\tuseHasImageSettingsPanel,\n} from './image-settings-panel';\nexport { default as AdvancedPanel } from './advanced-panel';\nexport {\n\tdefault as BackgroundPanel,\n\tuseHasBackgroundPanel,\n} from './background-panel';\nexport { areGlobalStyleConfigsEqual } from './utils';\nexport { default as getGlobalStylesChanges } from './get-global-styles-changes';\n"],"mappings":"AAAA,SACCA,oBAAoB,EACpBC,gBAAgB,EAChBC,cAAc,EACdC,0BAA0B,EAC1BC,mBAAmB,QACb,SAAS;AAChB,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SACCC,eAAe,EACfC,iBAAiB,EACjBC,QAAQ,EACRC,qBAAqB,EACrBC,+BAA+B,QACzB,4BAA4B;AACnC,SAASC,mBAAmB,QAAQ,WAAW;AAC/C,SACCC,OAAO,IAAIC,eAAe,EAC1BC,qBAAqB,QACf,oBAAoB;AAC3B,SACCF,OAAO,IAAIG,eAAe,EAC1BC,qBAAqB,QACf,oBAAoB;AAC3B,SACCJ,OAAO,IAAIK,WAAW,EACtBC,iBAAiB,EACjBC,yBAAyB,QACnB,gBAAgB;AACvB,SAASP,OAAO,IAAIQ,UAAU,EAAEC,gBAAgB,QAAQ,eAAe;AACvE,SAAST,OAAO,IAAIU,YAAY,EAAEC,kBAAkB,QAAQ,iBAAiB;AAC7E,SACCX,OAAO,IAAIY,kBAAkB,EAC7BC,wBAAwB,QAClB,wBAAwB;AAC/B,SAASb,OAAO,IAAIc,aAAa,QAAQ,kBAAkB;AAC3D,SACCd,OAAO,IAAIe,eAAe,EAC1BC,qBAAqB,QACf,oBAAoB;AAC3B,SAASC,0BAA0B,QAAQ,SAAS;AACpD,SAASjB,OAAO,IAAIkB,sBAAsB,QAAQ,6BAA6B","ignoreList":[]}
1
+ {"version":3,"names":["useGlobalStylesReset","useGlobalSetting","useGlobalStyle","useSettingsForBlockElement","getBlockCSSSelector","getLayoutStyles","getBlockSelectors","toStyles","useGlobalStylesOutput","useGlobalStylesOutputWithConfig","GlobalStylesContext","default","TypographyPanel","useHasTypographyPanel","DimensionsPanel","useHasDimensionsPanel","BorderPanel","useHasBorderPanel","useHasBorderPanelControls","ColorPanel","useHasColorPanel","FiltersPanel","useHasFiltersPanel","ImageSettingsPanel","useHasImageSettingsPanel","AdvancedPanel","BackgroundPanel","useHasBackgroundPanel","areGlobalStyleConfigsEqual","getGlobalStylesChanges"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tgetBlockSelectors,\n\ttoStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport {\n\tdefault as BorderPanel,\n\tuseHasBorderPanel,\n\tuseHasBorderPanelControls,\n} from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\nexport { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';\nexport {\n\tdefault as ImageSettingsPanel,\n\tuseHasImageSettingsPanel,\n} from './image-settings-panel';\nexport { default as AdvancedPanel } from './advanced-panel';\nexport {\n\tdefault as BackgroundPanel,\n\tuseHasBackgroundPanel,\n} from './background-panel';\nexport { areGlobalStyleConfigsEqual } from './utils';\nexport { default as getGlobalStylesChanges } from './get-global-styles-changes';\n"],"mappings":"AAAA,SACCA,oBAAoB,EACpBC,gBAAgB,EAChBC,cAAc,EACdC,0BAA0B,QACpB,SAAS;AAChB,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SACCC,eAAe,EACfC,iBAAiB,EACjBC,QAAQ,EACRC,qBAAqB,EACrBC,+BAA+B,QACzB,4BAA4B;AACnC,SAASC,mBAAmB,QAAQ,WAAW;AAC/C,SACCC,OAAO,IAAIC,eAAe,EAC1BC,qBAAqB,QACf,oBAAoB;AAC3B,SACCF,OAAO,IAAIG,eAAe,EAC1BC,qBAAqB,QACf,oBAAoB;AAC3B,SACCJ,OAAO,IAAIK,WAAW,EACtBC,iBAAiB,EACjBC,yBAAyB,QACnB,gBAAgB;AACvB,SAASP,OAAO,IAAIQ,UAAU,EAAEC,gBAAgB,QAAQ,eAAe;AACvE,SAAST,OAAO,IAAIU,YAAY,EAAEC,kBAAkB,QAAQ,iBAAiB;AAC7E,SACCX,OAAO,IAAIY,kBAAkB,EAC7BC,wBAAwB,QAClB,wBAAwB;AAC/B,SAASb,OAAO,IAAIc,aAAa,QAAQ,kBAAkB;AAC3D,SACCd,OAAO,IAAIe,eAAe,EAC1BC,qBAAqB,QACf,oBAAoB;AAC3B,SAASC,0BAA0B,QAAQ,SAAS;AACpD,SAASjB,OAAO,IAAIkB,sBAAsB,QAAQ,6BAA6B","ignoreList":[]}
@@ -27,8 +27,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
27
27
  const EMPTY_ARRAY = [];
28
28
  const {
29
29
  CompositeItemV2: CompositeItem,
30
- CompositeV2: Composite,
31
- useCompositeStoreV2: useCompositeStore
30
+ CompositeV2: Composite
32
31
  } = unlock(componentsPrivateApis);
33
32
  export function ShadowPopoverContainer({
34
33
  shadow,
@@ -49,7 +48,10 @@ export function ShadowPopoverContainer({
49
48
  onSelect: onShadowChange
50
49
  }), /*#__PURE__*/_jsx("div", {
51
50
  className: "block-editor-global-styles__clear-shadow",
52
- children: /*#__PURE__*/_jsx(Button, {
51
+ children: /*#__PURE__*/_jsx(Button
52
+ // TODO: Switch to `true` (40px size) if possible
53
+ , {
54
+ __next40pxDefaultSize: false,
53
55
  variant: "tertiary",
54
56
  onClick: () => onShadowChange(undefined),
55
57
  children: __('Clear')
@@ -63,9 +65,7 @@ export function ShadowPresets({
63
65
  activeShadow,
64
66
  onSelect
65
67
  }) {
66
- const compositeStore = useCompositeStore();
67
68
  return !presets ? null : /*#__PURE__*/_jsx(Composite, {
68
- store: compositeStore,
69
69
  role: "listbox",
70
70
  className: "block-editor-global-styles__shadow__list",
71
71
  "aria-label": __('Drop shadows'),
@@ -96,7 +96,10 @@ export function ShadowIndicator({
96
96
  className: clsx('block-editor-global-styles__shadow__item', {
97
97
  'is-active': isActive
98
98
  }),
99
- render: /*#__PURE__*/_jsx(Button, {
99
+ render: /*#__PURE__*/_jsx(Button
100
+ // TODO: Switch to `true` (40px size) if possible
101
+ , {
102
+ __next40pxDefaultSize: false,
100
103
  className: clsx('block-editor-global-styles__shadow-indicator', {
101
104
  unset: type === 'unset'
102
105
  }),
@@ -148,7 +151,10 @@ function renderShadowToggle() {
148
151
  }),
149
152
  'aria-expanded': isOpen
150
153
  };
151
- return /*#__PURE__*/_jsx(Button, {
154
+ return /*#__PURE__*/_jsx(Button
155
+ // TODO: Switch to `true` (40px size) if possible
156
+ , {
157
+ __next40pxDefaultSize: false,
152
158
  ...toggleProps,
153
159
  children: /*#__PURE__*/_jsxs(HStack, {
154
160
  justify: "flex-start",
@@ -1 +1 @@
1
- {"version":3,"names":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","privateApis","componentsPrivateApis","useMemo","shadow","shadowIcon","Icon","check","clsx","unlock","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","CompositeItemV2","CompositeItem","CompositeV2","Composite","useCompositeStoreV2","useCompositeStore","ShadowPopoverContainer","onShadowChange","settings","shadows","useShadowPresets","className","children","spacing","level","ShadowPresets","presets","activeShadow","onSelect","variant","onClick","undefined","compositeStore","store","role","map","name","slug","ShadowIndicator","label","isActive","type","render","unset","style","boxShadow","showTooltip","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","toggleProps","justify","size","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\nconst {\n\tCompositeItemV2: CompositeItem,\n\tCompositeV2: Composite,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\tconst compositeStore = useCompositeStore();\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\taria-label={ label }\n\t\t\taria-selected={ isActive }\n\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t'is-active': isActive,\n\t\t\t} ) }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\tshowTooltip\n\t\t\t\t>\n\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","privateApis","componentsPrivateApis","useMemo","shadow","shadowIcon","Icon","check","clsx","unlock","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","CompositeItemV2","CompositeItem","CompositeV2","Composite","ShadowPopoverContainer","onShadowChange","settings","shadows","useShadowPresets","className","children","spacing","level","ShadowPresets","presets","activeShadow","onSelect","__next40pxDefaultSize","variant","onClick","undefined","role","map","name","slug","ShadowIndicator","label","isActive","type","render","unset","style","boxShadow","showTooltip","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","toggleProps","justify","size","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\nconst { CompositeItemV2: CompositeItem, CompositeV2: Composite } = unlock(\n\tcomponentsPrivateApis\n);\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\taria-label={ label }\n\t\t\taria-selected={ isActive }\n\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t'is-active': isActive,\n\t\t\t} ) }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\tshowTooltip\n\t\t\t\t>\n\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t{ ...toggleProps }\n\t\t\t>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -37,6 +37,8 @@ import { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights
37
37
  * Returns a font-size value based on a given font-size preset.
38
38
  * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.
39
39
  *
40
+ * The Core PHP equivalent is wp_get_typography_font_size_value().
41
+ *
40
42
  * @param {Preset} preset
41
43
  * @param {Object} settings
42
44
  * @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.
@@ -48,15 +50,23 @@ export function getTypographyFontSizeValue(preset, settings) {
48
50
  const {
49
51
  size: defaultSize
50
52
  } = preset;
51
- if (!isFluidTypographyEnabled(settings?.typography)) {
53
+
54
+ /*
55
+ * Catch falsy values and 0/'0'. Fluid calculations cannot be performed on `0`.
56
+ * Also return early when a preset font size explicitly disables fluid typography with `false`.
57
+ */
58
+ if (!defaultSize || '0' === defaultSize || false === preset?.fluid) {
52
59
  return defaultSize;
53
60
  }
61
+
54
62
  /*
55
- * Checks whether a font size has explicitly bypassed fluid calculations.
56
- * Also catches falsy values and 0/'0'.
57
- * Fluid calculations cannot be performed on `0`.
63
+ * Return early when fluid typography is disabled in the settings, and there
64
+ * are no local settings to enable it for the individual preset.
65
+ *
66
+ * If this condition isn't met, either the settings or individual preset settings
67
+ * have enabled fluid typography.
58
68
  */
59
- if (!defaultSize || '0' === defaultSize || false === preset?.fluid) {
69
+ if (!isFluidTypographyEnabled(settings?.typography) && !isFluidTypographyEnabled(preset)) {
60
70
  return defaultSize;
61
71
  }
62
72
  let fluidTypographySettings = getFluidTypographyOptionsFromSettings(settings);
@@ -132,6 +142,7 @@ export function getMergedFontFamiliesAndFontFamilyFaces(settings, selectedFontFa
132
142
  * @return {string} Nearest font weight.
133
143
  */
134
144
  export function findNearestFontWeight(availableFontWeights, newFontWeightValue) {
145
+ newFontWeightValue = 'number' === typeof newFontWeightValue ? newFontWeightValue.toString() : newFontWeightValue;
135
146
  if (!newFontWeightValue || typeof newFontWeightValue !== 'string') {
136
147
  return '';
137
148
  }
@@ -196,7 +207,7 @@ export function findNearestStyleAndWeight(fontFamilyFaces, fontStyle, fontWeight
196
207
  }) => fs === fontStyle);
197
208
  const hasFontWeight = fontWeights?.some(({
198
209
  value: fw
199
- }) => fw === fontWeight);
210
+ }) => fw?.toString() === fontWeight?.toString());
200
211
  if (!hasFontStyle) {
201
212
  /*
202
213
  * Default to italic if oblique is not available.
@@ -1 +1 @@
1
- {"version":3,"names":["getComputedFluidTypographyValue","getTypographyValueAndUnit","getFontStylesAndWeights","getTypographyFontSizeValue","preset","settings","size","defaultSize","isFluidTypographyEnabled","typography","fluid","fluidTypographySettings","getFluidTypographyOptionsFromSettings","fluidFontSizeValue","minimumFontSize","min","maximumFontSize","max","fontSize","minimumFontSizeLimit","minFontSize","maximumViewportWidth","maxViewportWidth","minimumViewportWidth","minViewportWidth","typographySettings","fluidSettings","Object","keys","length","layoutSettings","layout","defaultMaxViewportWidth","wideSize","getMergedFontFamiliesAndFontFamilyFaces","selectedFontFamily","_fontFamilies$find$fo","fontFamiliesFromSettings","fontFamilies","flatMap","key","_fontFamiliesFromSett","fontFamilyFaces","find","family","fontFamily","fontFace","findNearestFontWeight","availableFontWeights","newFontWeightValue","nearestFontWeight","reduce","nearest","value","fw","currentDiff","Math","abs","parseInt","nearestDiff","findNearestFontStyle","availableFontStyles","newFontStyleValue","validStyles","includes","style","findNearestStyleAndWeight","fontStyle","fontWeight","nearestFontStyle","fontStyles","fontWeights","combinedStyleAndWeightOptions","hasFontStyle","some","fs","hasFontWeight","option"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-utils.js"],"sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetComputedFluidTypographyValue,\n\tgetTypographyValueAndUnit,\n} from '../font-sizes/fluid-utils';\nimport { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';\n\n/**\n * @typedef {Object} FluidPreset\n * @property {string|undefined} max A maximum font size value.\n * @property {?string|undefined} min A minimum font size value.\n */\n\n/**\n * @typedef {Object} Preset\n * @property {?string|?number} size A default font size.\n * @property {string} name A font size name, displayed in the UI.\n * @property {string} slug A font size slug\n * @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size.\n */\n\n/**\n * @typedef {Object} TypographySettings\n * @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified.\n * @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified.\n * @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.\n * @property {?string} minFontSize The smallest a calculated font size may be. Optional.\n */\n\n/**\n * Returns a font-size value based on a given font-size preset.\n * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.\n *\n * @param {Preset} preset\n * @param {Object} settings\n * @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.\n * @param {Object?} settings.typography.layout Layout options.\n *\n * @return {string|*} A font-size value or the value of preset.size.\n */\nexport function getTypographyFontSizeValue( preset, settings ) {\n\tconst { size: defaultSize } = preset;\n\n\tif ( ! isFluidTypographyEnabled( settings?.typography ) ) {\n\t\treturn defaultSize;\n\t}\n\t/*\n\t * Checks whether a font size has explicitly bypassed fluid calculations.\n\t * Also catches falsy values and 0/'0'.\n\t * Fluid calculations cannot be performed on `0`.\n\t */\n\tif ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {\n\t\treturn defaultSize;\n\t}\n\n\tlet fluidTypographySettings =\n\t\tgetFluidTypographyOptionsFromSettings( settings );\n\tfluidTypographySettings =\n\t\ttypeof fluidTypographySettings?.fluid === 'object'\n\t\t\t? fluidTypographySettings?.fluid\n\t\t\t: {};\n\n\tconst fluidFontSizeValue = getComputedFluidTypographyValue( {\n\t\tminimumFontSize: preset?.fluid?.min,\n\t\tmaximumFontSize: preset?.fluid?.max,\n\t\tfontSize: defaultSize,\n\t\tminimumFontSizeLimit: fluidTypographySettings?.minFontSize,\n\t\tmaximumViewportWidth: fluidTypographySettings?.maxViewportWidth,\n\t\tminimumViewportWidth: fluidTypographySettings?.minViewportWidth,\n\t} );\n\n\tif ( !! fluidFontSizeValue ) {\n\t\treturn fluidFontSizeValue;\n\t}\n\n\treturn defaultSize;\n}\n\nfunction isFluidTypographyEnabled( typographySettings ) {\n\tconst fluidSettings = typographySettings?.fluid;\n\treturn (\n\t\ttrue === fluidSettings ||\n\t\t( fluidSettings &&\n\t\t\ttypeof fluidSettings === 'object' &&\n\t\t\tObject.keys( fluidSettings ).length > 0 )\n\t);\n}\n\n/**\n * Returns fluid typography settings from theme.json setting object.\n *\n * @param {Object} settings Theme.json settings\n * @param {Object} settings.typography Theme.json typography settings\n * @param {Object} settings.layout Theme.json layout settings\n * @return {TypographySettings} Fluid typography settings\n */\nexport function getFluidTypographyOptionsFromSettings( settings ) {\n\tconst typographySettings = settings?.typography;\n\tconst layoutSettings = settings?.layout;\n\tconst defaultMaxViewportWidth = getTypographyValueAndUnit(\n\t\tlayoutSettings?.wideSize\n\t)\n\t\t? layoutSettings?.wideSize\n\t\t: null;\n\treturn isFluidTypographyEnabled( typographySettings ) &&\n\t\tdefaultMaxViewportWidth\n\t\t? {\n\t\t\t\tfluid: {\n\t\t\t\t\tmaxViewportWidth: defaultMaxViewportWidth,\n\t\t\t\t\t...typographySettings.fluid,\n\t\t\t\t},\n\t\t }\n\t\t: {\n\t\t\t\tfluid: typographySettings?.fluid,\n\t\t };\n}\n\n/**\n * Returns an object of merged font families and the font faces from the selected font family\n * based on the theme.json settings object and the currently selected font family.\n *\n * @param {Object} settings Theme.json settings.\n * @param {string} selectedFontFamily Decoded font family string.\n * @return {Object} Merged font families and font faces from the selected font family.\n */\nexport function getMergedFontFamiliesAndFontFamilyFaces(\n\tsettings,\n\tselectedFontFamily\n) {\n\tconst fontFamiliesFromSettings = settings?.typography?.fontFamilies;\n\n\tconst fontFamilies = [ 'default', 'theme', 'custom' ].flatMap(\n\t\t( key ) => fontFamiliesFromSettings?.[ key ] ?? []\n\t);\n\n\tconst fontFamilyFaces =\n\t\tfontFamilies.find(\n\t\t\t( family ) => family.fontFamily === selectedFontFamily\n\t\t)?.fontFace ?? [];\n\n\treturn { fontFamilies, fontFamilyFaces };\n}\n\n/**\n * Returns the nearest font weight value from the available font weight list based on the new font weight.\n * The nearest font weight is the one with the smallest difference from the new font weight.\n *\n * @param {Array} availableFontWeights Array of available font weights.\n * @param {string} newFontWeightValue New font weight value.\n * @return {string} Nearest font weight.\n */\nexport function findNearestFontWeight(\n\tavailableFontWeights,\n\tnewFontWeightValue\n) {\n\tif ( ! newFontWeightValue || typeof newFontWeightValue !== 'string' ) {\n\t\treturn '';\n\t}\n\n\tif ( ! availableFontWeights || availableFontWeights.length === 0 ) {\n\t\treturn newFontWeightValue;\n\t}\n\n\tconst nearestFontWeight = availableFontWeights?.reduce(\n\t\t( nearest, { value: fw } ) => {\n\t\t\tconst currentDiff = Math.abs(\n\t\t\t\tparseInt( fw ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\tconst nearestDiff = Math.abs(\n\t\t\t\tparseInt( nearest ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\treturn currentDiff < nearestDiff ? fw : nearest;\n\t\t},\n\t\tavailableFontWeights[ 0 ]?.value\n\t);\n\n\treturn nearestFontWeight;\n}\n\n/**\n * Returns the nearest font style based on the new font style.\n * Defaults to an empty string if the new font style is not valid or available.\n *\n * @param {Array} availableFontStyles Array of available font weights.\n * @param {string} newFontStyleValue New font style value.\n * @return {string} Nearest font style or an empty string.\n */\nexport function findNearestFontStyle( availableFontStyles, newFontStyleValue ) {\n\tif ( typeof newFontStyleValue !== 'string' || ! newFontStyleValue ) {\n\t\treturn '';\n\t}\n\n\tconst validStyles = [ 'normal', 'italic', 'oblique' ];\n\tif ( ! validStyles.includes( newFontStyleValue ) ) {\n\t\treturn '';\n\t}\n\n\tif (\n\t\t! availableFontStyles ||\n\t\tavailableFontStyles.length === 0 ||\n\t\tavailableFontStyles.find(\n\t\t\t( style ) => style.value === newFontStyleValue\n\t\t)\n\t) {\n\t\treturn newFontStyleValue;\n\t}\n\n\tif (\n\t\tnewFontStyleValue === 'oblique' &&\n\t\t! availableFontStyles.find( ( style ) => style.value === 'oblique' )\n\t) {\n\t\treturn 'italic';\n\t}\n\n\treturn '';\n}\n\n/**\n * Returns the nearest font style and weight based on the available font family faces and the new font style and weight.\n *\n * @param {Array} fontFamilyFaces Array of available font family faces.\n * @param {string} fontStyle New font style. Defaults to previous value.\n * @param {string} fontWeight New font weight. Defaults to previous value.\n * @return {Object} Nearest font style and font weight.\n */\nexport function findNearestStyleAndWeight(\n\tfontFamilyFaces,\n\tfontStyle,\n\tfontWeight\n) {\n\tlet nearestFontStyle = fontStyle;\n\tlet nearestFontWeight = fontWeight;\n\n\tconst { fontStyles, fontWeights, combinedStyleAndWeightOptions } =\n\t\tgetFontStylesAndWeights( fontFamilyFaces );\n\n\t// Check if the new font style and weight are available in the font family faces.\n\tconst hasFontStyle = fontStyles?.some(\n\t\t( { value: fs } ) => fs === fontStyle\n\t);\n\tconst hasFontWeight = fontWeights?.some(\n\t\t( { value: fw } ) => fw === fontWeight\n\t);\n\n\tif ( ! hasFontStyle ) {\n\t\t/*\n\t\t * Default to italic if oblique is not available.\n\t\t * Or find the nearest font style based on the nearest font weight.\n\t\t */\n\t\tnearestFontStyle = fontStyle\n\t\t\t? findNearestFontStyle( fontStyles, fontStyle )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontWeight ===\n\t\t\t\t\t\tfindNearestFontWeight( fontWeights, fontWeight )\n\t\t\t )?.style?.fontStyle;\n\t}\n\n\tif ( ! hasFontWeight ) {\n\t\t/*\n\t\t * Find the nearest font weight based on available weights.\n\t\t * Or find the nearest font weight based on the nearest font style.\n\t\t */\n\t\tnearestFontWeight = fontWeight\n\t\t\t? findNearestFontWeight( fontWeights, fontWeight )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontStyle ===\n\t\t\t\t\t\t( nearestFontStyle || fontStyle )\n\t\t\t )?.style?.fontWeight;\n\t}\n\n\treturn { nearestFontStyle, nearestFontWeight };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getComputedFluidTypographyValue","getTypographyValueAndUnit","getFontStylesAndWeights","getTypographyFontSizeValue","preset","settings","size","defaultSize","fluid","isFluidTypographyEnabled","typography","fluidTypographySettings","getFluidTypographyOptionsFromSettings","fluidFontSizeValue","minimumFontSize","min","maximumFontSize","max","fontSize","minimumFontSizeLimit","minFontSize","maximumViewportWidth","maxViewportWidth","minimumViewportWidth","minViewportWidth","typographySettings","fluidSettings","Object","keys","length","layoutSettings","layout","defaultMaxViewportWidth","wideSize","getMergedFontFamiliesAndFontFamilyFaces","selectedFontFamily","_fontFamilies$find$fo","fontFamiliesFromSettings","fontFamilies","flatMap","key","_fontFamiliesFromSett","fontFamilyFaces","find","family","fontFamily","fontFace","findNearestFontWeight","availableFontWeights","newFontWeightValue","toString","nearestFontWeight","reduce","nearest","value","fw","currentDiff","Math","abs","parseInt","nearestDiff","findNearestFontStyle","availableFontStyles","newFontStyleValue","validStyles","includes","style","findNearestStyleAndWeight","fontStyle","fontWeight","nearestFontStyle","fontStyles","fontWeights","combinedStyleAndWeightOptions","hasFontStyle","some","fs","hasFontWeight","option"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-utils.js"],"sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetComputedFluidTypographyValue,\n\tgetTypographyValueAndUnit,\n} from '../font-sizes/fluid-utils';\nimport { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';\n\n/**\n * @typedef {Object} FluidPreset\n * @property {string|undefined} max A maximum font size value.\n * @property {?string|undefined} min A minimum font size value.\n */\n\n/**\n * @typedef {Object} Preset\n * @property {?string|?number} size A default font size.\n * @property {string} name A font size name, displayed in the UI.\n * @property {string} slug A font size slug\n * @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size.\n */\n\n/**\n * @typedef {Object} TypographySettings\n * @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified.\n * @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified.\n * @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.\n * @property {?string} minFontSize The smallest a calculated font size may be. Optional.\n */\n\n/**\n * Returns a font-size value based on a given font-size preset.\n * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.\n *\n * The Core PHP equivalent is wp_get_typography_font_size_value().\n *\n * @param {Preset} preset\n * @param {Object} settings\n * @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.\n * @param {Object?} settings.typography.layout Layout options.\n *\n * @return {string|*} A font-size value or the value of preset.size.\n */\nexport function getTypographyFontSizeValue( preset, settings ) {\n\tconst { size: defaultSize } = preset;\n\n\t/*\n\t * Catch falsy values and 0/'0'. Fluid calculations cannot be performed on `0`.\n\t * Also return early when a preset font size explicitly disables fluid typography with `false`.\n\t */\n\tif ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {\n\t\treturn defaultSize;\n\t}\n\n\t/*\n\t * Return early when fluid typography is disabled in the settings, and there\n\t * are no local settings to enable it for the individual preset.\n\t *\n\t * If this condition isn't met, either the settings or individual preset settings\n\t * have enabled fluid typography.\n\t */\n\tif (\n\t\t! isFluidTypographyEnabled( settings?.typography ) &&\n\t\t! isFluidTypographyEnabled( preset )\n\t) {\n\t\treturn defaultSize;\n\t}\n\n\tlet fluidTypographySettings =\n\t\tgetFluidTypographyOptionsFromSettings( settings );\n\tfluidTypographySettings =\n\t\ttypeof fluidTypographySettings?.fluid === 'object'\n\t\t\t? fluidTypographySettings?.fluid\n\t\t\t: {};\n\n\tconst fluidFontSizeValue = getComputedFluidTypographyValue( {\n\t\tminimumFontSize: preset?.fluid?.min,\n\t\tmaximumFontSize: preset?.fluid?.max,\n\t\tfontSize: defaultSize,\n\t\tminimumFontSizeLimit: fluidTypographySettings?.minFontSize,\n\t\tmaximumViewportWidth: fluidTypographySettings?.maxViewportWidth,\n\t\tminimumViewportWidth: fluidTypographySettings?.minViewportWidth,\n\t} );\n\n\tif ( !! fluidFontSizeValue ) {\n\t\treturn fluidFontSizeValue;\n\t}\n\n\treturn defaultSize;\n}\n\nfunction isFluidTypographyEnabled( typographySettings ) {\n\tconst fluidSettings = typographySettings?.fluid;\n\treturn (\n\t\ttrue === fluidSettings ||\n\t\t( fluidSettings &&\n\t\t\ttypeof fluidSettings === 'object' &&\n\t\t\tObject.keys( fluidSettings ).length > 0 )\n\t);\n}\n\n/**\n * Returns fluid typography settings from theme.json setting object.\n *\n * @param {Object} settings Theme.json settings\n * @param {Object} settings.typography Theme.json typography settings\n * @param {Object} settings.layout Theme.json layout settings\n * @return {TypographySettings} Fluid typography settings\n */\nexport function getFluidTypographyOptionsFromSettings( settings ) {\n\tconst typographySettings = settings?.typography;\n\tconst layoutSettings = settings?.layout;\n\tconst defaultMaxViewportWidth = getTypographyValueAndUnit(\n\t\tlayoutSettings?.wideSize\n\t)\n\t\t? layoutSettings?.wideSize\n\t\t: null;\n\treturn isFluidTypographyEnabled( typographySettings ) &&\n\t\tdefaultMaxViewportWidth\n\t\t? {\n\t\t\t\tfluid: {\n\t\t\t\t\tmaxViewportWidth: defaultMaxViewportWidth,\n\t\t\t\t\t...typographySettings.fluid,\n\t\t\t\t},\n\t\t }\n\t\t: {\n\t\t\t\tfluid: typographySettings?.fluid,\n\t\t };\n}\n\n/**\n * Returns an object of merged font families and the font faces from the selected font family\n * based on the theme.json settings object and the currently selected font family.\n *\n * @param {Object} settings Theme.json settings.\n * @param {string} selectedFontFamily Decoded font family string.\n * @return {Object} Merged font families and font faces from the selected font family.\n */\nexport function getMergedFontFamiliesAndFontFamilyFaces(\n\tsettings,\n\tselectedFontFamily\n) {\n\tconst fontFamiliesFromSettings = settings?.typography?.fontFamilies;\n\n\tconst fontFamilies = [ 'default', 'theme', 'custom' ].flatMap(\n\t\t( key ) => fontFamiliesFromSettings?.[ key ] ?? []\n\t);\n\n\tconst fontFamilyFaces =\n\t\tfontFamilies.find(\n\t\t\t( family ) => family.fontFamily === selectedFontFamily\n\t\t)?.fontFace ?? [];\n\n\treturn { fontFamilies, fontFamilyFaces };\n}\n\n/**\n * Returns the nearest font weight value from the available font weight list based on the new font weight.\n * The nearest font weight is the one with the smallest difference from the new font weight.\n *\n * @param {Array} availableFontWeights Array of available font weights.\n * @param {string} newFontWeightValue New font weight value.\n * @return {string} Nearest font weight.\n */\nexport function findNearestFontWeight(\n\tavailableFontWeights,\n\tnewFontWeightValue\n) {\n\tnewFontWeightValue =\n\t\t'number' === typeof newFontWeightValue\n\t\t\t? newFontWeightValue.toString()\n\t\t\t: newFontWeightValue;\n\tif ( ! newFontWeightValue || typeof newFontWeightValue !== 'string' ) {\n\t\treturn '';\n\t}\n\n\tif ( ! availableFontWeights || availableFontWeights.length === 0 ) {\n\t\treturn newFontWeightValue;\n\t}\n\n\tconst nearestFontWeight = availableFontWeights?.reduce(\n\t\t( nearest, { value: fw } ) => {\n\t\t\tconst currentDiff = Math.abs(\n\t\t\t\tparseInt( fw ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\tconst nearestDiff = Math.abs(\n\t\t\t\tparseInt( nearest ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\treturn currentDiff < nearestDiff ? fw : nearest;\n\t\t},\n\t\tavailableFontWeights[ 0 ]?.value\n\t);\n\n\treturn nearestFontWeight;\n}\n\n/**\n * Returns the nearest font style based on the new font style.\n * Defaults to an empty string if the new font style is not valid or available.\n *\n * @param {Array} availableFontStyles Array of available font weights.\n * @param {string} newFontStyleValue New font style value.\n * @return {string} Nearest font style or an empty string.\n */\nexport function findNearestFontStyle( availableFontStyles, newFontStyleValue ) {\n\tif ( typeof newFontStyleValue !== 'string' || ! newFontStyleValue ) {\n\t\treturn '';\n\t}\n\n\tconst validStyles = [ 'normal', 'italic', 'oblique' ];\n\tif ( ! validStyles.includes( newFontStyleValue ) ) {\n\t\treturn '';\n\t}\n\n\tif (\n\t\t! availableFontStyles ||\n\t\tavailableFontStyles.length === 0 ||\n\t\tavailableFontStyles.find(\n\t\t\t( style ) => style.value === newFontStyleValue\n\t\t)\n\t) {\n\t\treturn newFontStyleValue;\n\t}\n\n\tif (\n\t\tnewFontStyleValue === 'oblique' &&\n\t\t! availableFontStyles.find( ( style ) => style.value === 'oblique' )\n\t) {\n\t\treturn 'italic';\n\t}\n\n\treturn '';\n}\n\n/**\n * Returns the nearest font style and weight based on the available font family faces and the new font style and weight.\n *\n * @param {Array} fontFamilyFaces Array of available font family faces.\n * @param {string} fontStyle New font style. Defaults to previous value.\n * @param {string} fontWeight New font weight. Defaults to previous value.\n * @return {Object} Nearest font style and font weight.\n */\nexport function findNearestStyleAndWeight(\n\tfontFamilyFaces,\n\tfontStyle,\n\tfontWeight\n) {\n\tlet nearestFontStyle = fontStyle;\n\tlet nearestFontWeight = fontWeight;\n\n\tconst { fontStyles, fontWeights, combinedStyleAndWeightOptions } =\n\t\tgetFontStylesAndWeights( fontFamilyFaces );\n\n\t// Check if the new font style and weight are available in the font family faces.\n\tconst hasFontStyle = fontStyles?.some(\n\t\t( { value: fs } ) => fs === fontStyle\n\t);\n\tconst hasFontWeight = fontWeights?.some(\n\t\t( { value: fw } ) => fw?.toString() === fontWeight?.toString()\n\t);\n\n\tif ( ! hasFontStyle ) {\n\t\t/*\n\t\t * Default to italic if oblique is not available.\n\t\t * Or find the nearest font style based on the nearest font weight.\n\t\t */\n\t\tnearestFontStyle = fontStyle\n\t\t\t? findNearestFontStyle( fontStyles, fontStyle )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontWeight ===\n\t\t\t\t\t\tfindNearestFontWeight( fontWeights, fontWeight )\n\t\t\t )?.style?.fontStyle;\n\t}\n\n\tif ( ! hasFontWeight ) {\n\t\t/*\n\t\t * Find the nearest font weight based on available weights.\n\t\t * Or find the nearest font weight based on the nearest font style.\n\t\t */\n\t\tnearestFontWeight = fontWeight\n\t\t\t? findNearestFontWeight( fontWeights, fontWeight )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontStyle ===\n\t\t\t\t\t\t( nearestFontStyle || fontStyle )\n\t\t\t )?.style?.fontWeight;\n\t}\n\n\treturn { nearestFontStyle, nearestFontWeight };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SACCA,+BAA+B,EAC/BC,yBAAyB,QACnB,2BAA2B;AAClC,SAASC,uBAAuB,QAAQ,yCAAyC;;AAEjF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAAEC,MAAM,EAAEC,QAAQ,EAAG;EAC9D,MAAM;IAAEC,IAAI,EAAEC;EAAY,CAAC,GAAGH,MAAM;;EAEpC;AACD;AACA;AACA;EACC,IAAK,CAAEG,WAAW,IAAI,GAAG,KAAKA,WAAW,IAAI,KAAK,KAAKH,MAAM,EAAEI,KAAK,EAAG;IACtE,OAAOD,WAAW;EACnB;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;EACC,IACC,CAAEE,wBAAwB,CAAEJ,QAAQ,EAAEK,UAAW,CAAC,IAClD,CAAED,wBAAwB,CAAEL,MAAO,CAAC,EACnC;IACD,OAAOG,WAAW;EACnB;EAEA,IAAII,uBAAuB,GAC1BC,qCAAqC,CAAEP,QAAS,CAAC;EAClDM,uBAAuB,GACtB,OAAOA,uBAAuB,EAAEH,KAAK,KAAK,QAAQ,GAC/CG,uBAAuB,EAAEH,KAAK,GAC9B,CAAC,CAAC;EAEN,MAAMK,kBAAkB,GAAGb,+BAA+B,CAAE;IAC3Dc,eAAe,EAAEV,MAAM,EAAEI,KAAK,EAAEO,GAAG;IACnCC,eAAe,EAAEZ,MAAM,EAAEI,KAAK,EAAES,GAAG;IACnCC,QAAQ,EAAEX,WAAW;IACrBY,oBAAoB,EAAER,uBAAuB,EAAES,WAAW;IAC1DC,oBAAoB,EAAEV,uBAAuB,EAAEW,gBAAgB;IAC/DC,oBAAoB,EAAEZ,uBAAuB,EAAEa;EAChD,CAAE,CAAC;EAEH,IAAK,CAAC,CAAEX,kBAAkB,EAAG;IAC5B,OAAOA,kBAAkB;EAC1B;EAEA,OAAON,WAAW;AACnB;AAEA,SAASE,wBAAwBA,CAAEgB,kBAAkB,EAAG;EACvD,MAAMC,aAAa,GAAGD,kBAAkB,EAAEjB,KAAK;EAC/C,OACC,IAAI,KAAKkB,aAAa,IACpBA,aAAa,IACd,OAAOA,aAAa,KAAK,QAAQ,IACjCC,MAAM,CAACC,IAAI,CAAEF,aAAc,CAAC,CAACG,MAAM,GAAG,CAAG;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASjB,qCAAqCA,CAAEP,QAAQ,EAAG;EACjE,MAAMoB,kBAAkB,GAAGpB,QAAQ,EAAEK,UAAU;EAC/C,MAAMoB,cAAc,GAAGzB,QAAQ,EAAE0B,MAAM;EACvC,MAAMC,uBAAuB,GAAG/B,yBAAyB,CACxD6B,cAAc,EAAEG,QACjB,CAAC,GACEH,cAAc,EAAEG,QAAQ,GACxB,IAAI;EACP,OAAOxB,wBAAwB,CAAEgB,kBAAmB,CAAC,IACpDO,uBAAuB,GACrB;IACAxB,KAAK,EAAE;MACNc,gBAAgB,EAAEU,uBAAuB;MACzC,GAAGP,kBAAkB,CAACjB;IACvB;EACA,CAAC,GACD;IACAA,KAAK,EAAEiB,kBAAkB,EAAEjB;EAC3B,CAAC;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS0B,uCAAuCA,CACtD7B,QAAQ,EACR8B,kBAAkB,EACjB;EAAA,IAAAC,qBAAA;EACD,MAAMC,wBAAwB,GAAGhC,QAAQ,EAAEK,UAAU,EAAE4B,YAAY;EAEnE,MAAMA,YAAY,GAAG,CAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAE,CAACC,OAAO,CAC1DC,GAAG;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GAAMJ,wBAAwB,GAAIG,GAAG,CAAE,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,CACnD,CAAC;EAED,MAAMC,eAAe,IAAAN,qBAAA,GACpBE,YAAY,CAACK,IAAI,CACdC,MAAM,IAAMA,MAAM,CAACC,UAAU,KAAKV,kBACrC,CAAC,EAAEW,QAAQ,cAAAV,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAElB,OAAO;IAAEE,YAAY;IAAEI;EAAgB,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,qBAAqBA,CACpCC,oBAAoB,EACpBC,kBAAkB,EACjB;EACDA,kBAAkB,GACjB,QAAQ,KAAK,OAAOA,kBAAkB,GACnCA,kBAAkB,CAACC,QAAQ,CAAC,CAAC,GAC7BD,kBAAkB;EACtB,IAAK,CAAEA,kBAAkB,IAAI,OAAOA,kBAAkB,KAAK,QAAQ,EAAG;IACrE,OAAO,EAAE;EACV;EAEA,IAAK,CAAED,oBAAoB,IAAIA,oBAAoB,CAACnB,MAAM,KAAK,CAAC,EAAG;IAClE,OAAOoB,kBAAkB;EAC1B;EAEA,MAAME,iBAAiB,GAAGH,oBAAoB,EAAEI,MAAM,CACrD,CAAEC,OAAO,EAAE;IAAEC,KAAK,EAAEC;EAAG,CAAC,KAAM;IAC7B,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAC3BC,QAAQ,CAAEJ,EAAG,CAAC,GAAGI,QAAQ,CAAEV,kBAAmB,CAC/C,CAAC;IACD,MAAMW,WAAW,GAAGH,IAAI,CAACC,GAAG,CAC3BC,QAAQ,CAAEN,OAAQ,CAAC,GAAGM,QAAQ,CAAEV,kBAAmB,CACpD,CAAC;IACD,OAAOO,WAAW,GAAGI,WAAW,GAAGL,EAAE,GAAGF,OAAO;EAChD,CAAC,EACDL,oBAAoB,CAAE,CAAC,CAAE,EAAEM,KAC5B,CAAC;EAED,OAAOH,iBAAiB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,oBAAoBA,CAAEC,mBAAmB,EAAEC,iBAAiB,EAAG;EAC9E,IAAK,OAAOA,iBAAiB,KAAK,QAAQ,IAAI,CAAEA,iBAAiB,EAAG;IACnE,OAAO,EAAE;EACV;EAEA,MAAMC,WAAW,GAAG,CAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAE;EACrD,IAAK,CAAEA,WAAW,CAACC,QAAQ,CAAEF,iBAAkB,CAAC,EAAG;IAClD,OAAO,EAAE;EACV;EAEA,IACC,CAAED,mBAAmB,IACrBA,mBAAmB,CAACjC,MAAM,KAAK,CAAC,IAChCiC,mBAAmB,CAACnB,IAAI,CACrBuB,KAAK,IAAMA,KAAK,CAACZ,KAAK,KAAKS,iBAC9B,CAAC,EACA;IACD,OAAOA,iBAAiB;EACzB;EAEA,IACCA,iBAAiB,KAAK,SAAS,IAC/B,CAAED,mBAAmB,CAACnB,IAAI,CAAIuB,KAAK,IAAMA,KAAK,CAACZ,KAAK,KAAK,SAAU,CAAC,EACnE;IACD,OAAO,QAAQ;EAChB;EAEA,OAAO,EAAE;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,yBAAyBA,CACxCzB,eAAe,EACf0B,SAAS,EACTC,UAAU,EACT;EACD,IAAIC,gBAAgB,GAAGF,SAAS;EAChC,IAAIjB,iBAAiB,GAAGkB,UAAU;EAElC,MAAM;IAAEE,UAAU;IAAEC,WAAW;IAAEC;EAA8B,CAAC,GAC/DvE,uBAAuB,CAAEwC,eAAgB,CAAC;;EAE3C;EACA,MAAMgC,YAAY,GAAGH,UAAU,EAAEI,IAAI,CACpC,CAAE;IAAErB,KAAK,EAAEsB;EAAG,CAAC,KAAMA,EAAE,KAAKR,SAC7B,CAAC;EACD,MAAMS,aAAa,GAAGL,WAAW,EAAEG,IAAI,CACtC,CAAE;IAAErB,KAAK,EAAEC;EAAG,CAAC,KAAMA,EAAE,EAAEL,QAAQ,CAAC,CAAC,KAAKmB,UAAU,EAAEnB,QAAQ,CAAC,CAC9D,CAAC;EAED,IAAK,CAAEwB,YAAY,EAAG;IACrB;AACF;AACA;AACA;IACEJ,gBAAgB,GAAGF,SAAS,GACzBP,oBAAoB,CAAEU,UAAU,EAAEH,SAAU,CAAC,GAC7CK,6BAA6B,EAAE9B,IAAI,CACjCmC,MAAM,IACPA,MAAM,CAACZ,KAAK,CAACG,UAAU,KACvBtB,qBAAqB,CAAEyB,WAAW,EAAEH,UAAW,CAChD,CAAC,EAAEH,KAAK,EAAEE,SAAS;EACvB;EAEA,IAAK,CAAES,aAAa,EAAG;IACtB;AACF;AACA;AACA;IACE1B,iBAAiB,GAAGkB,UAAU,GAC3BtB,qBAAqB,CAAEyB,WAAW,EAAEH,UAAW,CAAC,GAChDI,6BAA6B,EAAE9B,IAAI,CACjCmC,MAAM,IACPA,MAAM,CAACZ,KAAK,CAACE,SAAS,MACpBE,gBAAgB,IAAIF,SAAS,CAChC,CAAC,EAAEF,KAAK,EAAEG,UAAU;EACxB;EAEA,OAAO;IAAEC,gBAAgB;IAAEnB;EAAkB,CAAC;AAC/C","ignoreList":[]}
@@ -4,13 +4,13 @@
4
4
  import { __EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY, __EXPERIMENTAL_ELEMENTS as ELEMENTS, getBlockSupport, getBlockTypes, store as blocksStore } from '@wordpress/blocks';
5
5
  import { useSelect } from '@wordpress/data';
6
6
  import { useContext, useMemo } from '@wordpress/element';
7
- import { getCSSRules } from '@wordpress/style-engine';
7
+ import { getCSSRules, getCSSValueFromRawStyle } from '@wordpress/style-engine';
8
8
  import { privateApis as componentsPrivateApis } from '@wordpress/components';
9
9
 
10
10
  /**
11
11
  * Internal dependencies
12
12
  */
13
- import { PRESET_METADATA, ROOT_BLOCK_SELECTOR, ROOT_CSS_PROPERTIES_SELECTOR, scopeSelector, scopeFeatureSelectors, appendToSelector, getBlockStyleVariationSelector, compileStyleValue, getResolvedValue } from './utils';
13
+ import { PRESET_METADATA, ROOT_BLOCK_SELECTOR, ROOT_CSS_PROPERTIES_SELECTOR, scopeSelector, scopeFeatureSelectors, appendToSelector, getBlockStyleVariationSelector, getResolvedValue } from './utils';
14
14
  import { getBlockCSSSelector } from './get-block-css-selector';
15
15
  import { getTypographyFontSizeValue } from './typography-utils';
16
16
  import { GlobalStylesContext } from './context';
@@ -265,11 +265,11 @@ export function getStylesDeclarations(blockStyles = {}, selector = '', useRootPa
265
265
  return;
266
266
  }
267
267
  const cssProperty = name.startsWith('--') ? name : kebabCase(name);
268
- declarations.push(`${cssProperty}: ${compileStyleValue(getValueFromObjectPath(styleValue, [prop]))}`);
268
+ declarations.push(`${cssProperty}: ${getCSSValueFromRawStyle(getValueFromObjectPath(styleValue, [prop]))}`);
269
269
  });
270
270
  } else if (getValueFromObjectPath(blockStyles, pathToValue, false)) {
271
271
  const cssProperty = key.startsWith('--') ? key : kebabCase(key);
272
- declarations.push(`${cssProperty}: ${compileStyleValue(getValueFromObjectPath(blockStyles, pathToValue))}`);
272
+ declarations.push(`${cssProperty}: ${getCSSValueFromRawStyle(getValueFromObjectPath(blockStyles, pathToValue))}`);
273
273
  }
274
274
  return declarations;
275
275
  }, []);
@@ -395,7 +395,7 @@ export function getLayoutStyles({
395
395
  // For fallback gap styles, use lower specificity, to ensure styles do not unintentionally override theme styles.
396
396
  combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `:where(.${className}${spacingStyle?.selector || ''})` : `:where(${selector}.${className}${spacingStyle?.selector || ''})`;
397
397
  } else {
398
- combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `.${className}${spacingStyle?.selector || ''}` : `${selector}-${className}${spacingStyle?.selector || ''}`;
398
+ combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `:root :where(.${className})${spacingStyle?.selector || ''}` : `:root :where(${selector}-${className})${spacingStyle?.selector || ''}`;
399
399
  }
400
400
  ruleset += `${combinedSelector} { ${declarations.join('; ')}; }`;
401
401
  }