@wordpress/block-editor 12.3.0 → 12.3.2

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 (971) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +13 -0
  3. package/build/autocompleters/block.js +5 -3
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/alignment-control/index.js +4 -6
  6. package/build/components/alignment-control/index.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +5 -9
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +2 -4
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/block-actions/index.js +4 -0
  12. package/build/components/block-actions/index.js.map +1 -1
  13. package/build/components/block-alignment-control/constants.js +1 -5
  14. package/build/components/block-alignment-control/constants.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +4 -6
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +3 -4
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +3 -3
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-matrix-control/index.js +0 -1
  22. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  23. package/build/components/block-breadcrumb/index.js +2 -3
  24. package/build/components/block-breadcrumb/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +2 -1
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-controls/index.js +8 -8
  28. package/build/components/block-controls/index.js.map +1 -1
  29. package/build/components/block-controls/slot.js +2 -4
  30. package/build/components/block-controls/slot.js.map +1 -1
  31. package/build/components/block-controls/slot.native.js +4 -2
  32. package/build/components/block-controls/slot.native.js.map +1 -1
  33. package/build/components/block-edit/edit.js +4 -6
  34. package/build/components/block-edit/edit.js.map +1 -1
  35. package/build/components/block-edit/edit.native.js +2 -4
  36. package/build/components/block-edit/edit.native.js.map +1 -1
  37. package/build/components/block-edit/index.js +3 -2
  38. package/build/components/block-edit/index.js.map +1 -1
  39. package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
  40. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  41. package/build/components/block-heading-level-dropdown/index.js +83 -0
  42. package/build/components/block-heading-level-dropdown/index.js.map +1 -0
  43. package/build/components/block-heading-level-dropdown/index.native.js +72 -0
  44. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
  45. package/build/components/block-icon/index.native.js +6 -7
  46. package/build/components/block-icon/index.native.js.map +1 -1
  47. package/build/components/block-info-slot-fill/index.js +4 -2
  48. package/build/components/block-info-slot-fill/index.js.map +1 -1
  49. package/build/components/block-inspector/index.js +20 -87
  50. package/build/components/block-inspector/index.js.map +1 -1
  51. package/build/components/block-list/block-list-item.native.js +4 -2
  52. package/build/components/block-list/block-list-item.native.js.map +1 -1
  53. package/build/components/block-list/block.js +6 -4
  54. package/build/components/block-list/block.js.map +1 -1
  55. package/build/components/block-list/block.native.js +1 -0
  56. package/build/components/block-list/block.native.js.map +1 -1
  57. package/build/components/block-list/index.js +7 -4
  58. package/build/components/block-list/index.js.map +1 -1
  59. package/build/components/block-list/index.native.js +8 -9
  60. package/build/components/block-list/index.native.js.map +1 -1
  61. package/build/components/block-list/subdirectory-icon.js +4 -7
  62. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  63. package/build/components/block-list/use-in-between-inserter.js +1 -3
  64. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  65. package/build/components/block-list-appender/index.js +21 -19
  66. package/build/components/block-list-appender/index.js.map +1 -1
  67. package/build/components/block-lock/toolbar.js +25 -6
  68. package/build/components/block-lock/toolbar.js.map +1 -1
  69. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  70. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  71. package/build/components/block-mover/button.js +12 -12
  72. package/build/components/block-mover/button.js.map +1 -1
  73. package/build/components/block-mover/index.js +11 -10
  74. package/build/components/block-mover/index.js.map +1 -1
  75. package/build/components/block-navigation/dropdown.js +4 -6
  76. package/build/components/block-navigation/dropdown.js.map +1 -1
  77. package/build/components/block-parent-selector/index.js +4 -5
  78. package/build/components/block-parent-selector/index.js.map +1 -1
  79. package/build/components/block-pattern-setup/index.js +6 -8
  80. package/build/components/block-pattern-setup/index.js.map +1 -1
  81. package/build/components/block-patterns-list/index.js +6 -8
  82. package/build/components/block-patterns-list/index.js.map +1 -1
  83. package/build/components/block-popover/inbetween.js +4 -6
  84. package/build/components/block-popover/inbetween.js.map +1 -1
  85. package/build/components/block-popover/index.js +4 -6
  86. package/build/components/block-popover/index.js.map +1 -1
  87. package/build/components/block-preview/auto.js +2 -4
  88. package/build/components/block-preview/auto.js.map +1 -1
  89. package/build/components/block-preview/index.js +7 -7
  90. package/build/components/block-preview/index.js.map +1 -1
  91. package/build/components/block-quick-navigation/index.js +83 -0
  92. package/build/components/block-quick-navigation/index.js.map +1 -0
  93. package/build/components/block-removal-warning-modal/index.js +90 -0
  94. package/build/components/block-removal-warning-modal/index.js.map +1 -0
  95. package/build/components/block-selection-clearer/index.js +4 -7
  96. package/build/components/block-selection-clearer/index.js.map +1 -1
  97. package/build/components/block-settings/button.native.js +2 -1
  98. package/build/components/block-settings/button.native.js.map +1 -1
  99. package/build/components/block-settings/container.native.js +6 -6
  100. package/build/components/block-settings/container.native.js.map +1 -1
  101. package/build/components/block-settings-menu/block-settings-dropdown.js +10 -11
  102. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  103. package/build/components/block-settings-menu/index.js +4 -5
  104. package/build/components/block-settings-menu/index.js.map +1 -1
  105. package/build/components/block-settings-menu-controls/index.js +4 -5
  106. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  107. package/build/components/block-switcher/index.js +1 -2
  108. package/build/components/block-switcher/index.js.map +1 -1
  109. package/build/components/block-switcher/pattern-transformations-menu.js +6 -8
  110. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  111. package/build/components/block-toolbar/index.js +10 -8
  112. package/build/components/block-toolbar/index.js.map +1 -1
  113. package/build/components/block-tools/block-contextual-toolbar.js +4 -5
  114. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  115. package/build/components/block-tools/block-selection-button.js +4 -5
  116. package/build/components/block-tools/block-selection-button.js.map +1 -1
  117. package/build/components/block-tools/index.js +13 -6
  118. package/build/components/block-tools/index.js.map +1 -1
  119. package/build/components/block-tools/insertion-point.js +5 -5
  120. package/build/components/block-tools/insertion-point.js.map +1 -1
  121. package/build/components/block-tools/selected-block-popover.js +8 -8
  122. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  123. package/build/components/block-types-list/index.native.js +4 -6
  124. package/build/components/block-types-list/index.native.js.map +1 -1
  125. package/build/components/block-vertical-alignment-control/index.js +4 -6
  126. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  127. package/build/components/block-vertical-alignment-control/ui.js +5 -12
  128. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  129. package/build/components/border-radius-control/all-input-control.js +2 -6
  130. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  131. package/build/components/border-radius-control/input-controls.js +2 -6
  132. package/build/components/border-radius-control/input-controls.js.map +1 -1
  133. package/build/components/border-radius-control/linked-button.js +2 -6
  134. package/build/components/border-radius-control/linked-button.js.map +1 -1
  135. package/build/components/color-palette/control.js +2 -4
  136. package/build/components/color-palette/control.js.map +1 -1
  137. package/build/components/color-palette/with-color-context.js +2 -4
  138. package/build/components/color-palette/with-color-context.js.map +1 -1
  139. package/build/components/colors/utils.js +7 -3
  140. package/build/components/colors/utils.js.map +1 -1
  141. package/build/components/colors/with-colors.js +11 -16
  142. package/build/components/colors/with-colors.js.map +1 -1
  143. package/build/components/colors-gradients/control.js +7 -5
  144. package/build/components/colors-gradients/control.js.map +1 -1
  145. package/build/components/colors-gradients/dropdown.js +12 -11
  146. package/build/components/colors-gradients/dropdown.js.map +1 -1
  147. package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -5
  148. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  149. package/build/components/copy-handler/index.js +5 -6
  150. package/build/components/copy-handler/index.js.map +1 -1
  151. package/build/components/dimensions-tool/aspect-ratio-tool.js +99 -0
  152. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  153. package/build/components/dimensions-tool/index.js +207 -0
  154. package/build/components/dimensions-tool/index.js.map +1 -0
  155. package/build/components/dimensions-tool/scale-tool.js +111 -0
  156. package/build/components/dimensions-tool/scale-tool.js.map +1 -0
  157. package/build/components/dimensions-tool/width-height-tool.js +125 -0
  158. package/build/components/dimensions-tool/width-height-tool.js.map +1 -0
  159. package/build/components/duotone-control/index.js +1 -2
  160. package/build/components/duotone-control/index.js.map +1 -1
  161. package/build/components/editable-text/index.js +6 -7
  162. package/build/components/editable-text/index.js.map +1 -1
  163. package/build/components/font-appearance-control/index.js +2 -6
  164. package/build/components/font-appearance-control/index.js.map +1 -1
  165. package/build/components/font-family/index.js +4 -5
  166. package/build/components/font-family/index.js.map +1 -1
  167. package/build/components/font-sizes/font-size-picker.js +2 -4
  168. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  169. package/build/components/font-sizes/utils.js +3 -3
  170. package/build/components/font-sizes/utils.js.map +1 -1
  171. package/build/components/font-sizes/with-font-sizes.js +7 -7
  172. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  173. package/build/components/global-styles/color-panel.js +15 -16
  174. package/build/components/global-styles/color-panel.js.map +1 -1
  175. package/build/components/global-styles/effects-panel.js +2 -1
  176. package/build/components/global-styles/effects-panel.js.map +1 -1
  177. package/build/components/global-styles/filters-panel.js +2 -1
  178. package/build/components/global-styles/filters-panel.js.map +1 -1
  179. package/build/components/global-styles/index.js +6 -0
  180. package/build/components/global-styles/index.js.map +1 -1
  181. package/build/components/global-styles/typography-panel.js +7 -7
  182. package/build/components/global-styles/typography-panel.js.map +1 -1
  183. package/build/components/global-styles/use-global-styles-output.js +19 -16
  184. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  185. package/build/components/gradients/with-gradient.js +2 -6
  186. package/build/components/gradients/with-gradient.js.map +1 -1
  187. package/build/components/iframe/index.js +5 -7
  188. package/build/components/iframe/index.js.map +1 -1
  189. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -1
  190. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  191. package/build/components/image-editor/constants.js +1 -2
  192. package/build/components/image-editor/constants.js.map +1 -1
  193. package/build/components/image-editor/use-save-image.js +1 -2
  194. package/build/components/image-editor/use-save-image.js.map +1 -1
  195. package/build/components/image-size-control/index.js +6 -0
  196. package/build/components/image-size-control/index.js.map +1 -1
  197. package/build/components/index.js +9 -9
  198. package/build/components/index.js.map +1 -1
  199. package/build/components/index.native.js +9 -0
  200. package/build/components/index.native.js.map +1 -1
  201. package/build/components/inner-blocks/index.js +9 -8
  202. package/build/components/inner-blocks/index.js.map +1 -1
  203. package/build/components/inner-blocks/index.native.js +8 -7
  204. package/build/components/inner-blocks/index.native.js.map +1 -1
  205. package/build/components/inner-blocks/use-nested-settings-update.js +24 -30
  206. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  207. package/build/components/inner-blocks/with-client-id.js +2 -6
  208. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  209. package/build/components/inserter/block-patterns-explorer/explorer.js +2 -1
  210. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  211. package/build/components/inserter/block-patterns-tab.js +33 -5
  212. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  213. package/build/components/inserter/hooks/use-block-types-state.js +4 -3
  214. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  215. package/build/components/inserter/hooks/use-insertion-point.js +1 -1
  216. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  217. package/build/components/inserter/index.js +8 -8
  218. package/build/components/inserter/index.js.map +1 -1
  219. package/build/components/inserter/index.native.js +4 -5
  220. package/build/components/inserter/index.native.js.map +1 -1
  221. package/build/components/inserter/library.js +1 -1
  222. package/build/components/inserter/library.js.map +1 -1
  223. package/build/components/inserter/media-tab/media-list.js +2 -6
  224. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  225. package/build/components/inserter/media-tab/media-preview.js +4 -6
  226. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  227. package/build/components/inserter/media-tab/media-tab.js +1 -1
  228. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  229. package/build/components/inserter/reusable-blocks-tab.js +3 -3
  230. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  231. package/build/components/inserter/tabs.js +3 -3
  232. package/build/components/inserter/tabs.js.map +1 -1
  233. package/build/components/inserter-list-item/index.js +4 -5
  234. package/build/components/inserter-list-item/index.js.map +1 -1
  235. package/build/components/inserter-listbox/group.js +4 -7
  236. package/build/components/inserter-listbox/group.js.map +1 -1
  237. package/build/components/inserter-listbox/item.js +8 -7
  238. package/build/components/inserter-listbox/item.js.map +1 -1
  239. package/build/components/inserter-listbox/row.js +4 -5
  240. package/build/components/inserter-listbox/row.js.map +1 -1
  241. package/build/components/inspector-controls/block-support-slot-container.js +2 -6
  242. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  243. package/build/components/inspector-controls/fill.native.js +2 -1
  244. package/build/components/inspector-controls/fill.native.js.map +1 -1
  245. package/build/components/inspector-controls/index.js +4 -6
  246. package/build/components/inspector-controls/index.js.map +1 -1
  247. package/build/components/inspector-controls/slot.js +4 -6
  248. package/build/components/inspector-controls/slot.js.map +1 -1
  249. package/build/components/inspector-controls/slot.native.js +2 -1
  250. package/build/components/inspector-controls/slot.native.js.map +1 -1
  251. package/build/components/justify-content-control/index.js +4 -6
  252. package/build/components/justify-content-control/index.js.map +1 -1
  253. package/build/components/justify-content-control/ui.js +4 -7
  254. package/build/components/justify-content-control/ui.js.map +1 -1
  255. package/build/components/letter-spacing-control/index.js +2 -4
  256. package/build/components/letter-spacing-control/index.js.map +1 -1
  257. package/build/components/line-height-control/index.js +2 -4
  258. package/build/components/line-height-control/index.js.map +1 -1
  259. package/build/components/link-control/index.js +20 -24
  260. package/build/components/link-control/index.js.map +1 -1
  261. package/build/components/link-control/search-create-button.js +2 -4
  262. package/build/components/link-control/search-create-button.js.map +1 -1
  263. package/build/components/link-control/search-input.js +7 -5
  264. package/build/components/link-control/search-input.js.map +1 -1
  265. package/build/components/link-control/search-item.js +2 -4
  266. package/build/components/link-control/search-item.js.map +1 -1
  267. package/build/components/link-control/search-results.js +2 -4
  268. package/build/components/link-control/search-results.js.map +1 -1
  269. package/build/components/link-control/settings-drawer.js +2 -3
  270. package/build/components/link-control/settings-drawer.js.map +1 -1
  271. package/build/components/list-view/appender.js +4 -6
  272. package/build/components/list-view/appender.js.map +1 -1
  273. package/build/components/list-view/aria-referenced-text.js +4 -8
  274. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  275. package/build/components/list-view/block-contents.js +4 -5
  276. package/build/components/list-view/block-contents.js.map +1 -1
  277. package/build/components/list-view/block-select-button.js +13 -2
  278. package/build/components/list-view/block-select-button.js.map +1 -1
  279. package/build/components/list-view/branch.js +9 -8
  280. package/build/components/list-view/branch.js.map +1 -1
  281. package/build/components/list-view/drop-indicator.js +62 -11
  282. package/build/components/list-view/drop-indicator.js.map +1 -1
  283. package/build/components/list-view/index.js +4 -6
  284. package/build/components/list-view/index.js.map +1 -1
  285. package/build/components/list-view/leaf.js +4 -5
  286. package/build/components/list-view/leaf.js.map +1 -1
  287. package/build/components/list-view/use-list-view-client-ids.js +2 -22
  288. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  289. package/build/components/list-view/use-list-view-drop-zone.js +46 -34
  290. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  291. package/build/components/media-placeholder/index.js +38 -13
  292. package/build/components/media-placeholder/index.js.map +1 -1
  293. package/build/components/media-replace-flow/index.js +1 -3
  294. package/build/components/media-replace-flow/index.js.map +1 -1
  295. package/build/components/navigable-toolbar/index.js +8 -8
  296. package/build/components/navigable-toolbar/index.js.map +1 -1
  297. package/build/components/panel-color-settings/index.js +4 -5
  298. package/build/components/panel-color-settings/index.js.map +1 -1
  299. package/build/components/plain-text/index.js +8 -8
  300. package/build/components/plain-text/index.js.map +1 -1
  301. package/build/components/plain-text/index.native.js +7 -6
  302. package/build/components/plain-text/index.native.js.map +1 -1
  303. package/build/components/preview-options/index.js +5 -4
  304. package/build/components/preview-options/index.js.map +1 -1
  305. package/build/components/provider/index.js +2 -4
  306. package/build/components/provider/index.js.map +1 -1
  307. package/build/components/provider/use-block-sync.js +21 -0
  308. package/build/components/provider/use-block-sync.js.map +1 -1
  309. package/build/components/provider/with-registry-provider.js +8 -10
  310. package/build/components/provider/with-registry-provider.js.map +1 -1
  311. package/build/components/publish-date-time-picker/index.js +4 -5
  312. package/build/components/publish-date-time-picker/index.js.map +1 -1
  313. package/build/components/resizable-box-popover/index.js +5 -5
  314. package/build/components/resizable-box-popover/index.js.map +1 -1
  315. package/build/components/resolution-tool/index.js +55 -0
  316. package/build/components/resolution-tool/index.js.map +1 -0
  317. package/build/components/rich-text/content.js +99 -0
  318. package/build/components/rich-text/content.js.map +1 -0
  319. package/build/components/rich-text/format-toolbar/index.js +1 -2
  320. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  321. package/build/components/rich-text/index.js +8 -42
  322. package/build/components/rich-text/index.js.map +1 -1
  323. package/build/components/rich-text/index.native.js +6 -34
  324. package/build/components/rich-text/index.native.js.map +1 -1
  325. package/build/components/rich-text/toolbar-button.js +2 -6
  326. package/build/components/rich-text/toolbar-button.js.map +1 -1
  327. package/build/components/spacing-sizes-control/index.js +8 -8
  328. package/build/components/spacing-sizes-control/index.js.map +1 -1
  329. package/build/components/tool-selector/index.js +2 -6
  330. package/build/components/tool-selector/index.js.map +1 -1
  331. package/build/components/unit-control/index.js +4 -5
  332. package/build/components/unit-control/index.js.map +1 -1
  333. package/build/components/url-input/index.js +12 -10
  334. package/build/components/url-input/index.js.map +1 -1
  335. package/build/components/url-input/index.native.js +4 -7
  336. package/build/components/url-input/index.native.js.map +1 -1
  337. package/build/components/url-popover/image-url-input-ui.js +21 -14
  338. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  339. package/build/components/url-popover/index.js +4 -5
  340. package/build/components/url-popover/index.js.map +1 -1
  341. package/build/components/url-popover/link-editor.js +4 -5
  342. package/build/components/url-popover/link-editor.js.map +1 -1
  343. package/build/components/url-popover/link-viewer.js +4 -5
  344. package/build/components/url-popover/link-viewer.js.map +1 -1
  345. package/build/components/use-block-display-information/index.js +30 -2
  346. package/build/components/use-block-display-information/index.js.map +1 -1
  347. package/build/components/video-player/index.native.js +2 -4
  348. package/build/components/video-player/index.native.js.map +1 -1
  349. package/build/components/warning/index.native.js +4 -5
  350. package/build/components/warning/index.native.js.map +1 -1
  351. package/build/components/writing-flow/index.js +2 -4
  352. package/build/components/writing-flow/index.js.map +1 -1
  353. package/build/components/writing-flow/use-drag-selection.js +1 -1
  354. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  355. package/build/components/writing-flow/use-tab-nav.js +32 -4
  356. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  357. package/build/hooks/align.js +8 -8
  358. package/build/hooks/align.js.map +1 -1
  359. package/build/hooks/anchor.js +4 -2
  360. package/build/hooks/anchor.js.map +1 -1
  361. package/build/hooks/behaviors.js +75 -37
  362. package/build/hooks/behaviors.js.map +1 -1
  363. package/build/hooks/border.js +4 -5
  364. package/build/hooks/border.js.map +1 -1
  365. package/build/hooks/color.js +4 -5
  366. package/build/hooks/color.js.map +1 -1
  367. package/build/hooks/content-lock-ui.js +8 -10
  368. package/build/hooks/content-lock-ui.js.map +1 -1
  369. package/build/hooks/custom-class-name.js +4 -2
  370. package/build/hooks/custom-class-name.js.map +1 -1
  371. package/build/hooks/dimensions.js +7 -7
  372. package/build/hooks/dimensions.js.map +1 -1
  373. package/build/hooks/duotone.js +5 -5
  374. package/build/hooks/duotone.js.map +1 -1
  375. package/build/hooks/font-family.js +2 -6
  376. package/build/hooks/font-family.js.map +1 -1
  377. package/build/hooks/font-size.js +10 -8
  378. package/build/hooks/font-size.js.map +1 -1
  379. package/build/hooks/layout.js +30 -28
  380. package/build/hooks/layout.js.map +1 -1
  381. package/build/hooks/position.js +24 -16
  382. package/build/hooks/position.js.map +1 -1
  383. package/build/hooks/style.js +8 -5
  384. package/build/hooks/style.js.map +1 -1
  385. package/build/hooks/supports.js +1 -1
  386. package/build/hooks/supports.js.map +1 -1
  387. package/build/hooks/typography.native.js +3 -1
  388. package/build/hooks/typography.native.js.map +1 -1
  389. package/build/hooks/use-typography-props.js +10 -17
  390. package/build/hooks/use-typography-props.js.map +1 -1
  391. package/build/index.js +0 -14
  392. package/build/index.js.map +1 -1
  393. package/build/layouts/constrained.js +3 -1
  394. package/build/layouts/constrained.js.map +1 -1
  395. package/build/layouts/definitions.js +154 -0
  396. package/build/layouts/definitions.js.map +1 -0
  397. package/build/layouts/flex.js +8 -5
  398. package/build/layouts/flex.js.map +1 -1
  399. package/build/layouts/flow.js +3 -1
  400. package/build/layouts/flow.js.map +1 -1
  401. package/build/layouts/grid.js +3 -1
  402. package/build/layouts/grid.js.map +1 -1
  403. package/build/layouts/utils.js +8 -2
  404. package/build/layouts/utils.js.map +1 -1
  405. package/build/private-apis.js +23 -1
  406. package/build/private-apis.js.map +1 -1
  407. package/build/store/actions.js +2 -62
  408. package/build/store/actions.js.map +1 -1
  409. package/build/store/defaults.js +1 -0
  410. package/build/store/defaults.js.map +1 -1
  411. package/build/store/private-actions.js +200 -0
  412. package/build/store/private-actions.js.map +1 -1
  413. package/build/store/private-selectors.js +72 -4
  414. package/build/store/private-selectors.js.map +1 -1
  415. package/build/store/reducer.js +52 -1
  416. package/build/store/reducer.js.map +1 -1
  417. package/build/store/selectors.js +42 -42
  418. package/build/store/selectors.js.map +1 -1
  419. package/build/utils/object.js +39 -0
  420. package/build/utils/object.js.map +1 -1
  421. package/build-module/autocompleters/block.js +5 -3
  422. package/build-module/autocompleters/block.js.map +1 -1
  423. package/build-module/components/alignment-control/index.js +4 -5
  424. package/build-module/components/alignment-control/index.js.map +1 -1
  425. package/build-module/components/alignment-control/ui.js +5 -6
  426. package/build-module/components/alignment-control/ui.js.map +1 -1
  427. package/build-module/components/autocomplete/index.js +2 -3
  428. package/build-module/components/autocomplete/index.js.map +1 -1
  429. package/build-module/components/block-actions/index.js +4 -0
  430. package/build-module/components/block-actions/index.js.map +1 -1
  431. package/build-module/components/block-alignment-control/constants.js +0 -3
  432. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  433. package/build-module/components/block-alignment-control/index.js +4 -5
  434. package/build-module/components/block-alignment-control/index.js.map +1 -1
  435. package/build-module/components/block-alignment-control/ui.js +4 -4
  436. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  437. package/build-module/components/block-alignment-control/ui.native.js +3 -2
  438. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  439. package/build-module/components/block-alignment-matrix-control/index.js +0 -1
  440. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  441. package/build-module/components/block-breadcrumb/index.js +2 -3
  442. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  443. package/build-module/components/block-controls/fill.js +2 -1
  444. package/build-module/components/block-controls/fill.js.map +1 -1
  445. package/build-module/components/block-controls/index.js +8 -7
  446. package/build-module/components/block-controls/index.js.map +1 -1
  447. package/build-module/components/block-controls/slot.js +2 -3
  448. package/build-module/components/block-controls/slot.js.map +1 -1
  449. package/build-module/components/block-controls/slot.native.js +4 -2
  450. package/build-module/components/block-controls/slot.native.js.map +1 -1
  451. package/build-module/components/block-edit/edit.js +4 -5
  452. package/build-module/components/block-edit/edit.js.map +1 -1
  453. package/build-module/components/block-edit/edit.native.js +2 -3
  454. package/build-module/components/block-edit/edit.native.js.map +1 -1
  455. package/build-module/components/block-edit/index.js +3 -2
  456. package/build-module/components/block-edit/index.js.map +1 -1
  457. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
  458. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  459. package/build-module/components/block-heading-level-dropdown/index.js +71 -0
  460. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
  461. package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
  462. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
  463. package/build-module/components/block-icon/index.native.js +6 -6
  464. package/build-module/components/block-icon/index.native.js.map +1 -1
  465. package/build-module/components/block-info-slot-fill/index.js +4 -2
  466. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  467. package/build-module/components/block-inspector/index.js +20 -88
  468. package/build-module/components/block-inspector/index.js.map +1 -1
  469. package/build-module/components/block-list/block-list-item.native.js +4 -2
  470. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  471. package/build-module/components/block-list/block.js +6 -4
  472. package/build-module/components/block-list/block.js.map +1 -1
  473. package/build-module/components/block-list/block.native.js +1 -0
  474. package/build-module/components/block-list/block.native.js.map +1 -1
  475. package/build-module/components/block-list/index.js +7 -4
  476. package/build-module/components/block-list/index.js.map +1 -1
  477. package/build-module/components/block-list/index.native.js +8 -8
  478. package/build-module/components/block-list/index.native.js.map +1 -1
  479. package/build-module/components/block-list/subdirectory-icon.js +4 -4
  480. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  481. package/build-module/components/block-list/use-in-between-inserter.js +1 -3
  482. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  483. package/build-module/components/block-list-appender/index.js +21 -19
  484. package/build-module/components/block-list-appender/index.js.map +1 -1
  485. package/build-module/components/block-lock/toolbar.js +25 -7
  486. package/build-module/components/block-lock/toolbar.js.map +1 -1
  487. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  488. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  489. package/build-module/components/block-mover/button.js +12 -11
  490. package/build-module/components/block-mover/button.js.map +1 -1
  491. package/build-module/components/block-mover/index.js +11 -9
  492. package/build-module/components/block-mover/index.js.map +1 -1
  493. package/build-module/components/block-navigation/dropdown.js +4 -5
  494. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  495. package/build-module/components/block-parent-selector/index.js +4 -4
  496. package/build-module/components/block-parent-selector/index.js.map +1 -1
  497. package/build-module/components/block-pattern-setup/index.js +6 -7
  498. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  499. package/build-module/components/block-patterns-list/index.js +6 -7
  500. package/build-module/components/block-patterns-list/index.js.map +1 -1
  501. package/build-module/components/block-popover/inbetween.js +4 -5
  502. package/build-module/components/block-popover/inbetween.js.map +1 -1
  503. package/build-module/components/block-popover/index.js +4 -5
  504. package/build-module/components/block-popover/index.js.map +1 -1
  505. package/build-module/components/block-preview/auto.js +2 -3
  506. package/build-module/components/block-preview/auto.js.map +1 -1
  507. package/build-module/components/block-preview/index.js +7 -7
  508. package/build-module/components/block-preview/index.js.map +1 -1
  509. package/build-module/components/block-quick-navigation/index.js +69 -0
  510. package/build-module/components/block-quick-navigation/index.js.map +1 -0
  511. package/build-module/components/block-removal-warning-modal/index.js +76 -0
  512. package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
  513. package/build-module/components/block-selection-clearer/index.js +4 -4
  514. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  515. package/build-module/components/block-settings/button.native.js +2 -1
  516. package/build-module/components/block-settings/button.native.js.map +1 -1
  517. package/build-module/components/block-settings/container.native.js +6 -5
  518. package/build-module/components/block-settings/container.native.js.map +1 -1
  519. package/build-module/components/block-settings-menu/block-settings-dropdown.js +10 -10
  520. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  521. package/build-module/components/block-settings-menu/index.js +4 -4
  522. package/build-module/components/block-settings-menu/index.js.map +1 -1
  523. package/build-module/components/block-settings-menu-controls/index.js +4 -4
  524. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  525. package/build-module/components/block-switcher/index.js +1 -2
  526. package/build-module/components/block-switcher/index.js.map +1 -1
  527. package/build-module/components/block-switcher/pattern-transformations-menu.js +6 -7
  528. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  529. package/build-module/components/block-toolbar/index.js +10 -7
  530. package/build-module/components/block-toolbar/index.js.map +1 -1
  531. package/build-module/components/block-tools/block-contextual-toolbar.js +4 -4
  532. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  533. package/build-module/components/block-tools/block-selection-button.js +4 -4
  534. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  535. package/build-module/components/block-tools/index.js +13 -5
  536. package/build-module/components/block-tools/index.js.map +1 -1
  537. package/build-module/components/block-tools/insertion-point.js +5 -4
  538. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  539. package/build-module/components/block-tools/selected-block-popover.js +8 -7
  540. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  541. package/build-module/components/block-types-list/index.native.js +4 -5
  542. package/build-module/components/block-types-list/index.native.js.map +1 -1
  543. package/build-module/components/block-vertical-alignment-control/index.js +4 -5
  544. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  545. package/build-module/components/block-vertical-alignment-control/ui.js +5 -9
  546. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  547. package/build-module/components/border-radius-control/all-input-control.js +2 -3
  548. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  549. package/build-module/components/border-radius-control/input-controls.js +2 -3
  550. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  551. package/build-module/components/border-radius-control/linked-button.js +2 -3
  552. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  553. package/build-module/components/color-palette/control.js +2 -3
  554. package/build-module/components/color-palette/control.js.map +1 -1
  555. package/build-module/components/color-palette/with-color-context.js +2 -3
  556. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  557. package/build-module/components/colors/utils.js +5 -1
  558. package/build-module/components/colors/utils.js.map +1 -1
  559. package/build-module/components/colors/with-colors.js +10 -14
  560. package/build-module/components/colors/with-colors.js.map +1 -1
  561. package/build-module/components/colors-gradients/control.js +7 -4
  562. package/build-module/components/colors-gradients/control.js.map +1 -1
  563. package/build-module/components/colors-gradients/dropdown.js +12 -10
  564. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  565. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +7 -4
  566. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  567. package/build-module/components/copy-handler/index.js +5 -6
  568. package/build-module/components/copy-handler/index.js.map +1 -1
  569. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +87 -0
  570. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  571. package/build-module/components/dimensions-tool/index.js +195 -0
  572. package/build-module/components/dimensions-tool/index.js.map +1 -0
  573. package/build-module/components/dimensions-tool/scale-tool.js +103 -0
  574. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -0
  575. package/build-module/components/dimensions-tool/width-height-tool.js +122 -0
  576. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -0
  577. package/build-module/components/duotone-control/index.js +1 -2
  578. package/build-module/components/duotone-control/index.js.map +1 -1
  579. package/build-module/components/editable-text/index.js +6 -6
  580. package/build-module/components/editable-text/index.js.map +1 -1
  581. package/build-module/components/font-appearance-control/index.js +2 -3
  582. package/build-module/components/font-appearance-control/index.js.map +1 -1
  583. package/build-module/components/font-family/index.js +4 -4
  584. package/build-module/components/font-family/index.js.map +1 -1
  585. package/build-module/components/font-sizes/font-size-picker.js +2 -3
  586. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  587. package/build-module/components/font-sizes/utils.js +2 -2
  588. package/build-module/components/font-sizes/utils.js.map +1 -1
  589. package/build-module/components/font-sizes/with-font-sizes.js +7 -6
  590. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  591. package/build-module/components/global-styles/color-panel.js +15 -15
  592. package/build-module/components/global-styles/color-panel.js.map +1 -1
  593. package/build-module/components/global-styles/effects-panel.js +2 -1
  594. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  595. package/build-module/components/global-styles/filters-panel.js +2 -1
  596. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  597. package/build-module/components/global-styles/index.js +1 -1
  598. package/build-module/components/global-styles/index.js.map +1 -1
  599. package/build-module/components/global-styles/typography-panel.js +7 -7
  600. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  601. package/build-module/components/global-styles/use-global-styles-output.js +11 -10
  602. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  603. package/build-module/components/gradients/with-gradient.js +2 -3
  604. package/build-module/components/gradients/with-gradient.js.map +1 -1
  605. package/build-module/components/iframe/index.js +5 -6
  606. package/build-module/components/iframe/index.js.map +1 -1
  607. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  608. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  609. package/build-module/components/image-editor/constants.js +1 -2
  610. package/build-module/components/image-editor/constants.js.map +1 -1
  611. package/build-module/components/image-editor/use-save-image.js +1 -2
  612. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  613. package/build-module/components/image-size-control/index.js +5 -0
  614. package/build-module/components/image-size-control/index.js.map +1 -1
  615. package/build-module/components/index.js +1 -1
  616. package/build-module/components/index.js.map +1 -1
  617. package/build-module/components/index.native.js +1 -0
  618. package/build-module/components/index.native.js.map +1 -1
  619. package/build-module/components/inner-blocks/index.js +9 -7
  620. package/build-module/components/inner-blocks/index.js.map +1 -1
  621. package/build-module/components/inner-blocks/index.native.js +8 -6
  622. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  623. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -27
  624. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  625. package/build-module/components/inner-blocks/with-client-id.js +2 -3
  626. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  627. package/build-module/components/inserter/block-patterns-explorer/explorer.js +2 -1
  628. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  629. package/build-module/components/inserter/block-patterns-tab.js +33 -7
  630. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  631. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -3
  632. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  633. package/build-module/components/inserter/hooks/use-insertion-point.js +1 -1
  634. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  635. package/build-module/components/inserter/index.js +8 -7
  636. package/build-module/components/inserter/index.js.map +1 -1
  637. package/build-module/components/inserter/index.native.js +4 -4
  638. package/build-module/components/inserter/index.native.js.map +1 -1
  639. package/build-module/components/inserter/library.js +1 -1
  640. package/build-module/components/inserter/library.js.map +1 -1
  641. package/build-module/components/inserter/media-tab/media-list.js +2 -3
  642. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  643. package/build-module/components/inserter/media-tab/media-preview.js +4 -5
  644. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  645. package/build-module/components/inserter/media-tab/media-tab.js +3 -3
  646. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  647. package/build-module/components/inserter/reusable-blocks-tab.js +3 -3
  648. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  649. package/build-module/components/inserter/tabs.js +3 -3
  650. package/build-module/components/inserter/tabs.js.map +1 -1
  651. package/build-module/components/inserter-list-item/index.js +4 -4
  652. package/build-module/components/inserter-list-item/index.js.map +1 -1
  653. package/build-module/components/inserter-listbox/group.js +4 -4
  654. package/build-module/components/inserter-listbox/group.js.map +1 -1
  655. package/build-module/components/inserter-listbox/item.js +8 -6
  656. package/build-module/components/inserter-listbox/item.js.map +1 -1
  657. package/build-module/components/inserter-listbox/row.js +4 -4
  658. package/build-module/components/inserter-listbox/row.js.map +1 -1
  659. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -3
  660. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  661. package/build-module/components/inspector-controls/fill.native.js +2 -1
  662. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  663. package/build-module/components/inspector-controls/index.js +4 -5
  664. package/build-module/components/inspector-controls/index.js.map +1 -1
  665. package/build-module/components/inspector-controls/slot.js +4 -5
  666. package/build-module/components/inspector-controls/slot.js.map +1 -1
  667. package/build-module/components/inspector-controls/slot.native.js +2 -1
  668. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  669. package/build-module/components/justify-content-control/index.js +4 -5
  670. package/build-module/components/justify-content-control/index.js.map +1 -1
  671. package/build-module/components/justify-content-control/ui.js +4 -4
  672. package/build-module/components/justify-content-control/ui.js.map +1 -1
  673. package/build-module/components/letter-spacing-control/index.js +2 -3
  674. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  675. package/build-module/components/line-height-control/index.js +2 -3
  676. package/build-module/components/line-height-control/index.js.map +1 -1
  677. package/build-module/components/link-control/index.js +20 -24
  678. package/build-module/components/link-control/index.js.map +1 -1
  679. package/build-module/components/link-control/search-create-button.js +2 -3
  680. package/build-module/components/link-control/search-create-button.js.map +1 -1
  681. package/build-module/components/link-control/search-input.js +7 -5
  682. package/build-module/components/link-control/search-input.js.map +1 -1
  683. package/build-module/components/link-control/search-item.js +2 -3
  684. package/build-module/components/link-control/search-item.js.map +1 -1
  685. package/build-module/components/link-control/search-results.js +2 -3
  686. package/build-module/components/link-control/search-results.js.map +1 -1
  687. package/build-module/components/link-control/settings-drawer.js +4 -5
  688. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  689. package/build-module/components/list-view/appender.js +4 -5
  690. package/build-module/components/list-view/appender.js.map +1 -1
  691. package/build-module/components/list-view/aria-referenced-text.js +4 -5
  692. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  693. package/build-module/components/list-view/block-contents.js +4 -4
  694. package/build-module/components/list-view/block-contents.js.map +1 -1
  695. package/build-module/components/list-view/block-select-button.js +14 -4
  696. package/build-module/components/list-view/block-select-button.js.map +1 -1
  697. package/build-module/components/list-view/branch.js +9 -7
  698. package/build-module/components/list-view/branch.js.map +1 -1
  699. package/build-module/components/list-view/drop-indicator.js +61 -11
  700. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  701. package/build-module/components/list-view/index.js +4 -5
  702. package/build-module/components/list-view/index.js.map +1 -1
  703. package/build-module/components/list-view/leaf.js +4 -4
  704. package/build-module/components/list-view/leaf.js.map +1 -1
  705. package/build-module/components/list-view/use-list-view-client-ids.js +2 -22
  706. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  707. package/build-module/components/list-view/use-list-view-drop-zone.js +45 -34
  708. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  709. package/build-module/components/media-placeholder/index.js +38 -13
  710. package/build-module/components/media-placeholder/index.js.map +1 -1
  711. package/build-module/components/media-replace-flow/index.js +1 -3
  712. package/build-module/components/media-replace-flow/index.js.map +1 -1
  713. package/build-module/components/navigable-toolbar/index.js +8 -7
  714. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  715. package/build-module/components/panel-color-settings/index.js +4 -4
  716. package/build-module/components/panel-color-settings/index.js.map +1 -1
  717. package/build-module/components/plain-text/index.js +8 -7
  718. package/build-module/components/plain-text/index.js.map +1 -1
  719. package/build-module/components/plain-text/index.native.js +7 -5
  720. package/build-module/components/plain-text/index.native.js.map +1 -1
  721. package/build-module/components/preview-options/index.js +5 -4
  722. package/build-module/components/preview-options/index.js.map +1 -1
  723. package/build-module/components/provider/index.js +2 -3
  724. package/build-module/components/provider/index.js.map +1 -1
  725. package/build-module/components/provider/use-block-sync.js +21 -0
  726. package/build-module/components/provider/use-block-sync.js.map +1 -1
  727. package/build-module/components/provider/with-registry-provider.js +8 -7
  728. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  729. package/build-module/components/publish-date-time-picker/index.js +4 -4
  730. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  731. package/build-module/components/resizable-box-popover/index.js +5 -4
  732. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  733. package/build-module/components/resolution-tool/index.js +45 -0
  734. package/build-module/components/resolution-tool/index.js.map +1 -0
  735. package/build-module/components/rich-text/content.js +85 -0
  736. package/build-module/components/rich-text/content.js.map +1 -0
  737. package/build-module/components/rich-text/format-toolbar/index.js +1 -2
  738. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  739. package/build-module/components/rich-text/index.js +8 -42
  740. package/build-module/components/rich-text/index.js.map +1 -1
  741. package/build-module/components/rich-text/index.native.js +6 -34
  742. package/build-module/components/rich-text/index.native.js.map +1 -1
  743. package/build-module/components/rich-text/toolbar-button.js +2 -3
  744. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  745. package/build-module/components/spacing-sizes-control/index.js +8 -7
  746. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  747. package/build-module/components/tool-selector/index.js +2 -3
  748. package/build-module/components/tool-selector/index.js.map +1 -1
  749. package/build-module/components/unit-control/index.js +4 -4
  750. package/build-module/components/unit-control/index.js.map +1 -1
  751. package/build-module/components/url-input/index.js +12 -9
  752. package/build-module/components/url-input/index.js.map +1 -1
  753. package/build-module/components/url-input/index.native.js +4 -4
  754. package/build-module/components/url-input/index.native.js.map +1 -1
  755. package/build-module/components/url-popover/image-url-input-ui.js +22 -15
  756. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  757. package/build-module/components/url-popover/index.js +4 -4
  758. package/build-module/components/url-popover/index.js.map +1 -1
  759. package/build-module/components/url-popover/link-editor.js +4 -4
  760. package/build-module/components/url-popover/link-editor.js.map +1 -1
  761. package/build-module/components/url-popover/link-viewer.js +4 -4
  762. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  763. package/build-module/components/use-block-display-information/index.js +29 -2
  764. package/build-module/components/use-block-display-information/index.js.map +1 -1
  765. package/build-module/components/video-player/index.native.js +2 -3
  766. package/build-module/components/video-player/index.native.js.map +1 -1
  767. package/build-module/components/warning/index.native.js +4 -4
  768. package/build-module/components/warning/index.native.js.map +1 -1
  769. package/build-module/components/writing-flow/index.js +2 -3
  770. package/build-module/components/writing-flow/index.js.map +1 -1
  771. package/build-module/components/writing-flow/use-drag-selection.js +1 -1
  772. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  773. package/build-module/components/writing-flow/use-tab-nav.js +32 -5
  774. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  775. package/build-module/hooks/align.js +8 -7
  776. package/build-module/hooks/align.js.map +1 -1
  777. package/build-module/hooks/anchor.js +4 -2
  778. package/build-module/hooks/anchor.js.map +1 -1
  779. package/build-module/hooks/behaviors.js +76 -34
  780. package/build-module/hooks/behaviors.js.map +1 -1
  781. package/build-module/hooks/border.js +4 -4
  782. package/build-module/hooks/border.js.map +1 -1
  783. package/build-module/hooks/color.js +4 -4
  784. package/build-module/hooks/color.js.map +1 -1
  785. package/build-module/hooks/content-lock-ui.js +8 -7
  786. package/build-module/hooks/content-lock-ui.js.map +1 -1
  787. package/build-module/hooks/custom-class-name.js +4 -2
  788. package/build-module/hooks/custom-class-name.js.map +1 -1
  789. package/build-module/hooks/dimensions.js +7 -6
  790. package/build-module/hooks/dimensions.js.map +1 -1
  791. package/build-module/hooks/duotone.js +5 -4
  792. package/build-module/hooks/duotone.js.map +1 -1
  793. package/build-module/hooks/font-family.js +1 -5
  794. package/build-module/hooks/font-family.js.map +1 -1
  795. package/build-module/hooks/font-size.js +10 -9
  796. package/build-module/hooks/font-size.js.map +1 -1
  797. package/build-module/hooks/layout.js +26 -24
  798. package/build-module/hooks/layout.js.map +1 -1
  799. package/build-module/hooks/position.js +23 -15
  800. package/build-module/hooks/position.js.map +1 -1
  801. package/build-module/hooks/style.js +8 -4
  802. package/build-module/hooks/style.js.map +1 -1
  803. package/build-module/hooks/supports.js +1 -1
  804. package/build-module/hooks/supports.js.map +1 -1
  805. package/build-module/hooks/typography.native.js +3 -1
  806. package/build-module/hooks/typography.native.js.map +1 -1
  807. package/build-module/hooks/use-typography-props.js +8 -15
  808. package/build-module/hooks/use-typography-props.js.map +1 -1
  809. package/build-module/index.js +1 -1
  810. package/build-module/index.js.map +1 -1
  811. package/build-module/layouts/constrained.js +2 -1
  812. package/build-module/layouts/constrained.js.map +1 -1
  813. package/build-module/layouts/definitions.js +147 -0
  814. package/build-module/layouts/definitions.js.map +1 -0
  815. package/build-module/layouts/flex.js +8 -6
  816. package/build-module/layouts/flex.js.map +1 -1
  817. package/build-module/layouts/flow.js +2 -1
  818. package/build-module/layouts/flow.js.map +1 -1
  819. package/build-module/layouts/grid.js +2 -1
  820. package/build-module/layouts/grid.js.map +1 -1
  821. package/build-module/layouts/utils.js +7 -2
  822. package/build-module/layouts/utils.js.map +1 -1
  823. package/build-module/private-apis.js +16 -1
  824. package/build-module/private-apis.js.map +1 -1
  825. package/build-module/store/actions.js +2 -62
  826. package/build-module/store/actions.js.map +1 -1
  827. package/build-module/store/defaults.js +1 -0
  828. package/build-module/store/defaults.js.map +1 -1
  829. package/build-module/store/private-actions.js +186 -0
  830. package/build-module/store/private-actions.js.map +1 -1
  831. package/build-module/store/private-selectors.js +63 -3
  832. package/build-module/store/private-selectors.js.map +1 -1
  833. package/build-module/store/reducer.js +52 -1
  834. package/build-module/store/reducer.js.map +1 -1
  835. package/build-module/store/selectors.js +42 -42
  836. package/build-module/store/selectors.js.map +1 -1
  837. package/build-module/utils/object.js +37 -1
  838. package/build-module/utils/object.js.map +1 -1
  839. package/build-style/style-rtl.css +58 -67
  840. package/build-style/style.css +58 -67
  841. package/package.json +32 -31
  842. package/src/autocompleters/block.js +4 -2
  843. package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -6
  844. package/src/components/alignment-control/ui.js +1 -2
  845. package/src/components/block-actions/index.js +10 -0
  846. package/src/components/block-alignment-control/constants.js +0 -4
  847. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -5
  848. package/src/components/block-alignment-control/ui.js +1 -6
  849. package/src/components/block-alignment-matrix-control/index.js +1 -1
  850. package/src/components/block-breadcrumb/index.js +2 -6
  851. package/src/components/block-edit/index.js +3 -5
  852. package/src/components/block-heading-level-dropdown/README.md +52 -0
  853. package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
  854. package/src/components/block-heading-level-dropdown/index.js +77 -0
  855. package/src/components/block-heading-level-dropdown/index.native.js +63 -0
  856. package/src/components/block-inspector/index.js +18 -92
  857. package/src/components/block-inspector/style.scss +0 -5
  858. package/src/components/block-list/block.native.js +1 -0
  859. package/src/components/block-list/index.js +1 -1
  860. package/src/components/block-list/use-in-between-inserter.js +0 -4
  861. package/src/components/block-list-appender/index.js +29 -22
  862. package/src/components/block-lock/style.scss +11 -4
  863. package/src/components/block-lock/toolbar.js +34 -6
  864. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  865. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
  866. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
  867. package/src/components/block-mover/test/index.native.js +1 -20
  868. package/src/components/block-preview/index.js +7 -14
  869. package/src/components/block-quick-navigation/index.js +81 -0
  870. package/src/components/block-removal-warning-modal/index.js +94 -0
  871. package/src/components/block-settings-menu/block-settings-dropdown.js +15 -13
  872. package/src/components/block-switcher/index.js +1 -2
  873. package/src/components/block-toolbar/index.js +9 -6
  874. package/src/components/block-toolbar/style.scss +0 -4
  875. package/src/components/block-tools/index.js +10 -1
  876. package/src/components/block-tools/style.scss +4 -0
  877. package/src/components/block-vertical-alignment-control/ui.js +1 -3
  878. package/src/components/colors/utils.js +5 -1
  879. package/src/components/colors/with-colors.js +1 -5
  880. package/src/components/copy-handler/index.js +5 -5
  881. package/src/components/dimensions-tool/aspect-ratio-tool.js +124 -0
  882. package/src/components/dimensions-tool/index.js +212 -0
  883. package/src/components/dimensions-tool/scale-tool.js +124 -0
  884. package/src/components/dimensions-tool/stories/aspect-ratio-tool.js +52 -0
  885. package/src/components/dimensions-tool/stories/index.js +54 -0
  886. package/src/components/dimensions-tool/stories/scale-tool.js +48 -0
  887. package/src/components/dimensions-tool/stories/width-height-tool.js +54 -0
  888. package/src/components/dimensions-tool/test/index.js +641 -0
  889. package/src/components/dimensions-tool/width-height-tool.js +113 -0
  890. package/src/components/duotone-control/index.js +0 -1
  891. package/src/components/font-sizes/test/fluid-utils.js +97 -76
  892. package/src/components/font-sizes/utils.js +2 -2
  893. package/src/components/global-styles/color-panel.js +3 -3
  894. package/src/components/global-styles/index.js +1 -0
  895. package/src/components/global-styles/test/use-global-styles-output.js +14 -9
  896. package/src/components/global-styles/typography-panel.js +19 -16
  897. package/src/components/global-styles/use-global-styles-output.js +12 -12
  898. package/src/components/iframe/index.js +1 -1
  899. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  900. package/src/components/image-editor/constants.js +0 -1
  901. package/src/components/image-editor/use-save-image.js +0 -1
  902. package/src/components/image-size-control/index.js +6 -0
  903. package/src/components/index.js +1 -1
  904. package/src/components/index.native.js +1 -0
  905. package/src/components/inner-blocks/index.js +4 -2
  906. package/src/components/inner-blocks/index.native.js +1 -1
  907. package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
  908. package/src/components/inserter/block-patterns-tab.js +63 -8
  909. package/src/components/inserter/hooks/use-block-types-state.js +4 -3
  910. package/src/components/inserter/hooks/use-insertion-point.js +1 -0
  911. package/src/components/inserter/library.js +2 -1
  912. package/src/components/inserter/media-tab/media-tab.js +9 -3
  913. package/src/components/inserter/reusable-blocks-tab.js +3 -3
  914. package/src/components/inserter/tabs.js +3 -3
  915. package/src/components/link-control/index.js +34 -37
  916. package/src/components/link-control/search-input.js +5 -3
  917. package/src/components/link-control/settings-drawer.js +6 -5
  918. package/src/components/link-control/style.scss +33 -55
  919. package/src/components/link-control/test/index.js +161 -159
  920. package/src/components/list-view/block-select-button.js +19 -1
  921. package/src/components/list-view/branch.js +6 -3
  922. package/src/components/list-view/drop-indicator.js +94 -9
  923. package/src/components/list-view/style.scss +13 -12
  924. package/src/components/list-view/test/use-list-view-drop-zone.js +188 -93
  925. package/src/components/list-view/use-list-view-client-ids.js +3 -20
  926. package/src/components/list-view/use-list-view-drop-zone.js +97 -54
  927. package/src/components/media-placeholder/index.js +54 -20
  928. package/src/components/media-replace-flow/index.js +1 -3
  929. package/src/components/media-replace-flow/test/index.js +1 -1
  930. package/src/components/preview-options/index.js +3 -2
  931. package/src/components/provider/test/experimental-provider.js +9 -6
  932. package/src/components/provider/test/use-block-sync.js +21 -6
  933. package/src/components/provider/use-block-sync.js +19 -0
  934. package/src/components/resolution-tool/index.js +56 -0
  935. package/src/components/resolution-tool/stories/index.js +48 -0
  936. package/src/components/rich-text/content.js +85 -0
  937. package/src/components/rich-text/format-toolbar/index.js +1 -2
  938. package/src/components/rich-text/index.js +2 -35
  939. package/src/components/rich-text/index.native.js +3 -33
  940. package/src/components/url-input/index.js +2 -0
  941. package/src/components/url-popover/image-url-input-ui.js +15 -15
  942. package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
  943. package/src/components/use-block-display-information/index.js +26 -0
  944. package/src/components/writing-flow/use-drag-selection.js +1 -1
  945. package/src/components/writing-flow/use-tab-nav.js +42 -6
  946. package/src/hooks/behaviors.js +82 -39
  947. package/src/hooks/font-family.js +1 -5
  948. package/src/hooks/font-size.js +12 -17
  949. package/src/hooks/layout.js +17 -25
  950. package/src/hooks/position.js +24 -12
  951. package/src/hooks/supports.js +1 -1
  952. package/src/hooks/use-typography-props.js +14 -19
  953. package/src/index.js +0 -2
  954. package/src/layouts/constrained.js +2 -1
  955. package/src/layouts/definitions.js +174 -0
  956. package/src/layouts/flex.js +7 -5
  957. package/src/layouts/flow.js +2 -1
  958. package/src/layouts/grid.js +2 -1
  959. package/src/layouts/test/utils.js +2 -7
  960. package/src/layouts/utils.js +7 -2
  961. package/src/private-apis.js +15 -0
  962. package/src/store/actions.js +7 -56
  963. package/src/store/defaults.js +1 -0
  964. package/src/store/private-actions.js +193 -0
  965. package/src/store/private-selectors.js +108 -35
  966. package/src/store/reducer.js +44 -0
  967. package/src/store/selectors.js +61 -39
  968. package/src/store/test/private-selectors.js +269 -1
  969. package/src/store/test/selectors.js +18 -17
  970. package/src/utils/object.js +35 -0
  971. package/src/utils/test/object.js +96 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"names":["CustomSelectControl","useMemo","__","_x","sprintf","FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","selectedItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {WPElement} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\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\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t/>\n\t\t)\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"names":["CustomSelectControl","useMemo","__","_x","sprintf","FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","selectedItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {WPElement} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\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\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t/>\n\t\t)\n\t);\n}\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -39,12 +38,13 @@ export default function FontFamilyControl({
39
38
  label: name || fontFamily
40
39
  };
41
40
  })];
