@wordpress/block-editor 12.4.0 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +5 -0
  3. package/build/components/block-heading-level-dropdown/heading-level-icon.js +10 -2
  4. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  5. package/build/components/block-heading-level-dropdown/index.native.js +4 -3
  6. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  7. package/build/components/block-lock/toolbar.js +25 -6
  8. package/build/components/block-lock/toolbar.js.map +1 -1
  9. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -6
  10. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  11. package/build/components/block-parent-selector/index.js +8 -5
  12. package/build/components/block-parent-selector/index.js.map +1 -1
  13. package/build/components/block-removal-warning-modal/index.js +18 -25
  14. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  15. package/build/components/block-toolbar/index.js +8 -5
  16. package/build/components/block-toolbar/index.js.map +1 -1
  17. package/build/components/block-tools/block-contextual-toolbar.js +7 -11
  18. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  19. package/build/components/dimensions-tool/aspect-ratio-tool.js +99 -0
  20. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  21. package/build/components/dimensions-tool/index.js +207 -0
  22. package/build/components/dimensions-tool/index.js.map +1 -0
  23. package/build/components/dimensions-tool/scale-tool.js +111 -0
  24. package/build/components/dimensions-tool/scale-tool.js.map +1 -0
  25. package/build/components/dimensions-tool/width-height-tool.js +125 -0
  26. package/build/components/dimensions-tool/width-height-tool.js.map +1 -0
  27. package/build/components/global-styles/color-panel.js +1 -1
  28. package/build/components/global-styles/color-panel.js.map +1 -1
  29. package/build/components/global-styles/filters-panel.js +1 -1
  30. package/build/components/global-styles/filters-panel.js.map +1 -1
  31. package/build/components/global-styles/hooks.js +2 -2
  32. package/build/components/global-styles/hooks.js.map +1 -1
  33. package/build/components/global-styles/typography-panel.js +34 -2
  34. package/build/components/global-styles/typography-panel.js.map +1 -1
  35. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -1
  36. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  37. package/build/components/image-editor/use-save-image.js +1 -2
  38. package/build/components/image-editor/use-save-image.js.map +1 -1
  39. package/build/components/image-size-control/index.js +6 -0
  40. package/build/components/image-size-control/index.js.map +1 -1
  41. package/build/components/index.js +19 -1
  42. package/build/components/index.js.map +1 -1
  43. package/build/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
  44. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  45. package/build/components/inserter/block-patterns-tab.js +7 -35
  46. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  47. package/build/components/inserter/hooks/use-block-types-state.js +3 -4
  48. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  49. package/build/components/inserter/hooks/use-patterns-state.js +9 -3
  50. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  51. package/build/components/inserter/media-tab/hooks.js +2 -21
  52. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  53. package/build/components/inserter/reusable-block-rename-hint.js +62 -0
  54. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -0
  55. package/build/components/inserter/reusable-blocks-tab.js +6 -2
  56. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  57. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  58. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  59. package/build/components/inserter/tabs.native.js +1 -1
  60. package/build/components/inserter/tabs.native.js.map +1 -1
  61. package/build/components/inserter-draggable-blocks/index.js +9 -1
  62. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  63. package/build/components/link-control/constants.js +1 -1
  64. package/build/components/link-control/constants.js.map +1 -1
  65. package/build/components/link-control/index.js +17 -15
  66. package/build/components/link-control/index.js.map +1 -1
  67. package/build/components/link-control/search-create-button.js +5 -21
  68. package/build/components/link-control/search-create-button.js.map +1 -1
  69. package/build/components/link-control/search-input.js +4 -4
  70. package/build/components/link-control/search-input.js.map +1 -1
  71. package/build/components/link-control/search-item.js +13 -30
  72. package/build/components/link-control/search-item.js.map +1 -1
  73. package/build/components/link-control/search-results.js +2 -2
  74. package/build/components/link-control/search-results.js.map +1 -1
  75. package/build/components/link-control/settings-drawer.js +2 -3
  76. package/build/components/link-control/settings-drawer.js.map +1 -1
  77. package/build/components/list-view/appender.js +2 -6
  78. package/build/components/list-view/appender.js.map +1 -1
  79. package/build/components/provider/index.js +5 -2
  80. package/build/components/provider/index.js.map +1 -1
  81. package/build/components/provider/use-block-sync.js +21 -0
  82. package/build/components/provider/use-block-sync.js.map +1 -1
  83. package/build/components/resolution-tool/index.js +55 -0
  84. package/build/components/resolution-tool/index.js.map +1 -0
  85. package/build/components/url-input/index.js +4 -2
  86. package/build/components/url-input/index.js.map +1 -1
  87. package/build/components/writing-flow/use-tab-nav.js +10 -27
  88. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  89. package/build/components/writing-mode-control/index.js +70 -0
  90. package/build/components/writing-mode-control/index.js.map +1 -0
  91. package/build/hooks/behaviors.js +25 -20
  92. package/build/hooks/behaviors.js.map +1 -1
  93. package/build/hooks/supports.js +7 -1
  94. package/build/hooks/supports.js.map +1 -1
  95. package/build/hooks/typography.js +2 -1
  96. package/build/hooks/typography.js.map +1 -1
  97. package/build/hooks/utils.js +4 -2
  98. package/build/hooks/utils.js.map +1 -1
  99. package/build/private-apis.js +10 -1
  100. package/build/private-apis.js.map +1 -1
  101. package/build/private-apis.native.js +3 -0
  102. package/build/private-apis.native.js.map +1 -1
  103. package/build/store/actions.js +195 -1
  104. package/build/store/actions.js.map +1 -1
  105. package/build/store/defaults.js +1 -0
  106. package/build/store/defaults.js.map +1 -1
  107. package/build/store/index.js +10 -1
  108. package/build/store/index.js.map +1 -1
  109. package/build/store/private-actions.js +46 -40
  110. package/build/store/private-actions.js.map +1 -1
  111. package/build/store/private-selectors.js +3 -3
  112. package/build/store/private-selectors.js.map +1 -1
  113. package/build/store/reducer.js +22 -8
  114. package/build/store/reducer.js.map +1 -1
  115. package/build/store/selectors.js +33 -15
  116. package/build/store/selectors.js.map +1 -1
  117. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +9 -2
  118. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  119. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -3
  120. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  121. package/build-module/components/block-lock/toolbar.js +25 -7
  122. package/build-module/components/block-lock/toolbar.js.map +1 -1
  123. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +4 -6
  124. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  125. package/build-module/components/block-parent-selector/index.js +7 -5
  126. package/build-module/components/block-parent-selector/index.js.map +1 -1
  127. package/build-module/components/block-removal-warning-modal/index.js +20 -24
  128. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  129. package/build-module/components/block-toolbar/index.js +8 -5
  130. package/build-module/components/block-toolbar/index.js.map +1 -1
  131. package/build-module/components/block-tools/block-contextual-toolbar.js +8 -11
  132. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  133. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +87 -0
  134. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  135. package/build-module/components/dimensions-tool/index.js +195 -0
  136. package/build-module/components/dimensions-tool/index.js.map +1 -0
  137. package/build-module/components/dimensions-tool/scale-tool.js +103 -0
  138. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -0
  139. package/build-module/components/dimensions-tool/width-height-tool.js +122 -0
  140. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -0
  141. package/build-module/components/global-styles/color-panel.js +1 -1
  142. package/build-module/components/global-styles/color-panel.js.map +1 -1
  143. package/build-module/components/global-styles/filters-panel.js +2 -2
  144. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  145. package/build-module/components/global-styles/hooks.js +2 -2
  146. package/build-module/components/global-styles/hooks.js.map +1 -1
  147. package/build-module/components/global-styles/typography-panel.js +33 -2
  148. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  149. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  150. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  151. package/build-module/components/image-editor/use-save-image.js +1 -2
  152. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  153. package/build-module/components/image-size-control/index.js +5 -0
  154. package/build-module/components/image-size-control/index.js.map +1 -1
  155. package/build-module/components/index.js +6 -0
  156. package/build-module/components/index.js.map +1 -1
  157. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
  158. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  159. package/build-module/components/inserter/block-patterns-tab.js +7 -33
  160. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  161. package/build-module/components/inserter/hooks/use-block-types-state.js +3 -4
  162. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  163. package/build-module/components/inserter/hooks/use-patterns-state.js +9 -3
  164. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  165. package/build-module/components/inserter/media-tab/hooks.js +2 -21
  166. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  167. package/build-module/components/inserter/reusable-block-rename-hint.js +48 -0
  168. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -0
  169. package/build-module/components/inserter/reusable-blocks-tab.js +5 -2
  170. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  171. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  172. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  173. package/build-module/components/inserter/tabs.native.js +1 -1
  174. package/build-module/components/inserter/tabs.native.js.map +1 -1
  175. package/build-module/components/inserter-draggable-blocks/index.js +9 -2
  176. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  177. package/build-module/components/link-control/constants.js +1 -1
  178. package/build-module/components/link-control/constants.js.map +1 -1
  179. package/build-module/components/link-control/index.js +17 -15
  180. package/build-module/components/link-control/index.js.map +1 -1
  181. package/build-module/components/link-control/search-create-button.js +7 -20
  182. package/build-module/components/link-control/search-create-button.js.map +1 -1
  183. package/build-module/components/link-control/search-input.js +4 -4
  184. package/build-module/components/link-control/search-input.js.map +1 -1
  185. package/build-module/components/link-control/search-item.js +14 -28
  186. package/build-module/components/link-control/search-item.js.map +1 -1
  187. package/build-module/components/link-control/search-results.js +3 -3
  188. package/build-module/components/link-control/search-results.js.map +1 -1
  189. package/build-module/components/link-control/settings-drawer.js +4 -5
  190. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  191. package/build-module/components/list-view/appender.js +2 -6
  192. package/build-module/components/list-view/appender.js.map +1 -1
  193. package/build-module/components/provider/index.js +5 -2
  194. package/build-module/components/provider/index.js.map +1 -1
  195. package/build-module/components/provider/use-block-sync.js +21 -0
  196. package/build-module/components/provider/use-block-sync.js.map +1 -1
  197. package/build-module/components/resolution-tool/index.js +45 -0
  198. package/build-module/components/resolution-tool/index.js.map +1 -0
  199. package/build-module/components/url-input/index.js +4 -2
  200. package/build-module/components/url-input/index.js.map +1 -1
  201. package/build-module/components/writing-flow/use-tab-nav.js +8 -26
  202. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  203. package/build-module/components/writing-mode-control/index.js +57 -0
  204. package/build-module/components/writing-mode-control/index.js.map +1 -0
  205. package/build-module/hooks/behaviors.js +26 -20
  206. package/build-module/hooks/behaviors.js.map +1 -1
  207. package/build-module/hooks/supports.js +7 -1
  208. package/build-module/hooks/supports.js.map +1 -1
  209. package/build-module/hooks/typography.js +2 -1
  210. package/build-module/hooks/typography.js.map +1 -1
  211. package/build-module/hooks/utils.js +4 -2
  212. package/build-module/hooks/utils.js.map +1 -1
  213. package/build-module/private-apis.js +7 -1
  214. package/build-module/private-apis.js.map +1 -1
  215. package/build-module/private-apis.native.js +2 -0
  216. package/build-module/private-apis.native.js.map +1 -1
  217. package/build-module/store/actions.js +191 -1
  218. package/build-module/store/actions.js.map +1 -1
  219. package/build-module/store/defaults.js +1 -0
  220. package/build-module/store/defaults.js.map +1 -1
  221. package/build-module/store/index.js +10 -1
  222. package/build-module/store/index.js.map +1 -1
  223. package/build-module/store/private-actions.js +45 -36
  224. package/build-module/store/private-actions.js.map +1 -1
  225. package/build-module/store/private-selectors.js +2 -2
  226. package/build-module/store/private-selectors.js.map +1 -1
  227. package/build-module/store/reducer.js +22 -8
  228. package/build-module/store/reducer.js.map +1 -1
  229. package/build-module/store/selectors.js +33 -15
  230. package/build-module/store/selectors.js.map +1 -1
  231. package/build-style/content-rtl.css +3 -0
  232. package/build-style/content.css +3 -0
  233. package/build-style/style-rtl.css +131 -129
  234. package/build-style/style.css +131 -129
  235. package/package.json +32 -31
  236. package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -6
  237. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -5
  238. package/src/components/block-draggable/style.scss +1 -0
  239. package/src/components/block-heading-level-dropdown/heading-level-icon.js +6 -1
  240. package/src/components/block-heading-level-dropdown/index.native.js +8 -4
  241. package/src/components/block-inspector/style.scss +2 -1
  242. package/src/components/block-lock/toolbar.js +34 -6
  243. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +4 -8
  244. package/src/components/block-parent-selector/index.js +13 -8
  245. package/src/components/block-removal-warning-modal/index.js +20 -33
  246. package/src/components/block-toolbar/index.js +9 -6
  247. package/src/components/block-tools/block-contextual-toolbar.js +5 -11
  248. package/src/components/block-tools/style.scss +73 -26
  249. package/src/components/default-block-appender/content.scss +11 -0
  250. package/src/components/dimensions-tool/aspect-ratio-tool.js +124 -0
  251. package/src/components/dimensions-tool/index.js +212 -0
  252. package/src/components/dimensions-tool/scale-tool.js +124 -0
  253. package/src/components/dimensions-tool/stories/aspect-ratio-tool.js +52 -0
  254. package/src/components/dimensions-tool/stories/index.js +54 -0
  255. package/src/components/dimensions-tool/stories/scale-tool.js +48 -0
  256. package/src/components/dimensions-tool/stories/width-height-tool.js +54 -0
  257. package/src/components/dimensions-tool/test/index.js +641 -0
  258. package/src/components/dimensions-tool/width-height-tool.js +113 -0
  259. package/src/components/font-family/README.md +71 -0
  260. package/src/components/global-styles/color-panel.js +1 -1
  261. package/src/components/global-styles/filters-panel.js +2 -2
  262. package/src/components/global-styles/hooks.js +2 -0
  263. package/src/components/global-styles/typography-panel.js +40 -0
  264. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  265. package/src/components/image-editor/use-save-image.js +0 -1
  266. package/src/components/image-size-control/index.js +6 -0
  267. package/src/components/index.js +6 -0
  268. package/src/components/inserter/block-patterns-explorer/patterns-list.js +8 -2
  269. package/src/components/inserter/block-patterns-tab.js +8 -56
  270. package/src/components/inserter/hooks/use-block-types-state.js +3 -4
  271. package/src/components/inserter/hooks/use-patterns-state.js +35 -19
  272. package/src/components/inserter/media-tab/hooks.js +2 -22
  273. package/src/components/inserter/reusable-block-rename-hint.js +52 -0
  274. package/src/components/inserter/reusable-blocks-tab.js +5 -1
  275. package/src/components/inserter/reusable-blocks-tab.native.js +2 -2
  276. package/src/components/inserter/style.scss +28 -0
  277. package/src/components/inserter/tabs.native.js +5 -1
  278. package/src/components/inserter-draggable-blocks/index.js +13 -2
  279. package/src/components/link-control/constants.js +1 -1
  280. package/src/components/link-control/index.js +32 -28
  281. package/src/components/link-control/search-create-button.js +8 -26
  282. package/src/components/link-control/search-input.js +4 -3
  283. package/src/components/link-control/search-item.js +21 -43
  284. package/src/components/link-control/search-results.js +48 -46
  285. package/src/components/link-control/settings-drawer.js +6 -5
  286. package/src/components/link-control/style.scss +51 -123
  287. package/src/components/link-control/test/index.js +135 -123
  288. package/src/components/list-view/appender.js +5 -6
  289. package/src/components/list-view/style.scss +1 -2
  290. package/src/components/media-replace-flow/test/index.js +1 -1
  291. package/src/components/panel-color-settings/README.md +98 -0
  292. package/src/components/provider/index.js +9 -2
  293. package/src/components/provider/test/use-block-sync.js +21 -6
  294. package/src/components/provider/use-block-sync.js +19 -0
  295. package/src/components/recursion-provider/README.md +101 -0
  296. package/src/components/resolution-tool/index.js +56 -0
  297. package/src/components/resolution-tool/stories/index.js +48 -0
  298. package/src/components/url-input/index.js +2 -0
  299. package/src/components/writing-flow/use-tab-nav.js +10 -33
  300. package/src/components/writing-mode-control/index.js +68 -0
  301. package/src/components/writing-mode-control/style.scss +18 -0
  302. package/src/hooks/behaviors.js +25 -16
  303. package/src/hooks/supports.js +7 -0
  304. package/src/hooks/typography.js +2 -0
  305. package/src/hooks/utils.js +3 -0
  306. package/src/private-apis.js +6 -0
  307. package/src/private-apis.native.js +2 -0
  308. package/src/store/actions.js +194 -1
  309. package/src/store/defaults.js +1 -0
  310. package/src/store/index.js +10 -0
  311. package/src/store/private-actions.js +39 -39
  312. package/src/store/private-selectors.js +2 -2
  313. package/src/store/reducer.js +22 -8
  314. package/src/store/selectors.js +54 -20
  315. package/src/store/test/actions.js +111 -0
  316. package/src/store/test/private-actions.js +56 -0
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = WidthHeightTool;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _base = _interopRequireDefault(require("@emotion/styled/base"));
13
+
14
+ var _components = require("@wordpress/components");
15
+
16
+ var _i18n = require("@wordpress/i18n");
17
+
18
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
19
+
20
+ const SingleColumnToolsPanelItem = ( /*#__PURE__*/0, _base.default)(_components.__experimentalToolsPanelItem, process.env.NODE_ENV === "production" ? {
21
+ target: "ef8pe3d0"
22
+ } : {
23
+ target: "ef8pe3d0",
24
+ label: "SingleColumnToolsPanelItem"
25
+ })(process.env.NODE_ENV === "production" ? {
26
+ name: "957xgf",
27
+ styles: "grid-column:span 1"
28
+ } : {
29
+ name: "957xgf",
30
+ styles: "grid-column:span 1",
31
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvYmxvY2stZWRpdG9yL3NyYy9jb21wb25lbnRzL2RpbWVuc2lvbnMtdG9vbC93aWR0aC1oZWlnaHQtdG9vbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjMkQiLCJmaWxlIjoiQHdvcmRwcmVzcy9ibG9jay1lZGl0b3Ivc3JjL2NvbXBvbmVudHMvZGltZW5zaW9ucy10b29sL3dpZHRoLWhlaWdodC10b29sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHtcblx0X19leHBlcmltZW50YWxUb29sc1BhbmVsSXRlbSBhcyBUb29sc1BhbmVsSXRlbSxcblx0X19leHBlcmltZW50YWxVbml0Q29udHJvbCBhcyBVbml0Q29udHJvbCxcbn0gZnJvbSAnQHdvcmRwcmVzcy9jb21wb25lbnRzJztcbmltcG9ydCB7IF9fIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgU2luZ2xlQ29sdW1uVG9vbHNQYW5lbEl0ZW0gPSBzdHlsZWQoIFRvb2xzUGFuZWxJdGVtIClgXG5cdGdyaWQtY29sdW1uOiBzcGFuIDE7XG5gO1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0B3b3JkcHJlc3MvY29tcG9uZW50cy9idWlsZC10eXBlcy91bml0LWNvbnRyb2wvdHlwZXMnKS5XUFVuaXRDb250cm9sVW5pdH0gV1BVbml0Q29udHJvbFVuaXRcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFdpZHRoSGVpZ2h0VG9vbFZhbHVlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3dpZHRoXSAgV2lkdGggQ1NTIHZhbHVlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtoZWlnaHRdIEhlaWdodCBDU1MgdmFsdWUuXG4gKi9cblxuLyoqXG4gKiBAY2FsbGJhY2sgV2lkdGhIZWlnaHRUb29sT25DaGFuZ2VcbiAqIEBwYXJhbSB7V2lkdGhIZWlnaHRUb29sVmFsdWV9IG5leHRWYWx1ZSBOZXh0IGRpbWVuc2lvbnMgdmFsdWUuXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gV2lkdGhIZWlnaHRUb29sUHJvcHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSAgICAgICAgICAgICAgICAgIFtwYW5lbElkXSAgICAgICAgICBJRCBvZiB0aGUgcGFuZWwgdGhhdCBjb250YWlucyB0aGUgY29udHJvbHMuXG4gKiBAcHJvcGVydHkge1dpZHRoSGVpZ2h0VG9vbFZhbHVlfSAgICBbdmFsdWVdICAgICAgICAgICAgQ3VycmVudCBkaW1lbnNpb25zIHZhbHVlcy5cbiAqIEBwcm9wZXJ0eSB7V2lkdGhIZWlnaHRUb29sT25DaGFuZ2V9IFtvbkNoYW5nZV0gICAgICAgICBDYWxsYmFjayB0byB1cGRhdGUgdGhlIGRpbWVuc2lvbnMgdmFsdWVzLlxuICogQHByb3BlcnR5IHtXUFVuaXRDb250cm9sVW5pdFtdfSAgICAgW3VuaXRzXSAgICAgICAgICAgIFVuaXRzIG9wdGlvbnMuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59ICAgICAgICAgICAgICAgICBbaXNTaG93bkJ5RGVmYXVsdF0gV2hldGhlciB0aGUgcGFuZWwgaXMgc2hvd24gYnkgZGVmYXVsdC5cbiAqL1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IHJlbmRlcnMgY29udHJvbHMgdG8gZWRpdCB0aGUgZGltZW5zaW9ucyBvZiBhbiBpbWFnZSBvciBjb250YWluZXIuXG4gKlxuICogQHBhcmFtIHtXaWR0aEhlaWdodFRvb2xQcm9wc30gcHJvcHMgVGhlIGNvbXBvbmVudCBwcm9wcy5cbiAqXG4gKiBAcmV0dXJuIHtpbXBvcnQoJ0B3b3JkcHJlc3MvZWxlbWVudCcpLldQRWxlbWVudH0gVGhlIHdpZHRoIGFuZCBoZWlnaHQgdG9vbC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gV2lkdGhIZWlnaHRUb29sKCB7XG5cdHBhbmVsSWQsXG5cdHZhbHVlID0ge30sXG5cdG9uQ2hhbmdlID0gKCkgPT4ge30sXG5cdHVuaXRzLFxuXHRpc1Nob3duQnlEZWZhdWx0ID0gdHJ1ZSxcbn0gKSB7XG5cdC8vIG51bGwsIHVuZGVmaW5lZCwgYW5kICdhdXRvJyBhbGwgcmVwcmVzZW50IHRoZSBkZWZhdWx0IHZhbHVlLlxuXHRjb25zdCB3aWR0aCA9IHZhbHVlLndpZHRoID09PSAnYXV0bycgPyAnJyA6IHZhbHVlLndpZHRoID8/ICcnO1xuXHRjb25zdCBoZWlnaHQgPSB2YWx1ZS5oZWlnaHQgPT09ICdhdXRvJyA/ICcnIDogdmFsdWUuaGVpZ2h0ID8/ICcnO1xuXG5cdGNvbnN0IG9uRGltZW5zaW9uQ2hhbmdlID0gKCBkaW1lbnNpb24gKSA9PiAoIG5leHREaW1lbnNpb24gKSA9PiB7XG5cdFx0Y29uc3QgbmV4dFZhbHVlID0geyAuLi52YWx1ZSB9O1xuXHRcdC8vIEVtcHR5IHN0cmluZ3Mgb3IgdW5kZWZpbmVkIG1heSBiZSBwYXNzZWQgYW5kIGJvdGggcmVwcmVzZW50IHJlbW92aW5nIHRoZSB2YWx1ZS5cblx0XHRpZiAoICEgbmV4dERpbWVuc2lvbiApIHtcblx0XHRcdGRlbGV0ZSBuZXh0VmFsdWVbIGRpbWVuc2lvbiBdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRuZXh0VmFsdWVbIGRpbWVuc2lvbiBdID0gbmV4dERpbWVuc2lvbjtcblx0XHR9XG5cdFx0b25DaGFuZ2UoIG5leHRWYWx1ZSApO1xuXHR9O1xuXG5cdHJldHVybiAoXG5cdFx0PD5cblx0XHRcdDxTaW5nbGVDb2x1bW5Ub29sc1BhbmVsSXRlbVxuXHRcdFx0XHRsYWJlbD17IF9fKCAnV2lkdGgnICkgfVxuXHRcdFx0XHRpc1Nob3duQnlEZWZhdWx0PXsgaXNTaG93bkJ5RGVmYXVsdCB9XG5cdFx0XHRcdGhhc1ZhbHVlPXsgKCkgPT4gd2lkdGggIT09ICcnIH1cblx0XHRcdFx0b25EZXNlbGVjdD17IG9uRGltZW5zaW9uQ2hhbmdlKCAnd2lkdGgnICkgfVxuXHRcdFx0XHRwYW5lbElkPXsgcGFuZWxJZCB9XG5cdFx0XHQ+XG5cdFx0XHRcdDxVbml0Q29udHJvbFxuXHRcdFx0XHRcdGxhYmVsPXsgX18oICdXaWR0aCcgKSB9XG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9eyBfXyggJ0F1dG8nICkgfVxuXHRcdFx0XHRcdGxhYmVsUG9zaXRpb249XCJ0b3BcIlxuXHRcdFx0XHRcdHVuaXRzPXsgdW5pdHMgfVxuXHRcdFx0XHRcdG1pbj17IDAgfVxuXHRcdFx0XHRcdHZhbHVlPXsgd2lkdGggfVxuXHRcdFx0XHRcdG9uQ2hhbmdlPXsgb25EaW1lbnNpb25DaGFuZ2UoICd3aWR0aCcgKSB9XG5cdFx0XHRcdFx0c2l6ZT17ICdfX3Vuc3RhYmxlLWxhcmdlJyB9XG5cdFx0XHRcdC8+XG5cdFx0XHQ8L1NpbmdsZUNvbHVtblRvb2xzUGFuZWxJdGVtPlxuXHRcdFx0PFNpbmdsZUNvbHVtblRvb2xzUGFuZWxJdGVtXG5cdFx0XHRcdGxhYmVsPXsgX18oICdIZWlnaHQnICkgfVxuXHRcdFx0XHRpc1Nob3duQnlEZWZhdWx0PXsgaXNTaG93bkJ5RGVmYXVsdCB9XG5cdFx0XHRcdGhhc1ZhbHVlPXsgKCkgPT4gaGVpZ2h0ICE9PSAnJyB9XG5cdFx0XHRcdG9uRGVzZWxlY3Q9eyBvbkRpbWVuc2lvbkNoYW5nZSggJ2hlaWdodCcgKSB9XG5cdFx0XHRcdHBhbmVsSWQ9eyBwYW5lbElkIH1cblx0XHRcdD5cblx0XHRcdFx0PFVuaXRDb250cm9sXG5cdFx0XHRcdFx0bGFiZWw9eyBfXyggJ0hlaWdodCcgKSB9XG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9eyBfXyggJ0F1dG8nICkgfVxuXHRcdFx0XHRcdGxhYmVsUG9zaXRpb249XCJ0b3BcIlxuXHRcdFx0XHRcdHVuaXRzPXsgdW5pdHMgfVxuXHRcdFx0XHRcdG1pbj17IDAgfVxuXHRcdFx0XHRcdHZhbHVlPXsgaGVpZ2h0IH1cblx0XHRcdFx0XHRvbkNoYW5nZT17IG9uRGltZW5zaW9uQ2hhbmdlKCAnaGVpZ2h0JyApIH1cblx0XHRcdFx0XHRzaXplPXsgJ19fdW5zdGFibGUtbGFyZ2UnIH1cblx0XHRcdFx0Lz5cblx0XHRcdDwvU2luZ2xlQ29sdW1uVG9vbHNQYW5lbEl0ZW0+XG5cdFx0PC8+XG5cdCk7XG59XG4iXX0= */",
32
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
33
+ });
34
+ /**
35
+ * @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit
36
+ */
37
+
38
+ /**
39
+ * @typedef {Object} WidthHeightToolValue
40
+ * @property {string} [width] Width CSS value.
41
+ * @property {string} [height] Height CSS value.
42
+ */
43
+
44
+ /**
45
+ * @callback WidthHeightToolOnChange
46
+ * @param {WidthHeightToolValue} nextValue Next dimensions value.
47
+ * @return {void}
48
+ */
49
+
50
+ /**
51
+ * @typedef {Object} WidthHeightToolProps
52
+ * @property {string} [panelId] ID of the panel that contains the controls.
53
+ * @property {WidthHeightToolValue} [value] Current dimensions values.
54
+ * @property {WidthHeightToolOnChange} [onChange] Callback to update the dimensions values.
55
+ * @property {WPUnitControlUnit[]} [units] Units options.
56
+ * @property {boolean} [isShownByDefault] Whether the panel is shown by default.
57
+ */
58
+
59
+ /**
60
+ * Component that renders controls to edit the dimensions of an image or container.
61
+ *
62
+ * @param {WidthHeightToolProps} props The component props.
63
+ *
64
+ * @return {import('@wordpress/element').WPElement} The width and height tool.
65
+ */
66
+
67
+ function WidthHeightTool({
68
+ panelId,
69
+ value = {},
70
+ onChange = () => {},
71
+ units,
72
+ isShownByDefault = true
73
+ }) {
74
+ var _value$width, _value$height;
75
+
76
+ // null, undefined, and 'auto' all represent the default value.
77
+ const width = value.width === 'auto' ? '' : (_value$width = value.width) !== null && _value$width !== void 0 ? _value$width : '';
78
+ const height = value.height === 'auto' ? '' : (_value$height = value.height) !== null && _value$height !== void 0 ? _value$height : '';
79
+
80
+ const onDimensionChange = dimension => nextDimension => {
81
+ const nextValue = { ...value
82
+ }; // Empty strings or undefined may be passed and both represent removing the value.
83
+
84
+ if (!nextDimension) {
85
+ delete nextValue[dimension];
86
+ } else {
87
+ nextValue[dimension] = nextDimension;
88
+ }
89
+
90
+ onChange(nextValue);
91
+ };
92
+
93
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(SingleColumnToolsPanelItem, {
94
+ label: (0, _i18n.__)('Width'),
95
+ isShownByDefault: isShownByDefault,
96
+ hasValue: () => width !== '',
97
+ onDeselect: onDimensionChange('width'),
98
+ panelId: panelId
99
+ }, (0, _element.createElement)(_components.__experimentalUnitControl, {
100
+ label: (0, _i18n.__)('Width'),
101
+ placeholder: (0, _i18n.__)('Auto'),
102
+ labelPosition: "top",
103
+ units: units,
104
+ min: 0,
105
+ value: width,
106
+ onChange: onDimensionChange('width'),
107
+ size: '__unstable-large'
108
+ })), (0, _element.createElement)(SingleColumnToolsPanelItem, {
109
+ label: (0, _i18n.__)('Height'),
110
+ isShownByDefault: isShownByDefault,
111
+ hasValue: () => height !== '',
112
+ onDeselect: onDimensionChange('height'),
113
+ panelId: panelId
114
+ }, (0, _element.createElement)(_components.__experimentalUnitControl, {
115
+ label: (0, _i18n.__)('Height'),
116
+ placeholder: (0, _i18n.__)('Auto'),
117
+ labelPosition: "top",
118
+ units: units,
119
+ min: 0,
120
+ value: height,
121
+ onChange: onDimensionChange('height'),
122
+ size: '__unstable-large'
123
+ })));
124
+ }
125
+ //# sourceMappingURL=width-height-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/dimensions-tool/width-height-tool.js"],"names":["SingleColumnToolsPanelItem","ToolsPanelItem","WidthHeightTool","panelId","value","onChange","units","isShownByDefault","width","height","onDimensionChange","dimension","nextDimension","nextValue"],"mappings":";;;;;;;;;;;;;AAQA;;AAIA;;;;AAEA,MAAMA,0BAA0B,GAAG,iCAAQC,wCAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAhC;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASC,eAAT,CAA0B;AACxCC,EAAAA,OADwC;AAExCC,EAAAA,KAAK,GAAG,EAFgC;AAGxCC,EAAAA,QAAQ,GAAG,MAAM,CAAE,CAHqB;AAIxCC,EAAAA,KAJwC;AAKxCC,EAAAA,gBAAgB,GAAG;AALqB,CAA1B,EAMX;AAAA;;AACH;AACA,QAAMC,KAAK,GAAGJ,KAAK,CAACI,KAAN,KAAgB,MAAhB,GAAyB,EAAzB,mBAA8BJ,KAAK,CAACI,KAApC,uDAA6C,EAA3D;AACA,QAAMC,MAAM,GAAGL,KAAK,CAACK,MAAN,KAAiB,MAAjB,GAA0B,EAA1B,oBAA+BL,KAAK,CAACK,MAArC,yDAA+C,EAA9D;;AAEA,QAAMC,iBAAiB,GAAKC,SAAF,IAAmBC,aAAF,IAAqB;AAC/D,UAAMC,SAAS,GAAG,EAAE,GAAGT;AAAL,KAAlB,CAD+D,CAE/D;;AACA,QAAK,CAAEQ,aAAP,EAAuB;AACtB,aAAOC,SAAS,CAAEF,SAAF,CAAhB;AACA,KAFD,MAEO;AACNE,MAAAA,SAAS,CAAEF,SAAF,CAAT,GAAyBC,aAAzB;AACA;;AACDP,IAAAA,QAAQ,CAAEQ,SAAF,CAAR;AACA,GATD;;AAWA,SACC,qDACC,4BAAC,0BAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,gBAAgB,EAAGN,gBAFpB;AAGC,IAAA,QAAQ,EAAG,MAAMC,KAAK,KAAK,EAH5B;AAIC,IAAA,UAAU,EAAGE,iBAAiB,CAAE,OAAF,CAJ/B;AAKC,IAAA,OAAO,EAAGP;AALX,KAOC,4BAAC,qCAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,WAAW,EAAG,cAAI,MAAJ,CAFf;AAGC,IAAA,aAAa,EAAC,KAHf;AAIC,IAAA,KAAK,EAAGG,KAJT;AAKC,IAAA,GAAG,EAAG,CALP;AAMC,IAAA,KAAK,EAAGE,KANT;AAOC,IAAA,QAAQ,EAAGE,iBAAiB,CAAE,OAAF,CAP7B;AAQC,IAAA,IAAI,EAAG;AARR,IAPD,CADD,EAmBC,4BAAC,0BAAD;AACC,IAAA,KAAK,EAAG,cAAI,QAAJ,CADT;AAEC,IAAA,gBAAgB,EAAGH,gBAFpB;AAGC,IAAA,QAAQ,EAAG,MAAME,MAAM,KAAK,EAH7B;AAIC,IAAA,UAAU,EAAGC,iBAAiB,CAAE,QAAF,CAJ/B;AAKC,IAAA,OAAO,EAAGP;AALX,KAOC,4BAAC,qCAAD;AACC,IAAA,KAAK,EAAG,cAAI,QAAJ,CADT;AAEC,IAAA,WAAW,EAAG,cAAI,MAAJ,CAFf;AAGC,IAAA,aAAa,EAAC,KAHf;AAIC,IAAA,KAAK,EAAGG,KAJT;AAKC,IAAA,GAAG,EAAG,CALP;AAMC,IAAA,KAAK,EAAGG,MANT;AAOC,IAAA,QAAQ,EAAGC,iBAAiB,CAAE,QAAF,CAP7B;AAQC,IAAA,IAAI,EAAG;AARR,IAPD,CAnBD,CADD;AAwCA","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst SingleColumnToolsPanelItem = styled( ToolsPanelItem )`\n\tgrid-column: span 1;\n`;\n\n/**\n * @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit\n */\n\n/**\n * @typedef {Object} WidthHeightToolValue\n * @property {string} [width] Width CSS value.\n * @property {string} [height] Height CSS value.\n */\n\n/**\n * @callback WidthHeightToolOnChange\n * @param {WidthHeightToolValue} nextValue Next dimensions value.\n * @return {void}\n */\n\n/**\n * @typedef {Object} WidthHeightToolProps\n * @property {string} [panelId] ID of the panel that contains the controls.\n * @property {WidthHeightToolValue} [value] Current dimensions values.\n * @property {WidthHeightToolOnChange} [onChange] Callback to update the dimensions values.\n * @property {WPUnitControlUnit[]} [units] Units options.\n * @property {boolean} [isShownByDefault] Whether the panel is shown by default.\n */\n\n/**\n * Component that renders controls to edit the dimensions of an image or container.\n *\n * @param {WidthHeightToolProps} props The component props.\n *\n * @return {import('@wordpress/element').WPElement} The width and height tool.\n */\nexport default function WidthHeightTool( {\n\tpanelId,\n\tvalue = {},\n\tonChange = () => {},\n\tunits,\n\tisShownByDefault = true,\n} ) {\n\t// null, undefined, and 'auto' all represent the default value.\n\tconst width = value.width === 'auto' ? '' : value.width ?? '';\n\tconst height = value.height === 'auto' ? '' : value.height ?? '';\n\n\tconst onDimensionChange = ( dimension ) => ( nextDimension ) => {\n\t\tconst nextValue = { ...value };\n\t\t// Empty strings or undefined may be passed and both represent removing the value.\n\t\tif ( ! nextDimension ) {\n\t\t\tdelete nextValue[ dimension ];\n\t\t} else {\n\t\t\tnextValue[ dimension ] = nextDimension;\n\t\t}\n\t\tonChange( nextValue );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<SingleColumnToolsPanelItem\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\thasValue={ () => width !== '' }\n\t\t\t\tonDeselect={ onDimensionChange( 'width' ) }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tplaceholder={ __( 'Auto' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tvalue={ width }\n\t\t\t\t\tonChange={ onDimensionChange( 'width' ) }\n\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t/>\n\t\t\t</SingleColumnToolsPanelItem>\n\t\t\t<SingleColumnToolsPanelItem\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\thasValue={ () => height !== '' }\n\t\t\t\tonDeselect={ onDimensionChange( 'height' ) }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tplaceholder={ __( 'Auto' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tvalue={ height }\n\t\t\t\t\tonChange={ onDimensionChange( 'height' ) }\n\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t/>\n\t\t\t</SingleColumnToolsPanelItem>\n\t\t</>\n\t);\n}\n"]}
@@ -46,7 +46,7 @@ function useHasColorPanel(settings) {
46
46
  const hasBackgroundPanel = useHasBackgroundPanel(settings);
47
47
  const hasLinkPanel = useHasLinkPanel(settings);
48
48
  const hasHeadingPanel = useHasHeadingPanel(settings);
49
- const hasButtonPanel = useHasHeadingPanel(settings);
49
+ const hasButtonPanel = useHasButtonPanel(settings);
50
50
  const hasCaptionPanel = useHasCaptionPanel(settings);
51
51
  return hasTextPanel || hasBackgroundPanel || hasLinkPanel || hasHeadingPanel || hasButtonPanel || hasCaptionPanel;
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"names":["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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.js"],"names":["useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","color","text","length","custom","link","caption","gradients","heading","customGradient","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 = useHasButtonPanel( settings );\n\tconst hasCaptionPanel = useHasCaptionPanel( settings );\n\n\treturn (\n\t\thasTextPanel ||\n\t\thasBackgroundPanel ||\n\t\thasLinkPanel ||\n\t\thasHeadingPanel ||\n\t\thasButtonPanel ||\n\t\thasCaptionPanel\n\t);\n}\n\nexport function useHasTextPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.text &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasLinkPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.link &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasCaptionPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.caption &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasHeadingPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.heading &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasButtonPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.button &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasBackgroundPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.background &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nfunction ColorToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Color' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t>\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"]}
@@ -66,7 +66,7 @@ function FiltersToolsPanel({
66
66
  };
67
67
 
68
68
  return (0, _element.createElement)(_components.__experimentalToolsPanel, {
69
- label: (0, _i18n.__)('Filters'),
69
+ label: (0, _i18n._x)('Filters', 'Name for applying graphical effects'),
70
70
  resetAll: resetAll,
71
71
  panelId: panelId
72
72
  }, children);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"names":["EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","hasDuotone","useHasDuotoneControl","customDuotone","defaultDuotone","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","duotone","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","label","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","resetDuotone","undefined","disableCustomColors","disableCustomDuotone","length","previousValue","onToggle","isOpen","toggleProps","onClick"],"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__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalVStack as VStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\tconst hasDuotone = useHasDuotoneControl( settings );\n\n\treturn hasDuotone;\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn settings.color.customDuotone || settings.color.defaultDuotone;\n}\n\nfunction FiltersToolsPanel( {\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={ __( 'Filters' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst disableCustomColors = ! settings?.color?.custom;\n\tconst disableCustomDuotone =\n\t\t! settings?.color?.customDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\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{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"names":["EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","hasDuotone","useHasDuotoneControl","customDuotone","defaultDuotone","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","duotone","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","label","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","resetDuotone","undefined","disableCustomColors","disableCustomDuotone","length","previousValue","onToggle","isOpen","toggleProps","onClick"],"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__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalVStack as VStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\tconst hasDuotone = useHasDuotoneControl( settings );\n\n\treturn hasDuotone;\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn settings.color.customDuotone || settings.color.defaultDuotone;\n}\n\nfunction FiltersToolsPanel( {\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={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst disableCustomColors = ! settings?.color?.custom;\n\tconst disableCustomDuotone =\n\t\t! settings?.color?.customDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\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{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
@@ -45,7 +45,7 @@ const EMPTY_CONFIG = {
45
45
  settings: {},
46
46
  styles: {}
47
47
  };
48
- const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform'];
48
+ const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform', 'typography.writingMode'];
49
49
 
50
50
  const useGlobalStylesReset = () => {
51
51
  const {
@@ -209,7 +209,7 @@ function useSettingsForBlockElement(parentSettings, blockName, element) {
209
209
  updatedSettings.color.customDuotone = false;
210
210
  }
211
211
 
212
- ['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform', 'textDecoration'].forEach(key => {
212
+ ['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform', 'textDecoration', 'writingMode'].forEach(key => {
213
213
  if (!supportedStyles.includes(key)) {
214
214
  updatedSettings.typography = { ...updatedSettings.typography,
215
215
  [key]: false
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","GlobalStylesContext","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","result","forEach","setting","value","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","blocksStore","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tget( configToUse, contextualPath ) ??\n\t\t\t\tget( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tconst result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tget(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ?? get( configToUse, `settings.${ setting }` );\n\t\t\tif ( value ) {\n\t\t\t\tset( result, setting, value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset( newUserConfig, contextualPath, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = get( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = get( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = get( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\tif ( sides?.length ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","GlobalStylesContext","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","result","forEach","setting","value","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","blocksStore","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tget( configToUse, contextualPath ) ??\n\t\t\t\tget( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tconst result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tget(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ?? get( configToUse, `settings.${ setting }` );\n\t\t\tif ( value ) {\n\t\t\t\tset( result, setting, value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset( newUserConfig, contextualPath, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = get( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = get( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = get( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\tif ( sides?.length ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"]}