@wordpress/block-editor 12.19.5 → 12.21.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 (443) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-canvas/index.js +2 -0
  3. package/build/components/block-canvas/index.js.map +1 -1
  4. package/build/components/block-heading-level-dropdown/index.js +14 -17
  5. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  6. package/build/components/block-inspector/index.js +0 -3
  7. package/build/components/block-inspector/index.js.map +1 -1
  8. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  9. package/build/components/block-list/block-list-item.native.js +1 -1
  10. package/build/components/block-list/block-list-item.native.js.map +1 -1
  11. package/build/components/block-list/block-outline.native.js +23 -7
  12. package/build/components/block-list/block-outline.native.js.map +1 -1
  13. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  14. package/build/components/block-list/block.native.js +0 -3
  15. package/build/components/block-list/block.native.js.map +1 -1
  16. package/build/components/block-list/index.js +9 -9
  17. package/build/components/block-list/index.js.map +1 -1
  18. package/build/components/block-mover/index.native.js.map +1 -1
  19. package/build/components/block-popover/cover.js +68 -0
  20. package/build/components/block-popover/cover.js.map +1 -0
  21. package/build/components/block-popover/drop-zone.js +2 -3
  22. package/build/components/block-popover/drop-zone.js.map +1 -1
  23. package/build/components/block-popover/index.js +1 -19
  24. package/build/components/block-popover/index.js.map +1 -1
  25. package/build/components/block-preview/index.js +2 -1
  26. package/build/components/block-preview/index.js.map +1 -1
  27. package/build/components/block-removal-warning-modal/index.js +2 -4
  28. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  29. package/build/components/block-rename/modal.js.map +1 -1
  30. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
  31. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  32. package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
  33. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  34. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  35. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  36. package/build/components/block-toolbar/index.js +7 -5
  37. package/build/components/block-toolbar/index.js.map +1 -1
  38. package/build/components/block-toolbar/shuffle.js +89 -0
  39. package/build/components/block-toolbar/shuffle.js.map +1 -0
  40. package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
  41. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  42. package/build/components/block-tools/block-selection-button.js +5 -1
  43. package/build/components/block-tools/block-selection-button.js.map +1 -1
  44. package/build/components/block-tools/empty-block-inserter.js +2 -5
  45. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  46. package/build/components/block-tools/index.js +9 -26
  47. package/build/components/block-tools/index.js.map +1 -1
  48. package/build/components/block-tools/use-show-block-tools.js +60 -0
  49. package/build/components/block-tools/use-show-block-tools.js.map +1 -0
  50. package/build/components/caption/index.native.js.map +1 -1
  51. package/build/components/child-layout-control/index.js +37 -5
  52. package/build/components/child-layout-control/index.js.map +1 -1
  53. package/build/components/color-palette/control.js.map +1 -1
  54. package/build/components/colors-gradients/control.js +1 -1
  55. package/build/components/colors-gradients/control.js.map +1 -1
  56. package/build/components/date-format-picker/index.js +0 -1
  57. package/build/components/date-format-picker/index.js.map +1 -1
  58. package/build/components/font-appearance-control/index.js +1 -2
  59. package/build/components/font-appearance-control/index.js.map +1 -1
  60. package/build/components/global-styles/border-panel.js.map +1 -1
  61. package/build/components/global-styles/color-panel.js +1 -1
  62. package/build/components/global-styles/color-panel.js.map +1 -1
  63. package/build/components/global-styles/dimensions-panel.js +30 -19
  64. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  65. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  66. package/build/components/global-styles/typography-utils.js +7 -5
  67. package/build/components/global-styles/typography-utils.js.map +1 -1
  68. package/build/components/global-styles/use-global-styles-output.js +15 -15
  69. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  70. package/build/components/global-styles/utils.js +1 -1
  71. package/build/components/global-styles/utils.js.map +1 -1
  72. package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
  73. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  74. package/build/components/grid-visualizer/grid-visualizer.js +81 -0
  75. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
  76. package/build/components/grid-visualizer/index.js +20 -0
  77. package/build/components/grid-visualizer/index.js.map +1 -0
  78. package/build/components/grid-visualizer/utils.js +10 -0
  79. package/build/components/grid-visualizer/utils.js.map +1 -0
  80. package/build/components/iframe/index.js +61 -16
  81. package/build/components/iframe/index.js.map +1 -1
  82. package/build/components/index.native.js +7 -0
  83. package/build/components/index.native.js.map +1 -1
  84. package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
  85. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  86. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  87. package/build/components/inserter/menu.js +9 -3
  88. package/build/components/inserter/menu.js.map +1 -1
  89. package/build/components/inserter/menu.native.js.map +1 -1
  90. package/build/components/inserter/mobile-tab-navigation.js +1 -1
  91. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  92. package/build/components/inserter/search-results.js +3 -2
  93. package/build/components/inserter/search-results.js.map +1 -1
  94. package/build/components/inserter/tabs.js +2 -1
  95. package/build/components/inserter/tabs.js.map +1 -1
  96. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  97. package/build/components/inspector-controls-tabs/index.js +1 -1
  98. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  99. package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
  100. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  101. package/build/components/link-control/search-input.js.map +1 -1
  102. package/build/components/list-view/branch.js.map +1 -1
  103. package/build/components/list-view/drop-indicator.js.map +1 -1
  104. package/build/components/list-view/index.js.map +1 -1
  105. package/build/components/observe-typing/index.js +5 -10
  106. package/build/components/observe-typing/index.js.map +1 -1
  107. package/build/components/panel-color-settings/index.js.map +1 -1
  108. package/build/components/provider/index.js.map +1 -1
  109. package/build/components/resizable-box-popover/index.js +3 -5
  110. package/build/components/resizable-box-popover/index.js.map +1 -1
  111. package/build/components/responsive-block-control/index.js +1 -1
  112. package/build/components/responsive-block-control/index.js.map +1 -1
  113. package/build/components/rich-text/format-toolbar-container.js +1 -31
  114. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  115. package/build/components/rich-text/index.js +1 -2
  116. package/build/components/rich-text/index.js.map +1 -1
  117. package/build/components/skip-to-selected-block/index.js +7 -14
  118. package/build/components/skip-to-selected-block/index.js.map +1 -1
  119. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  120. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  121. package/build/components/url-input/index.js +5 -8
  122. package/build/components/url-input/index.js.map +1 -1
  123. package/build/hooks/background.js.map +1 -1
  124. package/build/hooks/block-hooks.js.map +1 -1
  125. package/build/hooks/dimensions.js +3 -4
  126. package/build/hooks/dimensions.js.map +1 -1
  127. package/build/hooks/font-size.js +6 -7
  128. package/build/hooks/font-size.js.map +1 -1
  129. package/build/hooks/index.js +1 -1
  130. package/build/hooks/index.js.map +1 -1
  131. package/build/hooks/layout-child.js +89 -1
  132. package/build/hooks/layout-child.js.map +1 -1
  133. package/build/hooks/layout.js +11 -4
  134. package/build/hooks/layout.js.map +1 -1
  135. package/build/hooks/line-height.js.map +1 -1
  136. package/build/hooks/position.js +0 -1
  137. package/build/hooks/position.js.map +1 -1
  138. package/build/hooks/spacing-visualizer.js +115 -0
  139. package/build/hooks/spacing-visualizer.js.map +1 -0
  140. package/build/hooks/use-typography-props.js +1 -2
  141. package/build/hooks/use-typography-props.js.map +1 -1
  142. package/build/layouts/grid.js +111 -14
  143. package/build/layouts/grid.js.map +1 -1
  144. package/build/private-apis.js +2 -2
  145. package/build/private-apis.js.map +1 -1
  146. package/build/store/actions.js +4 -36
  147. package/build/store/actions.js.map +1 -1
  148. package/build/store/private-actions.js +29 -45
  149. package/build/store/private-actions.js.map +1 -1
  150. package/build/store/reducer.js +2 -4
  151. package/build/store/reducer.js.map +1 -1
  152. package/build/store/selectors.js +27 -15
  153. package/build/store/selectors.js.map +1 -1
  154. package/build/utils/calculate-scale.js +17 -0
  155. package/build/utils/calculate-scale.js.map +1 -0
  156. package/build-module/components/block-canvas/index.js +2 -0
  157. package/build-module/components/block-canvas/index.js.map +1 -1
  158. package/build-module/components/block-heading-level-dropdown/index.js +14 -17
  159. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  160. package/build-module/components/block-inspector/index.js +1 -4
  161. package/build-module/components/block-inspector/index.js.map +1 -1
  162. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  163. package/build-module/components/block-list/block-list-item.native.js +1 -1
  164. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  165. package/build-module/components/block-list/block-outline.native.js +23 -7
  166. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  167. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  168. package/build-module/components/block-list/block.native.js +0 -3
  169. package/build-module/components/block-list/block.native.js.map +1 -1
  170. package/build-module/components/block-list/index.js +9 -9
  171. package/build-module/components/block-list/index.js.map +1 -1
  172. package/build-module/components/block-mover/index.native.js.map +1 -1
  173. package/build-module/components/block-popover/cover.js +60 -0
  174. package/build-module/components/block-popover/cover.js.map +1 -0
  175. package/build-module/components/block-popover/drop-zone.js +2 -3
  176. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  177. package/build-module/components/block-popover/index.js +1 -19
  178. package/build-module/components/block-popover/index.js.map +1 -1
  179. package/build-module/components/block-preview/index.js +2 -1
  180. package/build-module/components/block-preview/index.js.map +1 -1
  181. package/build-module/components/block-removal-warning-modal/index.js +3 -5
  182. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  183. package/build-module/components/block-rename/modal.js.map +1 -1
  184. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
  185. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  186. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
  187. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  188. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  189. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  190. package/build-module/components/block-toolbar/index.js +7 -6
  191. package/build-module/components/block-toolbar/index.js.map +1 -1
  192. package/build-module/components/block-toolbar/shuffle.js +82 -0
  193. package/build-module/components/block-toolbar/shuffle.js.map +1 -0
  194. package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
  195. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  196. package/build-module/components/block-tools/block-selection-button.js +5 -1
  197. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  198. package/build-module/components/block-tools/empty-block-inserter.js +2 -5
  199. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  200. package/build-module/components/block-tools/index.js +9 -26
  201. package/build-module/components/block-tools/index.js.map +1 -1
  202. package/build-module/components/block-tools/use-show-block-tools.js +54 -0
  203. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
  204. package/build-module/components/caption/index.native.js.map +1 -1
  205. package/build-module/components/child-layout-control/index.js +38 -6
  206. package/build-module/components/child-layout-control/index.js.map +1 -1
  207. package/build-module/components/color-palette/control.js.map +1 -1
  208. package/build-module/components/colors-gradients/control.js +1 -1
  209. package/build-module/components/colors-gradients/control.js.map +1 -1
  210. package/build-module/components/date-format-picker/index.js +0 -1
  211. package/build-module/components/date-format-picker/index.js.map +1 -1
  212. package/build-module/components/font-appearance-control/index.js +1 -2
  213. package/build-module/components/font-appearance-control/index.js.map +1 -1
  214. package/build-module/components/global-styles/border-panel.js.map +1 -1
  215. package/build-module/components/global-styles/color-panel.js +1 -1
  216. package/build-module/components/global-styles/color-panel.js.map +1 -1
  217. package/build-module/components/global-styles/dimensions-panel.js +30 -19
  218. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  219. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  220. package/build-module/components/global-styles/typography-utils.js +7 -5
  221. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  222. package/build-module/components/global-styles/use-global-styles-output.js +16 -16
  223. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  224. package/build-module/components/global-styles/utils.js +2 -2
  225. package/build-module/components/global-styles/utils.js.map +1 -1
  226. package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
  227. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  228. package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
  229. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
  230. package/build-module/components/grid-visualizer/index.js +3 -0
  231. package/build-module/components/grid-visualizer/index.js.map +1 -0
  232. package/build-module/components/grid-visualizer/utils.js +4 -0
  233. package/build-module/components/grid-visualizer/utils.js.map +1 -0
  234. package/build-module/components/iframe/index.js +61 -16
  235. package/build-module/components/iframe/index.js.map +1 -1
  236. package/build-module/components/index.native.js +1 -1
  237. package/build-module/components/index.native.js.map +1 -1
  238. package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
  239. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  240. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  241. package/build-module/components/inserter/menu.js +9 -3
  242. package/build-module/components/inserter/menu.js.map +1 -1
  243. package/build-module/components/inserter/menu.native.js.map +1 -1
  244. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  245. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  246. package/build-module/components/inserter/search-results.js +3 -2
  247. package/build-module/components/inserter/search-results.js.map +1 -1
  248. package/build-module/components/inserter/tabs.js +2 -1
  249. package/build-module/components/inserter/tabs.js.map +1 -1
  250. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  251. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  252. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  253. package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
  254. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  255. package/build-module/components/link-control/search-input.js.map +1 -1
  256. package/build-module/components/list-view/branch.js.map +1 -1
  257. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  258. package/build-module/components/list-view/index.js.map +1 -1
  259. package/build-module/components/observe-typing/index.js +5 -10
  260. package/build-module/components/observe-typing/index.js.map +1 -1
  261. package/build-module/components/panel-color-settings/index.js.map +1 -1
  262. package/build-module/components/provider/index.js.map +1 -1
  263. package/build-module/components/resizable-box-popover/index.js +3 -5
  264. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  265. package/build-module/components/responsive-block-control/index.js +1 -1
  266. package/build-module/components/responsive-block-control/index.js.map +1 -1
  267. package/build-module/components/rich-text/format-toolbar-container.js +1 -31
  268. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  269. package/build-module/components/rich-text/index.js +1 -2
  270. package/build-module/components/rich-text/index.js.map +1 -1
  271. package/build-module/components/skip-to-selected-block/index.js +8 -14
  272. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  273. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  274. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  275. package/build-module/components/url-input/index.js +5 -8
  276. package/build-module/components/url-input/index.js.map +1 -1
  277. package/build-module/hooks/background.js.map +1 -1
  278. package/build-module/hooks/block-hooks.js.map +1 -1
  279. package/build-module/hooks/dimensions.js +1 -2
  280. package/build-module/hooks/dimensions.js.map +1 -1
  281. package/build-module/hooks/font-size.js +7 -8
  282. package/build-module/hooks/font-size.js.map +1 -1
  283. package/build-module/hooks/index.js +1 -1
  284. package/build-module/hooks/index.js.map +1 -1
  285. package/build-module/hooks/layout-child.js +89 -1
  286. package/build-module/hooks/layout-child.js.map +1 -1
  287. package/build-module/hooks/layout.js +11 -4
  288. package/build-module/hooks/layout.js.map +1 -1
  289. package/build-module/hooks/line-height.js.map +1 -1
  290. package/build-module/hooks/position.js +0 -1
  291. package/build-module/hooks/position.js.map +1 -1
  292. package/build-module/hooks/spacing-visualizer.js +106 -0
  293. package/build-module/hooks/spacing-visualizer.js.map +1 -0
  294. package/build-module/hooks/use-typography-props.js +2 -3
  295. package/build-module/hooks/use-typography-props.js.map +1 -1
  296. package/build-module/layouts/grid.js +113 -16
  297. package/build-module/layouts/grid.js.map +1 -1
  298. package/build-module/private-apis.js +2 -2
  299. package/build-module/private-apis.js.map +1 -1
  300. package/build-module/store/actions.js +4 -36
  301. package/build-module/store/actions.js.map +1 -1
  302. package/build-module/store/private-actions.js +29 -45
  303. package/build-module/store/private-actions.js.map +1 -1
  304. package/build-module/store/reducer.js +2 -4
  305. package/build-module/store/reducer.js.map +1 -1
  306. package/build-module/store/selectors.js +23 -13
  307. package/build-module/store/selectors.js.map +1 -1
  308. package/build-module/utils/calculate-scale.js +11 -0
  309. package/build-module/utils/calculate-scale.js.map +1 -0
  310. package/build-style/content-rtl.css +7 -2
  311. package/build-style/content.css +7 -2
  312. package/build-style/style-rtl.css +55 -25
  313. package/build-style/style.css +55 -25
  314. package/package.json +31 -32
  315. package/src/components/block-canvas/index.js +2 -0
  316. package/src/components/block-draggable/test/index.native.js +2 -2
  317. package/src/components/block-heading-level-dropdown/index.js +17 -25
  318. package/src/components/block-inspector/index.js +0 -11
  319. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  320. package/src/components/block-list/block-list-item.native.js +1 -1
  321. package/src/components/block-list/block-outline.native.js +36 -21
  322. package/src/components/block-list/block-selection-button.native.js +1 -3
  323. package/src/components/block-list/block.native.js +0 -3
  324. package/src/components/block-list/content.scss +5 -1
  325. package/src/components/block-list/index.js +55 -55
  326. package/src/components/block-list/test/block-outline.native.js +255 -0
  327. package/src/components/block-mover/index.native.js +1 -1
  328. package/src/components/block-popover/cover.js +63 -0
  329. package/src/components/block-popover/drop-zone.js +3 -4
  330. package/src/components/block-popover/index.js +1 -28
  331. package/src/components/block-preview/index.js +3 -1
  332. package/src/components/block-removal-warning-modal/index.js +5 -19
  333. package/src/components/block-rename/modal.js +1 -1
  334. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
  335. package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
  336. package/src/components/block-styles/style.scss +0 -4
  337. package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
  338. package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  339. package/src/components/block-toolbar/index.js +5 -11
  340. package/src/components/block-toolbar/shuffle.js +93 -0
  341. package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
  342. package/src/components/block-tools/block-selection-button.js +4 -0
  343. package/src/components/block-tools/empty-block-inserter.js +3 -6
  344. package/src/components/block-tools/index.js +13 -36
  345. package/src/components/block-tools/use-show-block-tools.js +73 -0
  346. package/src/components/caption/index.native.js +1 -1
  347. package/src/components/child-layout-control/index.js +85 -44
  348. package/src/components/color-palette/control.js +1 -1
  349. package/src/components/colors-gradients/control.js +1 -1
  350. package/src/components/colors-gradients/test/control.js +2 -2
  351. package/src/components/contrast-checker/test/index.js +10 -10
  352. package/src/components/date-format-picker/index.js +0 -1
  353. package/src/components/default-block-appender/content.scss +5 -2
  354. package/src/components/font-appearance-control/index.js +0 -1
  355. package/src/components/global-styles/border-panel.js +2 -2
  356. package/src/components/global-styles/color-panel.js +1 -1
  357. package/src/components/global-styles/dimensions-panel.js +36 -24
  358. package/src/components/global-styles/image-settings-panel.js +1 -1
  359. package/src/components/global-styles/test/typography-utils.js +231 -81
  360. package/src/components/global-styles/test/use-global-styles-output.js +3 -2
  361. package/src/components/global-styles/typography-utils.js +10 -7
  362. package/src/components/global-styles/use-global-styles-output.js +14 -16
  363. package/src/components/global-styles/utils.js +2 -8
  364. package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
  365. package/src/components/grid-visualizer/grid-visualizer.js +81 -0
  366. package/src/components/grid-visualizer/index.js +2 -0
  367. package/src/components/grid-visualizer/style.scss +33 -0
  368. package/src/components/grid-visualizer/utils.js +5 -0
  369. package/src/components/iframe/index.js +78 -31
  370. package/src/components/index.native.js +1 -0
  371. package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
  372. package/src/components/inserter/media-tab/media-preview.js +1 -1
  373. package/src/components/inserter/menu.js +10 -4
  374. package/src/components/inserter/menu.native.js +3 -3
  375. package/src/components/inserter/mobile-tab-navigation.js +1 -1
  376. package/src/components/inserter/search-results.js +2 -1
  377. package/src/components/inserter/style.scss +10 -0
  378. package/src/components/inserter/tabs.js +2 -1
  379. package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
  380. package/src/components/inspector-controls-tabs/index.js +1 -1
  381. package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
  382. package/src/components/line-height-control/test/index.js +1 -1
  383. package/src/components/link-control/search-input.js +1 -1
  384. package/src/components/list-view/branch.js +1 -1
  385. package/src/components/list-view/drop-indicator.js +1 -1
  386. package/src/components/list-view/index.js +1 -1
  387. package/src/components/observe-typing/index.js +7 -10
  388. package/src/components/panel-color-settings/index.js +1 -1
  389. package/src/components/panel-color-settings/test/index.js +3 -3
  390. package/src/components/provider/index.js +1 -4
  391. package/src/components/resizable-box-popover/index.js +4 -6
  392. package/src/components/responsive-block-control/README.md +4 -4
  393. package/src/components/responsive-block-control/index.js +1 -1
  394. package/src/components/responsive-block-control/test/index.js +5 -5
  395. package/src/components/rich-text/format-toolbar-container.js +1 -48
  396. package/src/components/rich-text/index.js +1 -2
  397. package/src/components/skip-to-selected-block/index.js +10 -13
  398. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -5
  399. package/src/components/url-input/index.js +6 -15
  400. package/src/hooks/anchor.scss +1 -1
  401. package/src/hooks/background.js +1 -1
  402. package/src/hooks/block-hooks.js +1 -1
  403. package/src/hooks/dimensions.js +1 -2
  404. package/src/hooks/font-size.js +7 -12
  405. package/src/hooks/index.js +1 -0
  406. package/src/hooks/layout-child.js +91 -1
  407. package/src/hooks/layout.js +12 -1
  408. package/src/hooks/line-height.js +1 -1
  409. package/src/hooks/position.js +0 -1
  410. package/src/hooks/spacing-visualizer.js +126 -0
  411. package/src/hooks/{padding.scss → spacing.scss} +1 -1
  412. package/src/hooks/use-typography-props.js +2 -8
  413. package/src/layouts/grid.js +137 -53
  414. package/src/layouts/test/grid.js +16 -2
  415. package/src/private-apis.js +2 -2
  416. package/src/store/actions.js +4 -42
  417. package/src/store/private-actions.js +34 -69
  418. package/src/store/reducer.js +2 -8
  419. package/src/store/selectors.js +41 -46
  420. package/src/store/test/actions.js +0 -105
  421. package/src/style.scss +2 -2
  422. package/src/utils/calculate-scale.js +20 -0
  423. package/build/components/default-style-picker/index.js +0 -70
  424. package/build/components/default-style-picker/index.js.map +0 -1
  425. package/build/hooks/margin.js +0 -86
  426. package/build/hooks/margin.js.map +0 -1
  427. package/build/hooks/padding.js +0 -78
  428. package/build/hooks/padding.js.map +0 -1
  429. package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
  430. package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  431. package/build-module/components/default-style-picker/index.js +0 -63
  432. package/build-module/components/default-style-picker/index.js.map +0 -1
  433. package/build-module/hooks/margin.js +0 -78
  434. package/build-module/hooks/margin.js.map +0 -1
  435. package/build-module/hooks/padding.js +0 -70
  436. package/build-module/hooks/padding.js.map +0 -1
  437. package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
  438. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  439. package/src/components/block-settings-menu/style.scss +0 -3
  440. package/src/components/default-style-picker/index.js +0 -70
  441. package/src/hooks/margin.js +0 -91
  442. package/src/hooks/padding.js +0 -82
  443. package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_getBlockSettings","_object","_border","_shadowPanelComponents","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","useShadowPresets","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_overrideOrigins","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","overriddenShadowPresets","overrideOrigins","setShadow","newValue","shadowName","setImmutably","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","useBorderPanelLabel","blockName","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","__experimentalBorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","default","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { overrideOrigins } from '../../store/get-block-settings';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\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={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: false,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\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 border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst overriddenShadowPresets = overrideOrigins( shadowPresets ) ?? [];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = overriddenShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\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\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha={ true }\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={ true }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_getBlockSettings","_object","_border","_shadowPanelComponents","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","useShadowPresets","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_overrideOrigins","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","overriddenShadowPresets","overrideOrigins","setShadow","newValue","shadowName","setImmutably","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","useBorderPanelLabel","blockName","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","__experimentalBorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","default","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { overrideOrigins } from '../../store/get-block-settings';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\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={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: false,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\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 border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst overriddenShadowPresets = overrideOrigins( shadowPresets ) ?? [];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = overriddenShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\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\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
@@ -199,7 +199,7 @@ function ColorPanelDropdown({
199
199
  ...tabs[0],
200
200
  colorGradientControlSettings: colorGradientControlSettings
201
201
  }), tabs.length > 1 && (0, _react.createElement)(Tabs, {
202
- initialTabId: currentTab?.key
202
+ defaultTabId: currentTab?.key
203
203
  }, (0, _react.createElement)(Tabs.TabList, null, tabs.map(tab => (0, _react.createElement)(Tabs.Tab, {
204
204
  key: tab.key,
205
205
  tabId: tab.key
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","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","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","__","hasInnerWrapper","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","LabeledColorIndicators","indicators","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","key","expanded","ColorIndicator","colorValue","FlexItem","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","headingLevel","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","currentTab","find","tab","Tabs","unlock","componentsPrivateApis","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","classnames","sprintf","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","initialTabId","TabList","Tab","tabId","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","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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, TOOLSPANEL_DROPDOWNMENU_PROPS } 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 = useHasBackgroundPanel( 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 useHasBackgroundPanel( 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 resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Color' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\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 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\t// Unlocking `Tabs` too early causes the `unlock` method to receive an empty\n\t// object, due to circular dependencies.\n\t// See https://github.com/WordPress/gutenberg/issues/52692\n\tconst { Tabs } = unlock( componentsPrivateApis );\n\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: classnames(\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 { ...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\t{ ...tabs[ 0 ] }\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 initialTabId={ 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\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={ 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\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\t{ ...tab }\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 = useHasBackgroundPanel( 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: __( 'Solid' ),\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 ) return;\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\t<ColorPanelDropdown\n\t\t\t\t\tkey={ item.key }\n\t\t\t\t\t{ ...item }\n\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\tcolors,\n\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\tgradients,\n\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t} }\n\t\t\t\t\tpanelId={ panelId }\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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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","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","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","__","hasInnerWrapper","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","LabeledColorIndicators","indicators","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","key","expanded","ColorIndicator","colorValue","FlexItem","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","headingLevel","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","currentTab","find","tab","Tabs","unlock","componentsPrivateApis","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","classnames","sprintf","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","defaultTabId","TabList","Tab","tabId","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","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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, TOOLSPANEL_DROPDOWNMENU_PROPS } 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 = useHasBackgroundPanel( 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 useHasBackgroundPanel( 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 resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Color' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\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 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\t// Unlocking `Tabs` too early causes the `unlock` method to receive an empty\n\t// object, due to circular dependencies.\n\t// See https://github.com/WordPress/gutenberg/issues/52692\n\tconst { Tabs } = unlock( componentsPrivateApis );\n\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: classnames(\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 { ...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\t{ ...tabs[ 0 ] }\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\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={ 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\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\t{ ...tab }\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 = useHasBackgroundPanel( 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: __( 'Solid' ),\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 ) return;\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\t<ColorPanelDropdown\n\t\t\t\t\tkey={ item.key }\n\t\t\t\t\t{ ...item }\n\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\tcolors,\n\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\tgradients,\n\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t} }\n\t\t\t\t\tpanelId={ panelId }\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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"}
@@ -73,7 +73,7 @@ function useHasChildLayout(settings) {
73
73
  } = {},
74
74
  allowSizingOnChildren = false
75
75
  } = (_settings$parentLayou = settings?.parentLayout) !== null && _settings$parentLayou !== void 0 ? _settings$parentLayou : {};
76
- const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex') && allowSizingOnChildren;
76
+ const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex' || defaultParentLayoutType === 'grid' || parentLayoutType === 'grid') && allowSizingOnChildren;
77
77
  return !!settings?.layout && support;
78
78
  }
79
79
  function useHasSpacingPresets(settings) {
@@ -179,7 +179,7 @@ function DimensionsPanel({
179
179
  // in global styles but not in block inspector.
180
180
  includeLayoutControls = false
181
181
  }) {
182
- var _settings$parentLayou2, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$minH, _defaultControls$aspe, _defaultControls$chil;
182
+ var _settings$parentLayou2, _settings$parentLayou3, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$chil, _defaultControls$minH, _defaultControls$aspe;
183
183
  const {
184
184
  dimensions,
185
185
  spacing
@@ -309,12 +309,19 @@ function DimensionsPanel({
309
309
  const {
310
310
  orientation = 'horizontal'
311
311
  } = (_settings$parentLayou2 = settings?.parentLayout) !== null && _settings$parentLayou2 !== void 0 ? _settings$parentLayou2 : {};
312
- const childLayoutOrientationLabel = orientation === 'horizontal' ? (0, _i18n.__)('Width') : (0, _i18n.__)('Height');
312
+ const {
313
+ type: parentType,
314
+ default: {
315
+ type: defaultParentType = 'default'
316
+ } = {}
317
+ } = (_settings$parentLayou3 = settings?.parentLayout) !== null && _settings$parentLayou3 !== void 0 ? _settings$parentLayou3 : {};
318
+ const parentLayoutType = parentType || defaultParentType;
319
+ const flexResetLabel = orientation === 'horizontal' ? (0, _i18n.__)('Width') : (0, _i18n.__)('Height');
320
+ const childLayoutResetLabel = parentLayoutType === 'flex' ? flexResetLabel : (0, _i18n.__)('Grid spans');
313
321
  const setChildLayout = newChildLayout => {
314
322
  onChange({
315
323
  ...value,
316
324
  layout: {
317
- ...value?.layout,
318
325
  ...newChildLayout
319
326
  }
320
327
  });
@@ -322,7 +329,9 @@ function DimensionsPanel({
322
329
  const resetChildLayoutValue = () => {
323
330
  setChildLayout({
324
331
  selfStretch: undefined,
325
- flexSize: undefined
332
+ flexSize: undefined,
333
+ columnSpan: undefined,
334
+ rowSpan: undefined
326
335
  });
327
336
  };
328
337
  const hasChildLayoutValue = () => !!value?.layout;
@@ -334,7 +343,9 @@ function DimensionsPanel({
334
343
  contentSize: undefined,
335
344
  wideSize: undefined,
336
345
  selfStretch: undefined,
337
- flexSize: undefined
346
+ flexSize: undefined,
347
+ columnSpan: undefined,
348
+ rowSpan: undefined
338
349
  }),
339
350
  spacing: {
340
351
  ...previousValue?.spacing,
@@ -489,6 +500,18 @@ function DimensionsPanel({
489
500
  ,
490
501
  values: gapValues,
491
502
  allowReset: false
503
+ })), showChildLayoutControl && (0, _react.createElement)(_components.__experimentalVStack, {
504
+ as: _components.__experimentalToolsPanelItem,
505
+ spacing: 2,
506
+ hasValue: hasChildLayoutValue,
507
+ label: childLayoutResetLabel,
508
+ onDeselect: resetChildLayoutValue,
509
+ isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : DEFAULT_CONTROLS.childLayout,
510
+ panelId: panelId
511
+ }, (0, _react.createElement)(_childLayoutControl.default, {
512
+ value: childLayout,
513
+ onChange: setChildLayout,
514
+ parentLayout: settings?.parentLayout
492
515
  })), showMinHeightControl && (0, _react.createElement)(_components.__experimentalToolsPanelItem, {
493
516
  hasValue: hasMinHeightValue,
494
517
  label: (0, _i18n.__)('Minimum height'),
@@ -505,18 +528,6 @@ function DimensionsPanel({
505
528
  onChange: setAspectRatioValue,
506
529
  panelId: panelId,
507
530
  isShownByDefault: (_defaultControls$aspe = defaultControls.aspectRatio) !== null && _defaultControls$aspe !== void 0 ? _defaultControls$aspe : DEFAULT_CONTROLS.aspectRatio
508
- }), showChildLayoutControl && (0, _react.createElement)(_components.__experimentalVStack, {
509
- as: _components.__experimentalToolsPanelItem,
510
- spacing: 2,
511
- hasValue: hasChildLayoutValue,
512
- label: childLayoutOrientationLabel,
513
- onDeselect: resetChildLayoutValue,
514
- isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : DEFAULT_CONTROLS.childLayout,
515
- panelId: panelId
516
- }, (0, _react.createElement)(_childLayoutControl.default, {
517
- value: childLayout,
518
- onChange: setChildLayout,
519
- parentLayout: settings?.parentLayout
520
- })));
531
+ }));
521
532
  }
522
533
  //# sourceMappingURL=dimensions-panel.js.map