42
- return createElement(SelectControl, _extends({
41
+ return createElement(SelectControl, {
43
42
  label: __('Font'),
44
43
  options: options,
45
44
  value: value,
46
45
  onChange: onChange,
47
- labelPosition: "top"
48
- }, props));
46
+ labelPosition: "top",
47
+ ...props
48
+ });
49
49
  }
50
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-family/index.js"],"names":["SelectControl","__","useSetting","FontFamilyControl","value","onChange","fontFamilies","props","blockLevelFontFamilies","length","options","label","map","fontFamily","name"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,uBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,eAAe,SAASC,iBAAT,CAA4B;AAC1CC,EAAAA,KAAK,GAAG,EADkC;AAE1CC,EAAAA,QAF0C;AAG1CC,EAAAA,YAH0C;AAI1C,KAAGC;AAJuC,CAA5B,EAKX;AACH,QAAMC,sBAAsB,GAAGN,UAAU,CAAE,yBAAF,CAAzC;;AACA,MAAK,CAAEI,YAAP,EAAsB;AACrBA,IAAAA,YAAY,GAAGE,sBAAf;AACA;;AAED,MAAK,CAAEF,YAAF,IAAkBA,YAAY,CAACG,MAAb,KAAwB,CAA/C,EAAmD;AAClD,WAAO,IAAP;AACA;;AAED,QAAMC,OAAO,GAAG,CACf;AAAEN,IAAAA,KAAK,EAAE,EAAT;AAAaO,IAAAA,KAAK,EAAEV,EAAE,CAAE,SAAF;AAAtB,GADe,EAEf,GAAGK,YAAY,CAACM,GAAb,CAAkB,CAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAF,KAA4B;AAChD,WAAO;AACNV,MAAAA,KAAK,EAAES,UADD;AAENF,MAAAA,KAAK,EAAEG,IAAI,IAAID;AAFT,KAAP;AAIA,GALE,CAFY,CAAhB;AASA,SACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGZ,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,OAAO,EAAGS,OAFX;AAGC,IAAA,KAAK,EAAGN,KAHT;AAIC,IAAA,QAAQ,EAAGC,QAJZ;AAKC,IAAA,aAAa,EAAC;AALf,KAMME,KANN,EADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nexport default function FontFamilyControl( {\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\t...props\n} ) {\n\tconst blockLevelFontFamilies = useSetting( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{ value: '', label: __( 'Default' ) },\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => {\n\t\t\treturn {\n\t\t\t\tvalue: fontFamily,\n\t\t\t\tlabel: name || fontFamily,\n\t\t\t};\n\t\t} ),\n\t];\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\toptions={ options }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-family/index.js"],"names":["SelectControl","__","useSetting","FontFamilyControl","value","onChange","fontFamilies","props","blockLevelFontFamilies","length","options","label","map","fontFamily","name"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,uBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA,eAAe,SAASC,iBAAT,CAA4B;AAC1CC,EAAAA,KAAK,GAAG,EADkC;AAE1CC,EAAAA,QAF0C;AAG1CC,EAAAA,YAH0C;AAI1C,KAAGC;AAJuC,CAA5B,EAKX;AACH,QAAMC,sBAAsB,GAAGN,UAAU,CAAE,yBAAF,CAAzC;;AACA,MAAK,CAAEI,YAAP,EAAsB;AACrBA,IAAAA,YAAY,GAAGE,sBAAf;AACA;;AAED,MAAK,CAAEF,YAAF,IAAkBA,YAAY,CAACG,MAAb,KAAwB,CAA/C,EAAmD;AAClD,WAAO,IAAP;AACA;;AAED,QAAMC,OAAO,GAAG,CACf;AAAEN,IAAAA,KAAK,EAAE,EAAT;AAAaO,IAAAA,KAAK,EAAEV,EAAE,CAAE,SAAF;AAAtB,GADe,EAEf,GAAGK,YAAY,CAACM,GAAb,CAAkB,CAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAF,KAA4B;AAChD,WAAO;AACNV,MAAAA,KAAK,EAAES,UADD;AAENF,MAAAA,KAAK,EAAEG,IAAI,IAAID;AAFT,KAAP;AAIA,GALE,CAFY,CAAhB;AASA,SACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGZ,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,OAAO,EAAGS,OAFX;AAGC,IAAA,KAAK,EAAGN,KAHT;AAIC,IAAA,QAAQ,EAAGC,QAJZ;AAKC,IAAA,aAAa,EAAC,KALf;AAAA,OAMME;AANN,IADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nexport default function FontFamilyControl( {\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\t...props\n} ) {\n\tconst blockLevelFontFamilies = useSetting( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{ value: '', label: __( 'Default' ) },\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => {\n\t\t\treturn {\n\t\t\t\tvalue: fontFamily,\n\t\t\t\tlabel: name || fontFamily,\n\t\t\t};\n\t\t} ),\n\t];\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\toptions={ options }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -14,10 +13,10 @@ import useSetting from '../use-setting';
14
13
  function FontSizePicker(props) {
15
14
  const fontSizes = useSetting('typography.fontSizes');
16
15
  const disableCustomFontSizes = !useSetting('typography.customFontSize');
17
- return createElement(BaseFontSizePicker, _extends({}, props, {
16
+ return createElement(BaseFontSizePicker, { ...props,
18
17
  fontSizes: fontSizes,
19
18
  disableCustomFontSizes: disableCustomFontSizes
20
- }));
19
+ });
21
20
  }
22
21
  /**
23
22
  * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/font-size-picker.js"],"names":["FontSizePicker","BaseFontSizePicker","useSetting","props","fontSizes","disableCustomFontSizes"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAc,IAAIC,kBAA3B,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;;AAEA,SAASF,cAAT,CAAyBG,KAAzB,EAAiC;AAChC,QAAMC,SAAS,GAAGF,UAAU,CAAE,sBAAF,CAA5B;AACA,QAAMG,sBAAsB,GAAG,CAAEH,UAAU,CAAE,2BAAF,CAA3C;AAEA,SACC,cAAC,kBAAD,eACMC,KADN;AAEC,IAAA,SAAS,EAAGC,SAFb;AAGC,IAAA,sBAAsB,EAAGC;AAH1B,KADD;AAOA;AAED;AACA;AACA;;;AACA,eAAeL,cAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nfunction FontSizePicker( props ) {\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst disableCustomFontSizes = ! useSetting( 'typography.customFontSize' );\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md\n */\nexport default FontSizePicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/font-size-picker.js"],"names":["FontSizePicker","BaseFontSizePicker","useSetting","props","fontSizes","disableCustomFontSizes"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,cAAc,IAAIC,kBAA3B,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;;AAEA,SAASF,cAAT,CAAyBG,KAAzB,EAAiC;AAChC,QAAMC,SAAS,GAAGF,UAAU,CAAE,sBAAF,CAA5B;AACA,QAAMG,sBAAsB,GAAG,CAAEH,UAAU,CAAE,2BAAF,CAA3C;AAEA,SACC,cAAC,kBAAD,OACMC,KADN;AAEC,IAAA,SAAS,EAAGC,SAFb;AAGC,IAAA,sBAAsB,EAAGC;AAH1B,IADD;AAOA;AAED;AACA;AACA;;;AACA,eAAeL,cAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nfunction FontSizePicker( props ) {\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst disableCustomFontSizes = ! useSetting( 'typography.customFontSize' );\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md\n */\nexport default FontSizePicker;\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * External dependencies
2
+ * Internal dependencies
3
3
  */
4
- import { kebabCase } from 'lodash';
4
+ import { kebabCase } from '../../utils/object';
5
5
  /**
6
6
  * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.
7
7
  * If namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/utils.js"],"names":["kebabCase","getFontSize","fontSizes","fontSizeAttribute","customFontSizeAttribute","fontSizeObject","find","slug","size","getFontSizeObjectByValue","value","getFontSizeClass","fontSizeSlug"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAG,CAC1BC,SAD0B,EAE1BC,iBAF0B,EAG1BC,uBAH0B,KAItB;AACJ,MAAKD,iBAAL,EAAyB;AACxB,UAAME,cAAc,GAAGH,SAAS,EAAEI,IAAX,CACtB,CAAE;AAAEC,MAAAA;AAAF,KAAF,KAAgBA,IAAI,KAAKJ,iBADH,CAAvB;;AAGA,QAAKE,cAAL,EAAsB;AACrB,aAAOA,cAAP;AACA;AACD;;AACD,SAAO;AACNG,IAAAA,IAAI,EAAEJ;AADA,GAAP;AAGA,CAhBM;AAkBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,wBAAT,CAAmCP,SAAnC,EAA8CQ,KAA9C,EAAsD;AAC5D,QAAML,cAAc,GAAGH,SAAS,EAAEI,IAAX,CAAiB,CAAE;AAAEE,IAAAA;AAAF,GAAF,KAAgBA,IAAI,KAAKE,KAA1C,CAAvB;;AACA,MAAKL,cAAL,EAAsB;AACrB,WAAOA,cAAP;AACA;;AAED,SAAO;AACNG,IAAAA,IAAI,EAAEE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CAA2BC,YAA3B,EAA0C;AAChD,MAAK,CAAEA,YAAP,EAAsB;AACrB;AACA;;AAED,SAAQ,OAAOZ,SAAS,CAAEY,YAAF,CAAkB,YAA1C;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.\n * \tIf namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.\n *\n * @param {Array} fontSizes Array of font size objects containing at least the \"name\" and \"size\" values as properties.\n * @param {?string} fontSizeAttribute Content of the font size attribute (slug).\n * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value).\n *\n * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug.\n * \t\t\t\t\t Otherwise, an object with just the size value based on customFontSize is returned.\n */\nexport const getFontSize = (\n\tfontSizes,\n\tfontSizeAttribute,\n\tcustomFontSizeAttribute\n) => {\n\tif ( fontSizeAttribute ) {\n\t\tconst fontSizeObject = fontSizes?.find(\n\t\t\t( { slug } ) => slug === fontSizeAttribute\n\t\t);\n\t\tif ( fontSizeObject ) {\n\t\t\treturn fontSizeObject;\n\t\t}\n\t}\n\treturn {\n\t\tsize: customFontSizeAttribute,\n\t};\n};\n\n/**\n * Returns the corresponding font size object for a given value.\n *\n * @param {Array} fontSizes Array of font size objects.\n * @param {number} value Font size value.\n *\n * @return {Object} Font size object.\n */\nexport function getFontSizeObjectByValue( fontSizes, value ) {\n\tconst fontSizeObject = fontSizes?.find( ( { size } ) => size === value );\n\tif ( fontSizeObject ) {\n\t\treturn fontSizeObject;\n\t}\n\n\treturn {\n\t\tsize: value,\n\t};\n}\n\n/**\n * Returns a class based on fontSizeName.\n *\n * @param {string} fontSizeSlug Slug of the fontSize.\n *\n * @return {string | undefined} String with the class corresponding to the fontSize passed.\n * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'.\n */\nexport function getFontSizeClass( fontSizeSlug ) {\n\tif ( ! fontSizeSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( fontSizeSlug ) }-font-size`;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/utils.js"],"names":["kebabCase","getFontSize","fontSizes","fontSizeAttribute","customFontSizeAttribute","fontSizeObject","find","slug","size","getFontSizeObjectByValue","value","getFontSizeClass","fontSizeSlug"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAG,CAC1BC,SAD0B,EAE1BC,iBAF0B,EAG1BC,uBAH0B,KAItB;AACJ,MAAKD,iBAAL,EAAyB;AACxB,UAAME,cAAc,GAAGH,SAAS,EAAEI,IAAX,CACtB,CAAE;AAAEC,MAAAA;AAAF,KAAF,KAAgBA,IAAI,KAAKJ,iBADH,CAAvB;;AAGA,QAAKE,cAAL,EAAsB;AACrB,aAAOA,cAAP;AACA;AACD;;AACD,SAAO;AACNG,IAAAA,IAAI,EAAEJ;AADA,GAAP;AAGA,CAhBM;AAkBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,wBAAT,CAAmCP,SAAnC,EAA8CQ,KAA9C,EAAsD;AAC5D,QAAML,cAAc,GAAGH,SAAS,EAAEI,IAAX,CAAiB,CAAE;AAAEE,IAAAA;AAAF,GAAF,KAAgBA,IAAI,KAAKE,KAA1C,CAAvB;;AACA,MAAKL,cAAL,EAAsB;AACrB,WAAOA,cAAP;AACA;;AAED,SAAO;AACNG,IAAAA,IAAI,EAAEE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,gBAAT,CAA2BC,YAA3B,EAA0C;AAChD,MAAK,CAAEA,YAAP,EAAsB;AACrB;AACA;;AAED,SAAQ,OAAOZ,SAAS,CAAEY,YAAF,CAAkB,YAA1C;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { kebabCase } from '../../utils/object';\n\n/**\n * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.\n * \tIf namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.\n *\n * @param {Array} fontSizes Array of font size objects containing at least the \"name\" and \"size\" values as properties.\n * @param {?string} fontSizeAttribute Content of the font size attribute (slug).\n * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value).\n *\n * @return {?Object} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug.\n * \t\t\t\t\t Otherwise, an object with just the size value based on customFontSize is returned.\n */\nexport const getFontSize = (\n\tfontSizes,\n\tfontSizeAttribute,\n\tcustomFontSizeAttribute\n) => {\n\tif ( fontSizeAttribute ) {\n\t\tconst fontSizeObject = fontSizes?.find(\n\t\t\t( { slug } ) => slug === fontSizeAttribute\n\t\t);\n\t\tif ( fontSizeObject ) {\n\t\t\treturn fontSizeObject;\n\t\t}\n\t}\n\treturn {\n\t\tsize: customFontSizeAttribute,\n\t};\n};\n\n/**\n * Returns the corresponding font size object for a given value.\n *\n * @param {Array} fontSizes Array of font size objects.\n * @param {number} value Font size value.\n *\n * @return {Object} Font size object.\n */\nexport function getFontSizeObjectByValue( fontSizes, value ) {\n\tconst fontSizeObject = fontSizes?.find( ( { size } ) => size === value );\n\tif ( fontSizeObject ) {\n\t\treturn fontSizeObject;\n\t}\n\n\treturn {\n\t\tsize: value,\n\t};\n}\n\n/**\n * Returns a class based on fontSizeName.\n *\n * @param {string} fontSizeSlug Slug of the fontSize.\n *\n * @return {string | undefined} String with the class corresponding to the fontSize passed.\n * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'.\n */\nexport function getFontSizeClass( fontSizeSlug ) {\n\tif ( ! fontSizeSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( fontSizeSlug ) }-font-size`;\n}\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -46,9 +45,9 @@ export default ((...fontSizeNames) => {
46
45
  }, {});
47
46
  return createHigherOrderComponent(compose([createHigherOrderComponent(WrappedComponent => props => {
48
47
  const fontSizes = useSetting('typography.fontSizes') || DEFAULT_FONT_SIZES;
49
- return createElement(WrappedComponent, _extends({}, props, {
48
+ return createElement(WrappedComponent, { ...props,
50
49
  fontSizes: fontSizes
51
- }));
50
+ });
52
51
  }, 'withFontSizes'), WrappedComponent => {
53
52
  return class extends Component {
54
53
  constructor(props) {
@@ -114,9 +113,11 @@ export default ((...fontSizeNames) => {
114
113
  }
115
114
 
116
115
  render() {
117
- return createElement(WrappedComponent, _extends({}, this.props, {
118
- fontSizes: undefined
119
- }, this.state, this.setters));
116
+ return createElement(WrappedComponent, { ...this.props,
117
+ fontSizes: undefined,
118
+ ...this.state,
119
+ ...this.setters
120
+ });
120
121
  }
121
122
 
122
123
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\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\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\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\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\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// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\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\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\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\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\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\treturn newStateAccumulator;\n\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\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["createHigherOrderComponent","compose","Component","getFontSize","getFontSizeClass","useSetting","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\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\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\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\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\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// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\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\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\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\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\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\treturn newStateAccumulator;\n\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\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -121,7 +120,7 @@ function ColorPanelTab({
121
120
  setValue,
122
121
  colorGradientControlSettings
123
122
  }) {
124
- return createElement(ColorGradientControl, _extends({}, colorGradientControlSettings, {
123
+ return createElement(ColorGradientControl, { ...colorGradientControlSettings,
125
124
  showTitle: false,
126
125
  enableAlpha: true,
127
126
  __experimentalIsRenderedInSidebar: true,
@@ -131,7 +130,7 @@ function ColorPanelTab({
131
130
  onGradientChange: isGradient ? setValue : undefined,
132
131
  clearable: inheritedValue === userValue,
133
132
  headingLevel: 3
134
- }));
133
+ });
135
134
  }
136
135
 
137
136
  function ColorPanelDropdown({
@@ -177,7 +176,8 @@ function ColorPanelDropdown({
177
176
  /* translators: %s is the type of color property, e.g., "background" */
178
177
  __('Color %s styles'), label)
179
178
  };
180
- return createElement(Button, toggleProps, createElement(LabeledColorIndicators, {
179
+ return createElement(Button, { ...toggleProps
180
+ }, createElement(LabeledColorIndicators, {
181
181
  indicators: indicators,
182
182
  label: label
183
183
  }));
@@ -186,9 +186,9 @@ function ColorPanelDropdown({
186
186
  paddingSize: "none"
187
187
  }, createElement("div", {
188
188
  className: "block-editor-panel-color-gradient-settings__dropdown-content"
189
- }, tabs.length === 1 && createElement(ColorPanelTab, _extends({}, tabs[0], {
189
+ }, tabs.length === 1 && createElement(ColorPanelTab, { ...tabs[0],
190
190
  colorGradientControlSettings: colorGradientControlSettings
191
- })), tabs.length > 1 && createElement(TabPanel, {
191
+ }), tabs.length > 1 && createElement(TabPanel, {
192
192
  tabs: tabConfigs
193
193
  }, tab => {
194
194
  const selectedTab = tabs.find(t => t.key === tab.name);
@@ -197,9 +197,9 @@ function ColorPanelDropdown({
197
197
  return null;
198
198
  }
199
199
 
200
- return createElement(ColorPanelTab, _extends({}, selectedTab, {
200
+ return createElement(ColorPanelTab, { ...selectedTab,
201
201
  colorGradientControlSettings: colorGradientControlSettings
202
- }));
202
+ });
203
203
  })))
204
204
  }));
205
205
  }
@@ -388,20 +388,20 @@ export default function ColorPanel({
388
388
  resetValue: resetBackground,
389
389
  isShownByDefault: defaultControls.background,
390
390
  indicators: [gradient !== null && gradient !== void 0 ? gradient : backgroundColor],
391
- tabs: [{
391
+ tabs: [hasSolidColors && {
392
392
  key: 'background',
393
393
  label: __('Solid'),
394
394
  inheritedValue: backgroundColor,
395
395
  setValue: setBackgroundColor,
396
396
  userValue: userBackgroundColor
397
- }, {
397
+ }, hasGradientColors && {
398
398
  key: 'gradient',
399
399
  label: __('Gradient'),
400
400
  inheritedValue: gradient,
401
401
  setValue: setGradient,
402
402
  userValue: userGradient,
403
403
  isGradient: true
404
- }]
404
+ }].filter(Boolean)
405
405
  }, showLinkPanel && {
406
406
  key: 'link',
407
407
  label: __('Link'),
@@ -499,9 +499,9 @@ export default function ColorPanel({
499
499
  value: value,
500
500
  onChange: onChange,
501
501
  panelId: panelId
502
- }, items.map(item => createElement(ColorPanelDropdown, _extends({
503
- key: item.key
504
- }, item, {
502
+ }, items.map(item => createElement(ColorPanelDropdown, {
503
+ key: item.key,
504
+ ...item,
505
505
  colorGradientControlSettings: {
506
506
  colors,
507
507
  disableCustomColors: !areCustomSolidsEnabled,
@@ -509,6 +509,6 @@ export default function ColorPanel({
509
509
  disableCustomGradients: !areCustomGradientsEnabled
510
510
  },
511
511
  panelId: panelId
512
- }))), children);
512
+ })), children);
513
513
  }
514
514
  //# sourceMappingURL=color-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"names":["classnames","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","TabPanel","ColorIndicator","Flex","FlexItem","Dropdown","Button","useCallback","__","sprintf","ColorGradientControl","useColorsPerOrigin","useGradientsPerOrigin","getValueFromVariable","setImmutably","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","color","text","length","custom","link","caption","gradients","heading","customGradient","useHasButtonPanel","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","LabeledColorIndicators","indicators","label","map","indicator","index","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","undefined","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","tabConfigs","key","tabLabel","name","title","onToggle","isOpen","toggleProps","onClick","className","tab","selectedTab","find","t","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","gradientValue","allGradients","originGradients","gradientObject","gradient","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","newColor","resetTextColor","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newValue","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showPanel","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"],"mappings":"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","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\tTabPanel,\n\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\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 } from './utils';\nimport { setImmutably } from '../../utils/object';\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 = useHasHeadingPanel( 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>\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 tabConfigs = tabs.map( ( { key, label: tabLabel } ) => {\n\t\treturn {\n\t\t\tname: key,\n\t\t\ttitle: tabLabel,\n\t\t};\n\t} );\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<TabPanel tabs={ tabConfigs }>\n\t\t\t\t\t\t\t\t\t{ ( tab ) => {\n\t\t\t\t\t\t\t\t\t\tconst selectedTab = tabs.find(\n\t\t\t\t\t\t\t\t\t\t\t( t ) => t.key === tab.name\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tif ( ! selectedTab ) {\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\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{ ...selectedTab }\n\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\tcolorGradientControlSettings\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/>\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</TabPanel>\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// 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\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\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// 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\t{\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\t{\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],\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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"names":["classnames","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","TabPanel","ColorIndicator","Flex","FlexItem","Dropdown","Button","useCallback","__","sprintf","ColorGradientControl","useColorsPerOrigin","useGradientsPerOrigin","getValueFromVariable","setImmutably","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","color","text","length","custom","link","caption","gradients","heading","customGradient","useHasButtonPanel","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","LabeledColorIndicators","indicators","label","map","indicator","index","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","undefined","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","tabConfigs","key","tabLabel","name","title","onToggle","isOpen","toggleProps","onClick","className","tab","selectedTab","find","t","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","gradientValue","allGradients","originGradients","gradientObject","gradient","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","newColor","resetTextColor","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newValue","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showPanel","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"],"mappings":"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","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\tTabPanel,\n\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\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 } from './utils';\nimport { setImmutably } from '../../utils/object';\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 = useHasHeadingPanel( 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>\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 tabConfigs = tabs.map( ( { key, label: tabLabel } ) => {\n\t\treturn {\n\t\t\tname: key,\n\t\t\ttitle: tabLabel,\n\t\t};\n\t} );\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<TabPanel tabs={ tabConfigs }>\n\t\t\t\t\t\t\t\t\t{ ( tab ) => {\n\t\t\t\t\t\t\t\t\t\tconst selectedTab = tabs.find(\n\t\t\t\t\t\t\t\t\t\t\t( t ) => t.key === tab.name\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tif ( ! selectedTab ) {\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\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{ ...selectedTab }\n\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\tcolorGradientControlSettings\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/>\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</TabPanel>\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// 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\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\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// 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"]}
@@ -136,7 +136,8 @@ function renderShadowToggle() {
136
136
  }),
137
137
  'aria-expanded': isOpen
138
138
  };
139
- return createElement(Button, toggleProps, createElement(HStack, {
139
+ return createElement(Button, { ...toggleProps
140
+ }, createElement(HStack, {
140
141
  justify: "flex-start"
141
142
  }, createElement(Icon, {
142
143
  className: "block-editor-global-styles-effects-panel__toggle-icon",