@wordpress/block-editor 14.5.0 → 14.6.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 (431) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +0 -8
  3. package/build/autocompleters/block.js +13 -5
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-canvas/index.js +10 -0
  6. package/build/components/block-canvas/index.js.map +1 -1
  7. package/build/components/block-card/index.js +2 -2
  8. package/build/components/block-card/index.js.map +1 -1
  9. package/build/components/block-full-height-alignment-control/index.js +1 -1
  10. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  11. package/build/components/block-list/block.js +1 -1
  12. package/build/components/block-list/block.js.map +1 -1
  13. package/build/components/block-list/block.native.js +1 -7
  14. package/build/components/block-list/block.native.js.map +1 -1
  15. package/build/components/block-list/index.js +5 -5
  16. package/build/components/block-list/index.js.map +1 -1
  17. package/build/components/block-list/use-block-props/index.js +1 -2
  18. package/build/components/block-list/use-block-props/index.js.map +1 -1
  19. package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -3
  20. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  21. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
  22. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  23. package/build/components/block-list/use-in-between-inserter.js +1 -1
  24. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  25. package/build/components/block-patterns-paging/index.js +1 -1
  26. package/build/components/block-patterns-paging/index.js.map +1 -1
  27. package/build/components/block-popover/index.js +2 -45
  28. package/build/components/block-popover/index.js.map +1 -1
  29. package/build/components/block-preview/index.js +2 -2
  30. package/build/components/block-preview/index.js.map +1 -1
  31. package/build/components/block-settings-menu/block-settings-dropdown.js +5 -0
  32. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  33. package/build/components/block-settings-menu/index.js +4 -3
  34. package/build/components/block-settings-menu/index.js.map +1 -1
  35. package/build/components/block-toolbar/change-design.js +122 -0
  36. package/build/components/block-toolbar/change-design.js.map +1 -0
  37. package/build/components/block-toolbar/index.js +19 -7
  38. package/build/components/block-toolbar/index.js.map +1 -1
  39. package/build/components/block-tools/index.js +4 -10
  40. package/build/components/block-tools/index.js.map +1 -1
  41. package/build/components/block-tools/insertion-point.js +4 -3
  42. package/build/components/block-tools/insertion-point.js.map +1 -1
  43. package/build/components/block-tools/use-show-block-tools.js +3 -9
  44. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  45. package/build/components/block-tools/zoom-out-mode-inserters.js +20 -29
  46. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  47. package/build/components/block-variation-transforms/index.js +2 -2
  48. package/build/components/block-variation-transforms/index.js.map +1 -1
  49. package/build/components/block-vertical-alignment-control/ui.js +6 -10
  50. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  51. package/build/components/border-radius-control/linked-button.js +7 -10
  52. package/build/components/border-radius-control/linked-button.js.map +1 -1
  53. package/build/components/collab/block-comment-icon-slot.js +18 -0
  54. package/build/components/collab/block-comment-icon-slot.js.map +1 -0
  55. package/build/components/collab/block-comment-icon-toolbar-slot.js +18 -0
  56. package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
  57. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  58. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  59. package/build/components/convert-to-group-buttons/toolbar.js +4 -4
  60. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  61. package/build/components/global-styles/color-panel.js +1 -4
  62. package/build/components/global-styles/color-panel.js.map +1 -1
  63. package/build/components/global-styles/use-global-styles-context.native.js +6 -0
  64. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  65. package/build/components/iframe/index.js +17 -22
  66. package/build/components/iframe/index.js.map +1 -1
  67. package/build/components/image-size-control/index.js +61 -20
  68. package/build/components/image-size-control/index.js.map +1 -1
  69. package/build/components/inner-blocks/index.js +9 -5
  70. package/build/components/inner-blocks/index.js.map +1 -1
  71. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  72. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  73. package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  74. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  75. package/build/components/inserter/category-tabs/index.js +15 -2
  76. package/build/components/inserter/category-tabs/index.js.map +1 -1
  77. package/build/components/inserter/menu.js +4 -2
  78. package/build/components/inserter/menu.js.map +1 -1
  79. package/build/components/inserter-button/index.native.js +1 -1
  80. package/build/components/inserter-button/index.native.js.map +1 -1
  81. package/build/components/inspector-controls-tabs/index.js +0 -2
  82. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  83. package/build/components/inspector-controls-tabs/utils.js +3 -6
  84. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  85. package/build/components/link-control/link-preview.js +12 -9
  86. package/build/components/link-control/link-preview.js.map +1 -1
  87. package/build/components/list-view/appender.js +4 -3
  88. package/build/components/list-view/appender.js.map +1 -1
  89. package/build/components/list-view/branch.js +6 -5
  90. package/build/components/list-view/branch.js.map +1 -1
  91. package/build/components/list-view/index.js +1 -2
  92. package/build/components/list-view/index.js.map +1 -1
  93. package/build/components/provider/index.js +1 -1
  94. package/build/components/provider/index.js.map +1 -1
  95. package/build/components/rich-text/event-listeners/index.js +3 -1
  96. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  97. package/build/components/rich-text/index.native.js +2 -6
  98. package/build/components/rich-text/index.native.js.map +1 -1
  99. package/build/components/spacing-sizes-control/index.js +2 -2
  100. package/build/components/spacing-sizes-control/index.js.map +1 -1
  101. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
  102. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  103. package/build/components/spacing-sizes-control/linked-button.js +1 -5
  104. package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
  105. package/build/components/tool-selector/index.js +1 -4
  106. package/build/components/tool-selector/index.js.map +1 -1
  107. package/build/components/url-input/index.js +1 -1
  108. package/build/components/url-input/index.js.map +1 -1
  109. package/build/components/use-block-commands/index.js +1 -1
  110. package/build/components/use-block-commands/index.js.map +1 -1
  111. package/build/components/use-block-drop-zone/index.js +5 -5
  112. package/build/components/use-block-drop-zone/index.js.map +1 -1
  113. package/build/components/use-block-drop-zone/index.native.js +0 -1
  114. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  115. package/build/components/use-moving-animation/index.js +1 -3
  116. package/build/components/use-moving-animation/index.js.map +1 -1
  117. package/build/components/use-settings/index.js +1 -3
  118. package/build/components/use-settings/index.js.map +1 -1
  119. package/build/components/writing-flow/index.js +5 -3
  120. package/build/components/writing-flow/index.js.map +1 -1
  121. package/build/components/writing-flow/use-tab-nav.js +2 -3
  122. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  123. package/build/hooks/block-bindings.js +19 -8
  124. package/build/hooks/block-bindings.js.map +1 -1
  125. package/build/hooks/contrast-checker.js +0 -1
  126. package/build/hooks/contrast-checker.js.map +1 -1
  127. package/build/hooks/duotone.js +2 -2
  128. package/build/hooks/duotone.js.map +1 -1
  129. package/build/hooks/style.js +4 -1
  130. package/build/hooks/style.js.map +1 -1
  131. package/build/hooks/use-zoom-out.js +13 -22
  132. package/build/hooks/use-zoom-out.js.map +1 -1
  133. package/build/index.js +0 -7
  134. package/build/index.js.map +1 -1
  135. package/build/private-apis.js +6 -3
  136. package/build/private-apis.js.map +1 -1
  137. package/build/store/actions.js +2 -33
  138. package/build/store/actions.js.map +1 -1
  139. package/build/store/defaults.js +1 -1
  140. package/build/store/defaults.js.map +1 -1
  141. package/build/store/private-actions.js +57 -8
  142. package/build/store/private-actions.js.map +1 -1
  143. package/build/store/private-selectors.js +9 -21
  144. package/build/store/private-selectors.js.map +1 -1
  145. package/build/store/reducer.js +16 -6
  146. package/build/store/reducer.js.map +1 -1
  147. package/build/store/selectors.js +44 -7
  148. package/build/store/selectors.js.map +1 -1
  149. package/build/utils/dom.js +16 -1
  150. package/build/utils/dom.js.map +1 -1
  151. package/build/utils/get-font-styles-and-weights.js +1 -1
  152. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  153. package/build/utils/transform-styles/index.js +4 -3
  154. package/build/utils/transform-styles/index.js.map +1 -1
  155. package/build-module/autocompleters/block.js +14 -6
  156. package/build-module/autocompleters/block.js.map +1 -1
  157. package/build-module/components/block-canvas/index.js +11 -1
  158. package/build-module/components/block-canvas/index.js.map +1 -1
  159. package/build-module/components/block-card/index.js +3 -3
  160. package/build-module/components/block-card/index.js.map +1 -1
  161. package/build-module/components/block-full-height-alignment-control/index.js +1 -1
  162. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  163. package/build-module/components/block-list/block.js +1 -1
  164. package/build-module/components/block-list/block.js.map +1 -1
  165. package/build-module/components/block-list/block.native.js +1 -7
  166. package/build-module/components/block-list/block.native.js.map +1 -1
  167. package/build-module/components/block-list/index.js +5 -5
  168. package/build-module/components/block-list/index.js.map +1 -1
  169. package/build-module/components/block-list/use-block-props/index.js +1 -2
  170. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  171. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -3
  172. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  173. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
  174. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  175. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  176. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  177. package/build-module/components/block-patterns-paging/index.js +1 -1
  178. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  179. package/build-module/components/block-popover/index.js +2 -45
  180. package/build-module/components/block-popover/index.js.map +1 -1
  181. package/build-module/components/block-preview/index.js +2 -2
  182. package/build-module/components/block-preview/index.js.map +1 -1
  183. package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -0
  184. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  185. package/build-module/components/block-settings-menu/index.js +5 -4
  186. package/build-module/components/block-settings-menu/index.js.map +1 -1
  187. package/build-module/components/block-toolbar/change-design.js +114 -0
  188. package/build-module/components/block-toolbar/change-design.js.map +1 -0
  189. package/build-module/components/block-toolbar/index.js +19 -7
  190. package/build-module/components/block-toolbar/index.js.map +1 -1
  191. package/build-module/components/block-tools/index.js +4 -10
  192. package/build-module/components/block-tools/index.js.map +1 -1
  193. package/build-module/components/block-tools/insertion-point.js +4 -3
  194. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  195. package/build-module/components/block-tools/use-show-block-tools.js +3 -9
  196. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  197. package/build-module/components/block-tools/zoom-out-mode-inserters.js +20 -29
  198. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  199. package/build-module/components/block-variation-transforms/index.js +2 -2
  200. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  201. package/build-module/components/block-vertical-alignment-control/ui.js +6 -10
  202. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  203. package/build-module/components/border-radius-control/linked-button.js +8 -11
  204. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  205. package/build-module/components/collab/block-comment-icon-slot.js +11 -0
  206. package/build-module/components/collab/block-comment-icon-slot.js.map +1 -0
  207. package/build-module/components/collab/block-comment-icon-toolbar-slot.js +11 -0
  208. package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
  209. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  210. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  211. package/build-module/components/convert-to-group-buttons/toolbar.js +4 -4
  212. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  213. package/build-module/components/global-styles/color-panel.js +2 -5
  214. package/build-module/components/global-styles/color-panel.js.map +1 -1
  215. package/build-module/components/global-styles/use-global-styles-context.native.js +6 -0
  216. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  217. package/build-module/components/iframe/index.js +17 -22
  218. package/build-module/components/iframe/index.js.map +1 -1
  219. package/build-module/components/image-size-control/index.js +62 -21
  220. package/build-module/components/image-size-control/index.js.map +1 -1
  221. package/build-module/components/inner-blocks/index.js +9 -5
  222. package/build-module/components/inner-blocks/index.js.map +1 -1
  223. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  224. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  225. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  226. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  227. package/build-module/components/inserter/category-tabs/index.js +15 -2
  228. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  229. package/build-module/components/inserter/menu.js +5 -3
  230. package/build-module/components/inserter/menu.js.map +1 -1
  231. package/build-module/components/inserter-button/index.native.js +1 -1
  232. package/build-module/components/inserter-button/index.native.js.map +1 -1
  233. package/build-module/components/inspector-controls-tabs/index.js +0 -2
  234. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  235. package/build-module/components/inspector-controls-tabs/utils.js +3 -6
  236. package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
  237. package/build-module/components/link-control/link-preview.js +13 -10
  238. package/build-module/components/link-control/link-preview.js.map +1 -1
  239. package/build-module/components/list-view/appender.js +4 -3
  240. package/build-module/components/list-view/appender.js.map +1 -1
  241. package/build-module/components/list-view/branch.js +7 -6
  242. package/build-module/components/list-view/branch.js.map +1 -1
  243. package/build-module/components/list-view/index.js +1 -2
  244. package/build-module/components/list-view/index.js.map +1 -1
  245. package/build-module/components/provider/index.js +1 -1
  246. package/build-module/components/provider/index.js.map +1 -1
  247. package/build-module/components/rich-text/event-listeners/index.js +4 -2
  248. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  249. package/build-module/components/rich-text/index.native.js +2 -6
  250. package/build-module/components/rich-text/index.native.js.map +1 -1
  251. package/build-module/components/spacing-sizes-control/index.js +3 -3
  252. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  253. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  254. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  255. package/build-module/components/spacing-sizes-control/linked-button.js +2 -6
  256. package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
  257. package/build-module/components/tool-selector/index.js +1 -4
  258. package/build-module/components/tool-selector/index.js.map +1 -1
  259. package/build-module/components/url-input/index.js +1 -1
  260. package/build-module/components/url-input/index.js.map +1 -1
  261. package/build-module/components/use-block-commands/index.js +1 -1
  262. package/build-module/components/use-block-commands/index.js.map +1 -1
  263. package/build-module/components/use-block-drop-zone/index.js +5 -5
  264. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  265. package/build-module/components/use-block-drop-zone/index.native.js +0 -1
  266. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  267. package/build-module/components/use-moving-animation/index.js +1 -3
  268. package/build-module/components/use-moving-animation/index.js.map +1 -1
  269. package/build-module/components/use-settings/index.js +1 -3
  270. package/build-module/components/use-settings/index.js.map +1 -1
  271. package/build-module/components/writing-flow/index.js +5 -3
  272. package/build-module/components/writing-flow/index.js.map +1 -1
  273. package/build-module/components/writing-flow/use-tab-nav.js +2 -3
  274. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  275. package/build-module/hooks/block-bindings.js +20 -9
  276. package/build-module/hooks/block-bindings.js.map +1 -1
  277. package/build-module/hooks/contrast-checker.js +0 -1
  278. package/build-module/hooks/contrast-checker.js.map +1 -1
  279. package/build-module/hooks/duotone.js +2 -2
  280. package/build-module/hooks/duotone.js.map +1 -1
  281. package/build-module/hooks/style.js +4 -1
  282. package/build-module/hooks/style.js.map +1 -1
  283. package/build-module/hooks/use-zoom-out.js +15 -23
  284. package/build-module/hooks/use-zoom-out.js.map +1 -1
  285. package/build-module/index.js +1 -1
  286. package/build-module/index.js.map +1 -1
  287. package/build-module/private-apis.js +7 -5
  288. package/build-module/private-apis.js.map +1 -1
  289. package/build-module/store/actions.js +2 -33
  290. package/build-module/store/actions.js.map +1 -1
  291. package/build-module/store/defaults.js +1 -1
  292. package/build-module/store/defaults.js.map +1 -1
  293. package/build-module/store/private-actions.js +54 -7
  294. package/build-module/store/private-actions.js.map +1 -1
  295. package/build-module/store/private-selectors.js +9 -20
  296. package/build-module/store/private-selectors.js.map +1 -1
  297. package/build-module/store/reducer.js +16 -6
  298. package/build-module/store/reducer.js.map +1 -1
  299. package/build-module/store/selectors.js +45 -8
  300. package/build-module/store/selectors.js.map +1 -1
  301. package/build-module/utils/dom.js +16 -1
  302. package/build-module/utils/dom.js.map +1 -1
  303. package/build-module/utils/get-font-styles-and-weights.js +2 -2
  304. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  305. package/build-module/utils/transform-styles/index.js +3 -2
  306. package/build-module/utils/transform-styles/index.js.map +1 -1
  307. package/build-style/content-rtl.css +9 -4
  308. package/build-style/content.css +9 -4
  309. package/build-style/style-rtl.css +33 -22
  310. package/build-style/style.css +33 -22
  311. package/build-types/utils/dom.d.ts.map +1 -1
  312. package/package.json +33 -32
  313. package/src/autocompleters/block.js +16 -7
  314. package/src/components/block-canvas/index.js +17 -1
  315. package/src/components/block-canvas/style.scss +2 -0
  316. package/src/components/block-card/index.js +3 -3
  317. package/src/components/block-full-height-alignment-control/index.js +1 -1
  318. package/src/components/block-inspector/style.scss +0 -6
  319. package/src/components/block-list/block.js +1 -2
  320. package/src/components/block-list/block.native.js +0 -4
  321. package/src/components/block-list/content.scss +1 -1
  322. package/src/components/block-list/index.js +4 -4
  323. package/src/components/block-list/use-block-props/index.js +0 -2
  324. package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -3
  325. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +7 -20
  326. package/src/components/block-list/use-in-between-inserter.js +1 -1
  327. package/src/components/block-patterns-list/stories/fixtures.js +834 -0
  328. package/src/components/block-patterns-list/stories/index.story.js +81 -0
  329. package/src/components/block-patterns-list/style.scss +2 -0
  330. package/src/components/block-patterns-paging/index.js +1 -1
  331. package/src/components/block-popover/index.js +0 -62
  332. package/src/components/block-preview/index.js +2 -2
  333. package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
  334. package/src/components/block-settings-menu/index.js +3 -0
  335. package/src/components/block-toolbar/change-design.js +133 -0
  336. package/src/components/block-toolbar/index.js +25 -8
  337. package/src/components/block-toolbar/style.scss +16 -0
  338. package/src/components/block-tools/index.js +4 -17
  339. package/src/components/block-tools/insertion-point.js +4 -3
  340. package/src/components/block-tools/style.scss +0 -20
  341. package/src/components/block-tools/use-show-block-tools.js +0 -13
  342. package/src/components/block-tools/zoom-out-mode-inserters.js +25 -40
  343. package/src/components/block-variation-transforms/index.js +2 -2
  344. package/src/components/block-vertical-alignment-control/ui.js +11 -15
  345. package/src/components/border-radius-control/linked-button.js +9 -11
  346. package/src/components/collab/block-comment-icon-slot.js +12 -0
  347. package/src/components/collab/block-comment-icon-toolbar-slot.js +12 -0
  348. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  349. package/src/components/convert-to-group-buttons/toolbar.js +4 -4
  350. package/src/components/global-styles/color-panel.js +2 -10
  351. package/src/components/global-styles/test/use-global-styles-context.native.js +1 -0
  352. package/src/components/global-styles/use-global-styles-context.native.js +6 -0
  353. package/src/components/iframe/content.scss +4 -9
  354. package/src/components/iframe/index.js +31 -34
  355. package/src/components/iframe/style.scss +2 -3
  356. package/src/components/image-size-control/index.js +74 -43
  357. package/src/components/image-size-control/test/index.js +5 -63
  358. package/src/components/inner-blocks/index.js +12 -6
  359. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -3
  360. package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  361. package/src/components/inserter/category-tabs/index.js +16 -2
  362. package/src/components/inserter/menu.js +6 -4
  363. package/src/components/inserter/style.scss +13 -0
  364. package/src/components/inserter-button/index.native.js +1 -1
  365. package/src/components/inspector-controls-tabs/index.js +1 -6
  366. package/src/components/inspector-controls-tabs/utils.js +0 -3
  367. package/src/components/link-control/link-preview.js +15 -8
  368. package/src/components/link-control/test/index.js +63 -24
  369. package/src/components/list-view/appender.js +5 -6
  370. package/src/components/list-view/branch.js +8 -6
  371. package/src/components/list-view/index.js +1 -2
  372. package/src/components/provider/index.js +1 -3
  373. package/src/components/provider/test/experimental-provider.js +43 -1
  374. package/src/components/rich-text/event-listeners/index.js +4 -2
  375. package/src/components/rich-text/index.native.js +0 -2
  376. package/src/components/spacing-sizes-control/index.js +3 -3
  377. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  378. package/src/components/spacing-sizes-control/linked-button.js +2 -12
  379. package/src/components/tool-selector/index.js +1 -5
  380. package/src/components/url-input/index.js +1 -1
  381. package/src/components/use-block-commands/index.js +1 -1
  382. package/src/components/use-block-drop-zone/index.js +5 -5
  383. package/src/components/use-block-drop-zone/index.native.js +0 -1
  384. package/src/components/use-moving-animation/index.js +0 -1
  385. package/src/components/use-settings/index.js +0 -1
  386. package/src/components/writing-flow/index.js +5 -3
  387. package/src/components/writing-flow/use-tab-nav.js +1 -2
  388. package/src/hooks/block-bindings.js +48 -31
  389. package/src/hooks/contrast-checker.js +0 -1
  390. package/src/hooks/duotone.js +2 -2
  391. package/src/hooks/style.js +7 -3
  392. package/src/hooks/use-zoom-out.js +14 -34
  393. package/src/index.js +0 -1
  394. package/src/private-apis.js +6 -3
  395. package/src/store/actions.js +3 -52
  396. package/src/store/defaults.js +2 -1
  397. package/src/store/private-actions.js +71 -8
  398. package/src/store/private-selectors.js +9 -19
  399. package/src/store/reducer.js +25 -11
  400. package/src/store/selectors.js +59 -8
  401. package/src/store/test/actions.js +41 -0
  402. package/src/store/test/reducer.js +23 -0
  403. package/src/utils/dom.js +22 -2
  404. package/src/utils/get-font-styles-and-weights.js +2 -2
  405. package/src/utils/transform-styles/index.js +3 -2
  406. package/tsconfig.tsbuildinfo +1 -1
  407. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -57
  408. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
  409. package/build/components/block-toolbar/shuffle.js +0 -110
  410. package/build/components/block-toolbar/shuffle.js.map +0 -1
  411. package/build/components/block-tools/zoom-out-popover.js +0 -58
  412. package/build/components/block-tools/zoom-out-popover.js.map +0 -1
  413. package/build/components/block-tools/zoom-out-toolbar.js +0 -132
  414. package/build/components/block-tools/zoom-out-toolbar.js.map +0 -1
  415. package/build/components/block-vertical-alignment-control/icons.js +0 -48
  416. package/build/components/block-vertical-alignment-control/icons.js.map +0 -1
  417. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -51
  418. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
  419. package/build-module/components/block-toolbar/shuffle.js +0 -103
  420. package/build-module/components/block-toolbar/shuffle.js.map +0 -1
  421. package/build-module/components/block-tools/zoom-out-popover.js +0 -49
  422. package/build-module/components/block-tools/zoom-out-popover.js.map +0 -1
  423. package/build-module/components/block-tools/zoom-out-toolbar.js +0 -124
  424. package/build-module/components/block-tools/zoom-out-toolbar.js.map +0 -1
  425. package/build-module/components/block-vertical-alignment-control/icons.js +0 -41
  426. package/build-module/components/block-vertical-alignment-control/icons.js.map +0 -1
  427. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -65
  428. package/src/components/block-toolbar/shuffle.js +0 -111
  429. package/src/components/block-tools/zoom-out-popover.js +0 -47
  430. package/src/components/block-tools/zoom-out-toolbar.js +0 -135
  431. package/src/components/block-vertical-alignment-control/icons.js +0 -34
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","_jsxRuntime","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundColorPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","useColorsPerOrigin","color","text","length","custom","link","caption","gradients","useGradientsPerOrigin","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","hasInnerWrapper","headingLevel","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","Tabs","unlock","componentsPrivateApis","LabeledColorIndicators","indicators","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","expanded","ColorIndicator","colorValue","FlexItem","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","_tabs$","currentTab","find","tab","key","firstTabKey","firstTab","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","sprintf","Button","__next40pxDefaultSize","renderContent","__experimentalDropdownContentWrapper","paddingSize","defaultTabId","TabList","Tab","tabId","tabKey","restTabProps","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","getValueFromVariable","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setImmutably","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","useCallback","previousValue","reduce","acc","element","items","filter","Boolean","forEach","elementBackgroundColor","elementGradient","elementTextColor","elementBackgroundUserColor","elementGradientUserColor","elementTextUserColor","hasElement","resetElement","setElementTextColor","newTextColor","setElementBackgroundColor","newBackgroundColor","setElementGradient","supportsTextColor","supportsBackground","push","item","restItem","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { unlock } from '../../lock-unlock';\n\nexport function useHasColorPanel( settings ) {\n\tconst hasTextPanel = useHasTextPanel( settings );\n\tconst hasBackgroundPanel = useHasBackgroundColorPanel( settings );\n\tconst hasLinkPanel = useHasLinkPanel( settings );\n\tconst hasHeadingPanel = useHasHeadingPanel( settings );\n\tconst hasButtonPanel = useHasButtonPanel( settings );\n\tconst hasCaptionPanel = useHasCaptionPanel( settings );\n\n\treturn (\n\t\thasTextPanel ||\n\t\thasBackgroundPanel ||\n\t\thasLinkPanel ||\n\t\thasHeadingPanel ||\n\t\thasButtonPanel ||\n\t\thasCaptionPanel\n\t);\n}\n\nexport function useHasTextPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.text &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasLinkPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.link &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasCaptionPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.caption &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasHeadingPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.heading &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasButtonPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.button &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasBackgroundColorPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.background &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nfunction ColorToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Elements' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\theadingLevel={ 3 }\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<div className=\"color-block-support-panel__inner-wrapper\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\ttext: true,\n\tbackground: true,\n\tlink: true,\n\theading: true,\n\tbutton: true,\n\tcaption: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n};\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst LabeledColorIndicators = ( { indicators, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t{ indicators.map( ( indicator, index ) => (\n\t\t\t\t<Flex key={ index } expanded={ false }>\n\t\t\t\t\t<ColorIndicator colorValue={ indicator } />\n\t\t\t\t</Flex>\n\t\t\t) ) }\n\t\t</ZStack>\n\t\t<FlexItem\n\t\t\tclassName=\"block-editor-panel-color-gradient-settings__color-name\"\n\t\t\ttitle={ label }\n\t\t>\n\t\t\t{ label }\n\t\t</FlexItem>\n\t</HStack>\n);\n\nfunction ColorPanelTab( {\n\tisGradient,\n\tinheritedValue,\n\tuserValue,\n\tsetValue,\n\tcolorGradientControlSettings,\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...colorGradientControlSettings }\n\t\t\tshowTitle={ false }\n\t\t\tenableAlpha\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\tcolorValue={ isGradient ? undefined : inheritedValue }\n\t\t\tgradientValue={ isGradient ? inheritedValue : undefined }\n\t\t\tonColorChange={ isGradient ? undefined : setValue }\n\t\t\tonGradientChange={ isGradient ? setValue : undefined }\n\t\t\tclearable={ inheritedValue === userValue }\n\t\t\theadingLevel={ 3 }\n\t\t/>\n\t);\n}\n\nfunction ColorPanelDropdown( {\n\tlabel,\n\thasValue,\n\tresetValue,\n\tisShownByDefault,\n\tindicators,\n\ttabs,\n\tcolorGradientControlSettings,\n\tpanelId,\n} ) {\n\tconst currentTab = tabs.find( ( tab ) => tab.userValue !== undefined );\n\tconst { key: firstTabKey, ...firstTab } = tabs[ 0 ] ?? {};\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__item\"\n\t\t\thasValue={ hasValue }\n\t\t\tlabel={ label }\n\t\t\tonDeselect={ resetValue }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__dropdown\"\n\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__dropdown',\n\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t/* translators: %s is the type of color property, e.g., \"background\" */\n\t\t\t\t\t\t\t__( 'Color %s styles' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t\t\t<LabeledColorIndicators\n\t\t\t\t\t\t\t\tindicators={ indicators }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t\t\t\t<div className=\"block-editor-panel-color-gradient-settings__dropdown-content\">\n\t\t\t\t\t\t\t{ tabs.length === 1 && (\n\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\tkey={ firstTabKey }\n\t\t\t\t\t\t\t\t\t{ ...firstTab }\n\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ tabs.length > 1 && (\n\t\t\t\t\t\t\t\t<Tabs defaultTabId={ currentTab?.key }>\n\t\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ tab.label }\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</Tabs.TabList>\n\n\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\t\t\t\tconst { key: tabKey, ...restTabProps } =\n\t\t\t\t\t\t\t\t\t\t\ttab;\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...restTabProps }\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport default function ColorPanel( {\n\tas: Wrapper = ColorToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tchildren,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst areCustomGradientsEnabled = settings?.color?.customGradient;\n\tconst hasSolidColors = colors.length > 0 || areCustomSolidsEnabled;\n\tconst hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled;\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst encodeGradientValue = ( gradientValue ) => {\n\t\tconst allGradients = gradients.flatMap(\n\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t);\n\t\tconst gradientObject = allGradients.find(\n\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t);\n\t\treturn gradientObject\n\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t: gradientValue;\n\t};\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundColorPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst userBackgroundColor = decodeValue( value?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst userGradient = decodeValue( value?.color?.gradient );\n\tconst hasBackground = () => !! userBackgroundColor || !! userGradient;\n\tconst setBackgroundColor = ( newColor ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst setGradient = ( newGradient ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'gradient' ],\n\t\t\tencodeGradientValue( newGradient )\n\t\t);\n\t\tnewValue.color.background = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst resetBackground = () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\n\t// Links\n\tconst showLinkPanel = useHasLinkPanel( settings );\n\tconst linkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.color?.text\n\t);\n\tconst userLinkColor = decodeValue( value?.elements?.link?.color?.text );\n\tconst setLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hoverLinkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst userHoverLinkColor = decodeValue(\n\t\tvalue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst setHoverLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLink = () => !! userLinkColor || !! userHoverLinkColor;\n\tconst resetLink = () => {\n\t\tlet newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue = setImmutably(\n\t\t\tnewValue,\n\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tonChange( newValue );\n\t};\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst userTextColor = decodeValue( value?.color?.text );\n\tconst hasTextColor = () => !! userTextColor;\n\tconst setTextColor = ( newColor ) => {\n\t\tlet changedObject = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'text' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tif ( textColor === linkColor ) {\n\t\t\tchangedObject = setImmutably(\n\t\t\t\tchangedObject,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t}\n\n\t\tonChange( changedObject );\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\n\n\t// Elements\n\tconst elements = [\n\t\t{\n\t\t\tname: 'caption',\n\t\t\tlabel: __( 'Captions' ),\n\t\t\tshowPanel: useHasCaptionPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'button',\n\t\t\tlabel: __( 'Button' ),\n\t\t\tshowPanel: useHasButtonPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'heading',\n\t\t\tlabel: __( 'Heading' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h1',\n\t\t\tlabel: __( 'H1' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h2',\n\t\t\tlabel: __( 'H2' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h3',\n\t\t\tlabel: __( 'H3' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h4',\n\t\t\tlabel: __( 'H4' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h5',\n\t\t\tlabel: __( 'H5' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h6',\n\t\t\tlabel: __( 'H6' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t];\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tcolor: undefined,\n\t\t\telements: {\n\t\t\t\t...previousValue?.elements,\n\t\t\t\tlink: {\n\t\t\t\t\t...previousValue?.elements?.link,\n\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t':hover': {\n\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t...elements.reduce( ( acc, element ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ element.name ]: {\n\t\t\t\t\t\t\t...previousValue?.elements?.[ element.name ],\n\t\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}, {} ),\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst items = [\n\t\tshowTextPanel && {\n\t\t\tkey: 'text',\n\t\t\tlabel: __( 'Text' ),\n\t\t\thasValue: hasTextColor,\n\t\t\tresetValue: resetTextColor,\n\t\t\tisShownByDefault: defaultControls.text,\n\t\t\tindicators: [ textColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'text',\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tinheritedValue: textColor,\n\t\t\t\t\tsetValue: setTextColor,\n\t\t\t\t\tuserValue: userTextColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tshowBackgroundPanel && {\n\t\t\tkey: 'background',\n\t\t\tlabel: __( 'Background' ),\n\t\t\thasValue: hasBackground,\n\t\t\tresetValue: resetBackground,\n\t\t\tisShownByDefault: defaultControls.background,\n\t\t\tindicators: [ gradient ?? backgroundColor ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors && {\n\t\t\t\t\tkey: 'background',\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\tinheritedValue: backgroundColor,\n\t\t\t\t\tsetValue: setBackgroundColor,\n\t\t\t\t\tuserValue: userBackgroundColor,\n\t\t\t\t},\n\t\t\t\thasGradientColors && {\n\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\tinheritedValue: gradient,\n\t\t\t\t\tsetValue: setGradient,\n\t\t\t\t\tuserValue: userGradient,\n\t\t\t\t\tisGradient: true,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t},\n\t\tshowLinkPanel && {\n\t\t\tkey: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\thasValue: hasLink,\n\t\t\tresetValue: resetLink,\n\t\t\tisShownByDefault: defaultControls.link,\n\t\t\tindicators: [ linkColor, hoverLinkColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'link',\n\t\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\t\tinheritedValue: linkColor,\n\t\t\t\t\tsetValue: setLinkColor,\n\t\t\t\t\tuserValue: userLinkColor,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tkey: 'hover',\n\t\t\t\t\tlabel: __( 'Hover' ),\n\t\t\t\t\tinheritedValue: hoverLinkColor,\n\t\t\t\t\tsetValue: setHoverLinkColor,\n\t\t\t\t\tuserValue: userHoverLinkColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t].filter( Boolean );\n\n\telements.forEach( ( { name, label, showPanel } ) => {\n\t\tif ( ! showPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementBackgroundColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradient = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst elementBackgroundUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradientUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst hasElement = () =>\n\t\t\t!! (\n\t\t\t\telementTextUserColor ||\n\t\t\t\telementBackgroundUserColor ||\n\t\t\t\telementGradientUserColor\n\t\t\t);\n\t\tconst resetElement = () => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tundefined\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tnewValue.elements[ name ].color.text = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\n\t\tconst setElementTextColor = ( newTextColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'elements', name, 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newTextColor )\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tconst setElementBackgroundColor = ( newBackgroundColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tencodeColorValue( newBackgroundColor )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst setElementGradient = ( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst supportsTextColor = true;\n\t\t// Background color is not supported for `caption`\n\t\t// as there isn't yet a way to set padding for the element.\n\t\tconst supportsBackground = name !== 'caption';\n\n\t\titems.push( {\n\t\t\tkey: name,\n\t\t\tlabel,\n\t\t\thasValue: hasElement,\n\t\t\tresetValue: resetElement,\n\t\t\tisShownByDefault: defaultControls[ name ],\n\t\t\tindicators:\n\t\t\t\tsupportsTextColor && supportsBackground\n\t\t\t\t\t? [\n\t\t\t\t\t\t\telementTextColor,\n\t\t\t\t\t\t\telementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\tsupportsTextColor\n\t\t\t\t\t\t\t\t? elementTextColor\n\t\t\t\t\t\t\t\t: elementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsTextColor && {\n\t\t\t\t\t\tkey: 'text',\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tinheritedValue: elementTextColor,\n\t\t\t\t\t\tsetValue: setElementTextColor,\n\t\t\t\t\t\tuserValue: elementTextUserColor,\n\t\t\t\t\t},\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'background',\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tinheritedValue: elementBackgroundColor,\n\t\t\t\t\t\tsetValue: setElementBackgroundColor,\n\t\t\t\t\t\tuserValue: elementBackgroundUserColor,\n\t\t\t\t\t},\n\t\t\t\thasGradientColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\t\tinheritedValue: elementGradient,\n\t\t\t\t\t\tsetValue: setElementGradient,\n\t\t\t\t\t\tuserValue: elementGradientUserColor,\n\t\t\t\t\t\tisGradient: true,\n\t\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ items.map( ( item ) => {\n\t\t\t\tconst { key, ...restItem } = item;\n\t\t\t\treturn (\n\t\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t{ ...restItem }\n\t\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\t\tgradients,\n\t\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ children }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","_jsxRuntime","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundColorPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","useColorsPerOrigin","color","text","length","custom","link","caption","gradients","useGradientsPerOrigin","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","hasInnerWrapper","headingLevel","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","Tabs","unlock","componentsPrivateApis","LabeledColorIndicators","indicators","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","expanded","ColorIndicator","colorValue","FlexItem","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","_tabs$","currentTab","find","tab","key","firstTabKey","firstTab","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","Button","__next40pxDefaultSize","renderContent","__experimentalDropdownContentWrapper","paddingSize","defaultTabId","TabList","Tab","tabId","tabKey","restTabProps","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","getValueFromVariable","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setImmutably","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","useCallback","previousValue","reduce","acc","element","items","filter","Boolean","forEach","elementBackgroundColor","elementGradient","elementTextColor","elementBackgroundUserColor","elementGradientUserColor","elementTextUserColor","hasElement","resetElement","setElementTextColor","newTextColor","setElementBackgroundColor","newBackgroundColor","setElementGradient","supportsTextColor","supportsBackground","push","item","restItem","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { unlock } from '../../lock-unlock';\n\nexport function useHasColorPanel( settings ) {\n\tconst hasTextPanel = useHasTextPanel( settings );\n\tconst hasBackgroundPanel = useHasBackgroundColorPanel( settings );\n\tconst hasLinkPanel = useHasLinkPanel( settings );\n\tconst hasHeadingPanel = useHasHeadingPanel( settings );\n\tconst hasButtonPanel = useHasButtonPanel( settings );\n\tconst hasCaptionPanel = useHasCaptionPanel( settings );\n\n\treturn (\n\t\thasTextPanel ||\n\t\thasBackgroundPanel ||\n\t\thasLinkPanel ||\n\t\thasHeadingPanel ||\n\t\thasButtonPanel ||\n\t\thasCaptionPanel\n\t);\n}\n\nexport function useHasTextPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.text &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasLinkPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.link &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasCaptionPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.caption &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasHeadingPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.heading &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasButtonPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.button &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasBackgroundColorPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.background &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nfunction ColorToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Elements' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\theadingLevel={ 3 }\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<div className=\"color-block-support-panel__inner-wrapper\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\ttext: true,\n\tbackground: true,\n\tlink: true,\n\theading: true,\n\tbutton: true,\n\tcaption: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n};\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst LabeledColorIndicators = ( { indicators, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t{ indicators.map( ( indicator, index ) => (\n\t\t\t\t<Flex key={ index } expanded={ false }>\n\t\t\t\t\t<ColorIndicator colorValue={ indicator } />\n\t\t\t\t</Flex>\n\t\t\t) ) }\n\t\t</ZStack>\n\t\t<FlexItem className=\"block-editor-panel-color-gradient-settings__color-name\">\n\t\t\t{ label }\n\t\t</FlexItem>\n\t</HStack>\n);\n\nfunction ColorPanelTab( {\n\tisGradient,\n\tinheritedValue,\n\tuserValue,\n\tsetValue,\n\tcolorGradientControlSettings,\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...colorGradientControlSettings }\n\t\t\tshowTitle={ false }\n\t\t\tenableAlpha\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\tcolorValue={ isGradient ? undefined : inheritedValue }\n\t\t\tgradientValue={ isGradient ? inheritedValue : undefined }\n\t\t\tonColorChange={ isGradient ? undefined : setValue }\n\t\t\tonGradientChange={ isGradient ? setValue : undefined }\n\t\t\tclearable={ inheritedValue === userValue }\n\t\t\theadingLevel={ 3 }\n\t\t/>\n\t);\n}\n\nfunction ColorPanelDropdown( {\n\tlabel,\n\thasValue,\n\tresetValue,\n\tisShownByDefault,\n\tindicators,\n\ttabs,\n\tcolorGradientControlSettings,\n\tpanelId,\n} ) {\n\tconst currentTab = tabs.find( ( tab ) => tab.userValue !== undefined );\n\tconst { key: firstTabKey, ...firstTab } = tabs[ 0 ] ?? {};\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__item\"\n\t\t\thasValue={ hasValue }\n\t\t\tlabel={ label }\n\t\t\tonDeselect={ resetValue }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__dropdown\"\n\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__dropdown',\n\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t\t\t<LabeledColorIndicators\n\t\t\t\t\t\t\t\tindicators={ indicators }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t\t\t\t<div className=\"block-editor-panel-color-gradient-settings__dropdown-content\">\n\t\t\t\t\t\t\t{ tabs.length === 1 && (\n\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\tkey={ firstTabKey }\n\t\t\t\t\t\t\t\t\t{ ...firstTab }\n\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ tabs.length > 1 && (\n\t\t\t\t\t\t\t\t<Tabs defaultTabId={ currentTab?.key }>\n\t\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ tab.label }\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</Tabs.TabList>\n\n\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\t\t\t\tconst { key: tabKey, ...restTabProps } =\n\t\t\t\t\t\t\t\t\t\t\ttab;\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...restTabProps }\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport default function ColorPanel( {\n\tas: Wrapper = ColorToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tchildren,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst areCustomGradientsEnabled = settings?.color?.customGradient;\n\tconst hasSolidColors = colors.length > 0 || areCustomSolidsEnabled;\n\tconst hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled;\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst encodeGradientValue = ( gradientValue ) => {\n\t\tconst allGradients = gradients.flatMap(\n\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t);\n\t\tconst gradientObject = allGradients.find(\n\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t);\n\t\treturn gradientObject\n\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t: gradientValue;\n\t};\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundColorPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst userBackgroundColor = decodeValue( value?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst userGradient = decodeValue( value?.color?.gradient );\n\tconst hasBackground = () => !! userBackgroundColor || !! userGradient;\n\tconst setBackgroundColor = ( newColor ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst setGradient = ( newGradient ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'gradient' ],\n\t\t\tencodeGradientValue( newGradient )\n\t\t);\n\t\tnewValue.color.background = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst resetBackground = () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\n\t// Links\n\tconst showLinkPanel = useHasLinkPanel( settings );\n\tconst linkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.color?.text\n\t);\n\tconst userLinkColor = decodeValue( value?.elements?.link?.color?.text );\n\tconst setLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hoverLinkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst userHoverLinkColor = decodeValue(\n\t\tvalue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst setHoverLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLink = () => !! userLinkColor || !! userHoverLinkColor;\n\tconst resetLink = () => {\n\t\tlet newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue = setImmutably(\n\t\t\tnewValue,\n\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tonChange( newValue );\n\t};\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst userTextColor = decodeValue( value?.color?.text );\n\tconst hasTextColor = () => !! userTextColor;\n\tconst setTextColor = ( newColor ) => {\n\t\tlet changedObject = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'text' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tif ( textColor === linkColor ) {\n\t\t\tchangedObject = setImmutably(\n\t\t\t\tchangedObject,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t}\n\n\t\tonChange( changedObject );\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\n\n\t// Elements\n\tconst elements = [\n\t\t{\n\t\t\tname: 'caption',\n\t\t\tlabel: __( 'Captions' ),\n\t\t\tshowPanel: useHasCaptionPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'button',\n\t\t\tlabel: __( 'Button' ),\n\t\t\tshowPanel: useHasButtonPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'heading',\n\t\t\tlabel: __( 'Heading' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h1',\n\t\t\tlabel: __( 'H1' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h2',\n\t\t\tlabel: __( 'H2' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h3',\n\t\t\tlabel: __( 'H3' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h4',\n\t\t\tlabel: __( 'H4' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h5',\n\t\t\tlabel: __( 'H5' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h6',\n\t\t\tlabel: __( 'H6' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t];\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tcolor: undefined,\n\t\t\telements: {\n\t\t\t\t...previousValue?.elements,\n\t\t\t\tlink: {\n\t\t\t\t\t...previousValue?.elements?.link,\n\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t':hover': {\n\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t...elements.reduce( ( acc, element ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ element.name ]: {\n\t\t\t\t\t\t\t...previousValue?.elements?.[ element.name ],\n\t\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}, {} ),\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst items = [\n\t\tshowTextPanel && {\n\t\t\tkey: 'text',\n\t\t\tlabel: __( 'Text' ),\n\t\t\thasValue: hasTextColor,\n\t\t\tresetValue: resetTextColor,\n\t\t\tisShownByDefault: defaultControls.text,\n\t\t\tindicators: [ textColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'text',\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tinheritedValue: textColor,\n\t\t\t\t\tsetValue: setTextColor,\n\t\t\t\t\tuserValue: userTextColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tshowBackgroundPanel && {\n\t\t\tkey: 'background',\n\t\t\tlabel: __( 'Background' ),\n\t\t\thasValue: hasBackground,\n\t\t\tresetValue: resetBackground,\n\t\t\tisShownByDefault: defaultControls.background,\n\t\t\tindicators: [ gradient ?? backgroundColor ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors && {\n\t\t\t\t\tkey: 'background',\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\tinheritedValue: backgroundColor,\n\t\t\t\t\tsetValue: setBackgroundColor,\n\t\t\t\t\tuserValue: userBackgroundColor,\n\t\t\t\t},\n\t\t\t\thasGradientColors && {\n\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\tinheritedValue: gradient,\n\t\t\t\t\tsetValue: setGradient,\n\t\t\t\t\tuserValue: userGradient,\n\t\t\t\t\tisGradient: true,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t},\n\t\tshowLinkPanel && {\n\t\t\tkey: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\thasValue: hasLink,\n\t\t\tresetValue: resetLink,\n\t\t\tisShownByDefault: defaultControls.link,\n\t\t\tindicators: [ linkColor, hoverLinkColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'link',\n\t\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\t\tinheritedValue: linkColor,\n\t\t\t\t\tsetValue: setLinkColor,\n\t\t\t\t\tuserValue: userLinkColor,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tkey: 'hover',\n\t\t\t\t\tlabel: __( 'Hover' ),\n\t\t\t\t\tinheritedValue: hoverLinkColor,\n\t\t\t\t\tsetValue: setHoverLinkColor,\n\t\t\t\t\tuserValue: userHoverLinkColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t].filter( Boolean );\n\n\telements.forEach( ( { name, label, showPanel } ) => {\n\t\tif ( ! showPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementBackgroundColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradient = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst elementBackgroundUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradientUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst hasElement = () =>\n\t\t\t!! (\n\t\t\t\telementTextUserColor ||\n\t\t\t\telementBackgroundUserColor ||\n\t\t\t\telementGradientUserColor\n\t\t\t);\n\t\tconst resetElement = () => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tundefined\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tnewValue.elements[ name ].color.text = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\n\t\tconst setElementTextColor = ( newTextColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'elements', name, 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newTextColor )\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tconst setElementBackgroundColor = ( newBackgroundColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tencodeColorValue( newBackgroundColor )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst setElementGradient = ( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst supportsTextColor = true;\n\t\t// Background color is not supported for `caption`\n\t\t// as there isn't yet a way to set padding for the element.\n\t\tconst supportsBackground = name !== 'caption';\n\n\t\titems.push( {\n\t\t\tkey: name,\n\t\t\tlabel,\n\t\t\thasValue: hasElement,\n\t\t\tresetValue: resetElement,\n\t\t\tisShownByDefault: defaultControls[ name ],\n\t\t\tindicators:\n\t\t\t\tsupportsTextColor && supportsBackground\n\t\t\t\t\t? [\n\t\t\t\t\t\t\telementTextColor,\n\t\t\t\t\t\t\telementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\tsupportsTextColor\n\t\t\t\t\t\t\t\t? elementTextColor\n\t\t\t\t\t\t\t\t: elementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsTextColor && {\n\t\t\t\t\t\tkey: 'text',\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tinheritedValue: elementTextColor,\n\t\t\t\t\t\tsetValue: setElementTextColor,\n\t\t\t\t\t\tuserValue: elementTextUserColor,\n\t\t\t\t\t},\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'background',\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tinheritedValue: elementBackgroundColor,\n\t\t\t\t\t\tsetValue: setElementBackgroundColor,\n\t\t\t\t\t\tuserValue: elementBackgroundUserColor,\n\t\t\t\t\t},\n\t\t\t\thasGradientColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\t\tinheritedValue: elementGradient,\n\t\t\t\t\t\tsetValue: setElementGradient,\n\t\t\t\t\t\tuserValue: elementGradientUserColor,\n\t\t\t\t\t\tisGradient: true,\n\t\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ items.map( ( item ) => {\n\t\t\t\tconst { key, ...restItem } = item;\n\t\t\t\treturn (\n\t\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t{ ...restItem }\n\t\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\t\tgradients,\n\t\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ children }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -333,6 +333,9 @@ function getColorsAndGradients(defaultEditorColors = [], defaultEditorGradients
333
333
  return {
334
334
  __experimentalGlobalStylesBaseStyles: null,
335
335
  __experimentalFeatures: {
336
+ // Set an empty object to avoid errors from shared web components relying
337
+ // upon block settings. E.g., the Gallery block.
338
+ blocks: {},
336
339
  color: {
337
340
  ...(!features?.color ? {
338
341
  text: true,
@@ -361,6 +364,9 @@ function getGlobalStyles(rawStyles, rawFeatures) {
361
364
  const fontSizes = normalizeFontSizes(features?.typography?.fontSizes);
362
365
  return {
363
366
  __experimentalFeatures: {
367
+ // Set an empty object to avoid errors from shared web components relying
368
+ // upon block settings. E.g., the Gallery block.
369
+ blocks: {},
364
370
  color: {
365
371
  palette: colors?.palette,
366
372
  gradients,
@@ -1 +1 @@
1
- {"version":3,"names":["_changeCase","require","_reactNative","_colord","_compose","_element","_components","_useMultipleOriginColorsAndGradients","_interopRequireDefault","_useSettings","_defaults","BLOCK_STYLE_ATTRIBUTES","GlobalStylesContext","exports","createContext","style","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","colorKey","length","reduce","prev","curr","slice","camelCase","width","height","Dimensions","get","parsedFontSize","getPxFromCssUnit","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","dimensions","normalizedFontSizes","keysToProcess","push","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","useMultipleOriginColorsAndGradients","availableThemeColors","origin","concat","defaultPaletteSetting","defaultPaletteValue","useSettings","defaultPalette","SETTINGS_DEFAULTS","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing","getMergedGlobalStyles","globalStyle","blockAttributes","baseGlobalColors","baseColors","fromEntries","filter","includes","wrapperPropsStyleFiltered","blockTypography","useGlobalStyles","useContext","useEditorColorScheme","baseStyle","darkStyle","deviceColorScheme","usePreferredColorSchemeStyle","editorColors","editorBackgroundColor","isBackgroundColorDefined","isEditorBackgroundDark","colord","isDark"],"sources":["@wordpress/block-editor/src/components/global-styles/use-global-styles-context.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { createContext, useContext } from '@wordpress/element';\nimport { getPxFromCssUnit } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useMultipleOriginColorsAndGradients from '../colors-gradients/use-multiple-origin-colors-and-gradients';\nimport { useSettings } from '../use-settings';\nimport { SETTINGS_DEFAULTS } from '../../store/defaults';\n\nconst BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\nexport const GlobalStylesContext = createContext( { style: {} } );\nGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES = BLOCK_STYLE_ATTRIBUTES;\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nfunction getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\n\t\t\t\t// Supports cases for variables like var(--wp--custom--color--background)\n\t\t\t\tif ( path[ 0 ] === 'color' ) {\n\t\t\t\t\tconst colorKey = path[ path.length - 1 ];\n\t\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === colorKey\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( matchedValue ) {\n\t\t\t\t\t\t\treturn `${ matchedValue?.color }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nfunction getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\n\tconst dimensions = Dimensions.get( 'window' );\n\tconst normalizedFontSizes = {};\n\tconst keysToProcess = [];\n\n\t// Check if 'theme' or 'custom' keys exist and add them to keysToProcess array\n\tif ( fontSizes?.theme ) {\n\t\tkeysToProcess.push( 'theme' );\n\t}\n\tif ( fontSizes?.custom ) {\n\t\tkeysToProcess.push( 'custom' );\n\t}\n\n\t// If neither 'theme' nor 'custom' exist, add 'default' if it exists\n\tif ( keysToProcess.length === 0 && fontSizes?.default ) {\n\t\tkeysToProcess.push( 'default' );\n\t}\n\n\tkeysToProcess.forEach( ( key ) => {\n\t\tnormalizedFontSizes[ key ] = fontSizes[ key ].map(\n\t\t\t( fontSizeObject ) => {\n\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit( fontSizeObject.size, {\n\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t} );\n\t\t\t\treturn fontSizeObject;\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst defaultPaletteSetting =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ defaultPaletteValue ] = useSettings( defaultPaletteSetting );\n\t// In edge cases, the default palette might be undefined. To avoid\n\t// exceptions across the editor in that case, we explicitly return\n\t// the default editor colors.\n\tconst defaultPalette = defaultPaletteValue ?? SETTINGS_DEFAULTS.colors;\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: defaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n\nexport const getMergedGlobalStyles = (\n\tbaseGlobalStyles,\n\tglobalStyle,\n\twrapperPropsStyle,\n\tblockAttributes,\n\tdefaultColors,\n\tblockName,\n\tfontSizes\n) => {\n\t// Current support for general styles and blocks.\n\tconst baseGlobalColors = {\n\t\tbaseColors: {\n\t\t\tcolor: baseGlobalStyles?.color,\n\t\t\ttypography: baseGlobalStyles?.typography,\n\t\t\telements: {\n\t\t\t\tlink: baseGlobalStyles?.elements?.link,\n\t\t\t},\n\t\t\tblocks: {\n\t\t\t\t'core/button': baseGlobalStyles?.blocks?.[ 'core/button' ],\n\t\t\t},\n\t\t},\n\t};\n\n\tconst blockStyleAttributes = Object.fromEntries(\n\t\tObject.entries( blockAttributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\t// This prevents certain wrapper styles from being applied to blocks that\n\t// don't support them yet.\n\tconst wrapperPropsStyleFiltered = Object.fromEntries(\n\t\tObject.entries( wrapperPropsStyle ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\tconst mergedStyle = {\n\t\t...baseGlobalColors,\n\t\t...globalStyle,\n\t\t...wrapperPropsStyleFiltered,\n\t};\n\tconst blockColors = getBlockColors(\n\t\tblockStyleAttributes,\n\t\tdefaultColors,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\tconst blockPaddings = getBlockPaddings(\n\t\tmergedStyle,\n\t\twrapperPropsStyle,\n\t\tblockStyleAttributes,\n\t\tblockColors\n\t);\n\tconst blockTypography = getBlockTypography(\n\t\tblockStyleAttributes,\n\t\tfontSizes,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\n\treturn {\n\t\t...mergedStyle,\n\t\t...blockPaddings,\n\t\t...blockColors,\n\t\t...blockTypography,\n\t};\n};\n\nexport const useGlobalStyles = () => {\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\treturn globalStyles;\n};\n\n/**\n * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.\n *\n * The function first attempts to retrieve the editor's background color from global styles.\n * If the detected background color is light, light styles are applied, and dark styles otherwise.\n * If no custom background color is defined, styles are applied using the device's dark/light setting.\n *\n * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.\n * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.\n *\n * @return {Object} - The combined style object that should be applied to the editor.\n */\nexport const useEditorColorScheme = ( baseStyle, darkStyle ) => {\n\tconst globalStyles = useGlobalStyles();\n\n\tconst deviceColorScheme = usePreferredColorSchemeStyle(\n\t\tbaseStyle,\n\t\tdarkStyle\n\t);\n\n\tconst editorColors = globalStyles?.baseColors?.color;\n\tconst editorBackgroundColor = editorColors?.background;\n\n\tconst isBackgroundColorDefined =\n\t\ttypeof editorBackgroundColor !== 'undefined' &&\n\t\teditorBackgroundColor !== 'undefined';\n\n\tif ( isBackgroundColorDefined ) {\n\t\tconst isEditorBackgroundDark = colord( editorBackgroundColor ).isDark();\n\t\treturn isEditorBackgroundDark\n\t\t\t? { ...baseStyle, ...darkStyle }\n\t\t\t: baseStyle;\n\t}\n\n\treturn deviceColorScheme;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_changeCase","require","_reactNative","_colord","_compose","_element","_components","_useMultipleOriginColorsAndGradients","_interopRequireDefault","_useSettings","_defaults","BLOCK_STYLE_ATTRIBUTES","GlobalStylesContext","exports","createContext","style","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","colorKey","length","reduce","prev","curr","slice","camelCase","width","height","Dimensions","get","parsedFontSize","getPxFromCssUnit","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","dimensions","normalizedFontSizes","keysToProcess","push","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","useMultipleOriginColorsAndGradients","availableThemeColors","origin","concat","defaultPaletteSetting","defaultPaletteValue","useSettings","defaultPalette","SETTINGS_DEFAULTS","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing","getMergedGlobalStyles","globalStyle","blockAttributes","baseGlobalColors","baseColors","fromEntries","filter","includes","wrapperPropsStyleFiltered","blockTypography","useGlobalStyles","useContext","useEditorColorScheme","baseStyle","darkStyle","deviceColorScheme","usePreferredColorSchemeStyle","editorColors","editorBackgroundColor","isBackgroundColorDefined","isEditorBackgroundDark","colord","isDark"],"sources":["@wordpress/block-editor/src/components/global-styles/use-global-styles-context.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { createContext, useContext } from '@wordpress/element';\nimport { getPxFromCssUnit } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useMultipleOriginColorsAndGradients from '../colors-gradients/use-multiple-origin-colors-and-gradients';\nimport { useSettings } from '../use-settings';\nimport { SETTINGS_DEFAULTS } from '../../store/defaults';\n\nconst BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\nexport const GlobalStylesContext = createContext( { style: {} } );\nGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES = BLOCK_STYLE_ATTRIBUTES;\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nfunction getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\n\t\t\t\t// Supports cases for variables like var(--wp--custom--color--background)\n\t\t\t\tif ( path[ 0 ] === 'color' ) {\n\t\t\t\t\tconst colorKey = path[ path.length - 1 ];\n\t\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === colorKey\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( matchedValue ) {\n\t\t\t\t\t\t\treturn `${ matchedValue?.color }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nfunction getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\n\tconst dimensions = Dimensions.get( 'window' );\n\tconst normalizedFontSizes = {};\n\tconst keysToProcess = [];\n\n\t// Check if 'theme' or 'custom' keys exist and add them to keysToProcess array\n\tif ( fontSizes?.theme ) {\n\t\tkeysToProcess.push( 'theme' );\n\t}\n\tif ( fontSizes?.custom ) {\n\t\tkeysToProcess.push( 'custom' );\n\t}\n\n\t// If neither 'theme' nor 'custom' exist, add 'default' if it exists\n\tif ( keysToProcess.length === 0 && fontSizes?.default ) {\n\t\tkeysToProcess.push( 'default' );\n\t}\n\n\tkeysToProcess.forEach( ( key ) => {\n\t\tnormalizedFontSizes[ key ] = fontSizes[ key ].map(\n\t\t\t( fontSizeObject ) => {\n\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit( fontSizeObject.size, {\n\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t} );\n\t\t\t\treturn fontSizeObject;\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst defaultPaletteSetting =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ defaultPaletteValue ] = useSettings( defaultPaletteSetting );\n\t// In edge cases, the default palette might be undefined. To avoid\n\t// exceptions across the editor in that case, we explicitly return\n\t// the default editor colors.\n\tconst defaultPalette = defaultPaletteValue ?? SETTINGS_DEFAULTS.colors;\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: defaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\t// Set an empty object to avoid errors from shared web components relying\n\t\t\t// upon block settings. E.g., the Gallery block.\n\t\t\tblocks: {},\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\t// Set an empty object to avoid errors from shared web components relying\n\t\t\t// upon block settings. E.g., the Gallery block.\n\t\t\tblocks: {},\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n\nexport const getMergedGlobalStyles = (\n\tbaseGlobalStyles,\n\tglobalStyle,\n\twrapperPropsStyle,\n\tblockAttributes,\n\tdefaultColors,\n\tblockName,\n\tfontSizes\n) => {\n\t// Current support for general styles and blocks.\n\tconst baseGlobalColors = {\n\t\tbaseColors: {\n\t\t\tcolor: baseGlobalStyles?.color,\n\t\t\ttypography: baseGlobalStyles?.typography,\n\t\t\telements: {\n\t\t\t\tlink: baseGlobalStyles?.elements?.link,\n\t\t\t},\n\t\t\tblocks: {\n\t\t\t\t'core/button': baseGlobalStyles?.blocks?.[ 'core/button' ],\n\t\t\t},\n\t\t},\n\t};\n\n\tconst blockStyleAttributes = Object.fromEntries(\n\t\tObject.entries( blockAttributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\t// This prevents certain wrapper styles from being applied to blocks that\n\t// don't support them yet.\n\tconst wrapperPropsStyleFiltered = Object.fromEntries(\n\t\tObject.entries( wrapperPropsStyle ?? {} ).filter( ( [ key ] ) =>\n\t\t\tBLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t)\n\t);\n\n\tconst mergedStyle = {\n\t\t...baseGlobalColors,\n\t\t...globalStyle,\n\t\t...wrapperPropsStyleFiltered,\n\t};\n\tconst blockColors = getBlockColors(\n\t\tblockStyleAttributes,\n\t\tdefaultColors,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\tconst blockPaddings = getBlockPaddings(\n\t\tmergedStyle,\n\t\twrapperPropsStyle,\n\t\tblockStyleAttributes,\n\t\tblockColors\n\t);\n\tconst blockTypography = getBlockTypography(\n\t\tblockStyleAttributes,\n\t\tfontSizes,\n\t\tblockName,\n\t\tbaseGlobalStyles\n\t);\n\n\treturn {\n\t\t...mergedStyle,\n\t\t...blockPaddings,\n\t\t...blockColors,\n\t\t...blockTypography,\n\t};\n};\n\nexport const useGlobalStyles = () => {\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\treturn globalStyles;\n};\n\n/**\n * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.\n *\n * The function first attempts to retrieve the editor's background color from global styles.\n * If the detected background color is light, light styles are applied, and dark styles otherwise.\n * If no custom background color is defined, styles are applied using the device's dark/light setting.\n *\n * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.\n * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.\n *\n * @return {Object} - The combined style object that should be applied to the editor.\n */\nexport const useEditorColorScheme = ( baseStyle, darkStyle ) => {\n\tconst globalStyles = useGlobalStyles();\n\n\tconst deviceColorScheme = usePreferredColorSchemeStyle(\n\t\tbaseStyle,\n\t\tdarkStyle\n\t);\n\n\tconst editorColors = globalStyles?.baseColors?.color;\n\tconst editorBackgroundColor = editorColors?.background;\n\n\tconst isBackgroundColorDefined =\n\t\ttypeof editorBackgroundColor !== 'undefined' &&\n\t\teditorBackgroundColor !== 'undefined';\n\n\tif ( isBackgroundColorDefined ) {\n\t\tconst isEditorBackgroundDark = colord( editorBackgroundColor ).isDark();\n\t\treturn isEditorBackgroundDark\n\t\t\t? { ...baseStyle, ...darkStyle }\n\t\t\t: baseStyle;\n\t}\n\n\treturn deviceColorScheme;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -118,7 +118,7 @@ function Iframe({
118
118
  const settings = getSettings();
119
119
  return {
120
120
  resolvedAssets: settings.__unstableResolvedAssets,
121
- isPreviewMode: settings.__unstableIsPreviewMode
121
+ isPreviewMode: settings.isPreviewMode
122
122
  };
123
123
  }, []);
124
124
  const {
@@ -126,7 +126,7 @@ function Iframe({
126
126
  scripts = ''
127
127
  } = resolvedAssets;
128
128
  const [iframeDocument, setIframeDocument] = (0, _element.useState)();
129
- const initialContainerWidth = (0, _element.useRef)();
129
+ const initialContainerWidthRef = (0, _element.useRef)(0);
130
130
  const [bodyClasses, setBodyClasses] = (0, _element.useState)([]);
131
131
  const clearerRef = (0, _blockSelectionClearer.useBlockSelectionClearer)();
132
132
  const [before, writingFlowRef, after] = (0, _writingFlow.useWritingFlow)();
@@ -210,9 +210,10 @@ function Iframe({
210
210
  const isZoomedOut = scale !== 1;
211
211
  (0, _element.useEffect)(() => {
212
212
  if (!isZoomedOut) {
213
- initialContainerWidth.current = containerWidth;
213
+ initialContainerWidthRef.current = containerWidth;
214
214
  }
215
215
  }, [containerWidth, isZoomedOut]);
216
+ const scaleContainerWidth = Math.max(initialContainerWidthRef.current, containerWidth);
216
217
  const disabledRef = (0, _compose.useDisabled)({
217
218
  isDisabled: !readonly
218
219
  });
@@ -258,13 +259,6 @@ function Iframe({
258
259
  }, [html]);
259
260
  (0, _element.useEffect)(() => cleanup, [cleanup]);
260
261
  const zoomOutAnimationClassnameRef = (0, _element.useRef)(null);
261
- const handleZoomOutAnimationClassname = () => {
262
- clearTimeout(zoomOutAnimationClassnameRef.current);
263
- iframeDocument.documentElement.classList.add('zoom-out-animation');
264
- zoomOutAnimationClassnameRef.current = setTimeout(() => {
265
- iframeDocument.documentElement.classList.remove('zoom-out-animation');
266
- }, 400); // 400ms should match the animation speed used in components/iframe/content.scss
267
- };
268
262
 
269
263
  // Toggle zoom out CSS Classes only when zoom out mode changes. We could add these into the useEffect
270
264
  // that controls settings the CSS variables, but then we would need to do more work to ensure we're
@@ -274,6 +268,13 @@ function Iframe({
274
268
  if (!iframeDocument || !isZoomedOut) {
275
269
  return;
276
270
  }
271
+ const handleZoomOutAnimationClassname = () => {
272
+ clearTimeout(zoomOutAnimationClassnameRef.current);
273
+ iframeDocument.documentElement.classList.add('zoom-out-animation');
274
+ zoomOutAnimationClassnameRef.current = setTimeout(() => {
275
+ iframeDocument.documentElement.classList.remove('zoom-out-animation');
276
+ }, 400); // 400ms should match the animation speed used in components/iframe/content.scss
277
+ };
277
278
  handleZoomOutAnimationClassname();
278
279
  iframeDocument.documentElement.classList.add('is-zoomed-out');
279
280
  return () => {
@@ -289,36 +290,30 @@ function Iframe({
289
290
  }
290
291
  const maxWidth = 750;
291
292
  // Note: When we initialize the zoom out when the canvas is smaller (sidebars open),
292
- // initialContainerWidth will be smaller than the full page, and reflow will happen
293
+ // initialContainerWidthRef will be smaller than the full page, and reflow will happen
293
294
  // when the canvas area becomes larger due to sidebars closing. This is a known but
294
295
  // minor divergence for now.
295
296
 
296
297
  // This scaling calculation has to happen within the JS because CSS calc() can
297
298
  // only divide and multiply by a unitless value. I.e. calc( 100px / 2 ) is valid
298
299
  // but calc( 100px / 2px ) is not.
299
- iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale', scale === 'default' ? (Math.min(containerWidth, maxWidth) - parseInt(frameSize) * 2) / Math.max(initialContainerWidth.current, containerWidth) : scale);
300
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale', scale === 'auto-scaled' ? (Math.min(containerWidth, maxWidth) - parseInt(frameSize) * 2) / scaleContainerWidth : scale);
300
301
 
301
302
  // frameSize has to be a px value for the scaling and frame size to be computed correctly.
302
303
  iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-frame-size', typeof frameSize === 'number' ? `${frameSize}px` : frameSize);
303
304
  iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-content-height', `${contentHeight}px`);
304
305
  iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-inner-height', `${iframeWindowInnerHeight}px`);
305
306
  iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-container-width', `${containerWidth}px`);
306
- iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-outer-container-width', `${Math.max(initialContainerWidth.current, containerWidth)}px`);
307
-
308
- // iframeDocument.documentElement.style.setProperty(
309
- // '--wp-block-editor-iframe-zoom-out-outer-container-width',
310
- // `${ Math.max( initialContainerWidth.current, containerWidth ) }px`
311
- // );
312
-
307
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale-container-width', `${scaleContainerWidth}px`);
313
308
  return () => {
314
309
  iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-scale');
315
310
  iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-frame-size');
316
311
  iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-content-height');
317
312
  iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-inner-height');
318
313
  iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-container-width');
319
- iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-outer-container-width');
314
+ iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-scale-container-width');
320
315
  };
321
- }, [scale, frameSize, iframeDocument, iframeWindowInnerHeight, contentHeight, containerWidth, windowInnerWidth, isZoomedOut]);
316
+ }, [scale, frameSize, iframeDocument, iframeWindowInnerHeight, contentHeight, containerWidth, windowInnerWidth, isZoomedOut, scaleContainerWidth]);
322
317
 
323
318
  // Make sure to not render the before and after focusable div elements in view
324
319
  // mode. They're only needed to capture focus in edit mode.
@@ -385,7 +380,7 @@ function Iframe({
385
380
  children: [containerResizeListener, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
386
381
  className: (0, _clsx.default)('block-editor-iframe__scale-container', isZoomedOut && 'is-zoomed-out'),
387
382
  style: {
388
- '--wp-block-editor-iframe-zoom-out-outer-container-width': isZoomedOut && `${Math.max(initialContainerWidth.current, containerWidth)}px`
383
+ '--wp-block-editor-iframe-zoom-out-scale-container-width': isZoomedOut && `${scaleContainerWidth}px`
389
384
  },
390
385
  children: iframe
391
386
  })]