@wordpress/block-editor 12.11.1 → 12.12.2-next.f8d8eceb.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 (453) hide show
  1. package/CHANGELOG.md +14 -10
  2. package/README.md +35 -3
  3. package/build/components/block-alignment-control/use-available-alignments.js +30 -28
  4. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  5. package/build/components/block-controls/hook.js +4 -1
  6. package/build/components/block-controls/hook.js.map +1 -1
  7. package/build/components/block-list/block-outline.native.js +1 -1
  8. package/build/components/block-list/block-outline.native.js.map +1 -1
  9. package/build/components/block-list/block.js +2 -0
  10. package/build/components/block-list/block.js.map +1 -1
  11. package/build/components/block-list/block.native.js +4 -4
  12. package/build/components/block-list/block.native.js.map +1 -1
  13. package/build/components/block-list/layout.js +2 -3
  14. package/build/components/block-list/layout.js.map +1 -1
  15. package/build/components/block-preview/index.js +4 -1
  16. package/build/components/block-preview/index.js.map +1 -1
  17. package/build/components/block-styles/index.js +1 -2
  18. package/build/components/block-styles/index.js.map +1 -1
  19. package/build/components/block-switcher/pattern-transformations-menu.js +2 -4
  20. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  21. package/build/components/block-tools/block-contextual-toolbar.js +1 -0
  22. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  23. package/build/components/border-radius-control/index.js +3 -2
  24. package/build/components/border-radius-control/index.js.map +1 -1
  25. package/build/components/color-palette/with-color-context.js +6 -6
  26. package/build/components/color-palette/with-color-context.js.map +1 -1
  27. package/build/components/colors/with-colors.js +2 -8
  28. package/build/components/colors/with-colors.js.map +1 -1
  29. package/build/components/colors-gradients/control.js +6 -7
  30. package/build/components/colors-gradients/control.js.map +1 -1
  31. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -13
  32. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  33. package/build/components/dimensions-tool/index.js +22 -22
  34. package/build/components/dimensions-tool/index.js.map +1 -1
  35. package/build/components/dimensions-tool/scale-tool.js +1 -1
  36. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  37. package/build/components/font-family/index.js +2 -3
  38. package/build/components/font-family/index.js.map +1 -1
  39. package/build/components/font-sizes/font-size-picker.js +3 -5
  40. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  41. package/build/components/font-sizes/with-font-sizes.js +3 -4
  42. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  43. package/build/components/global-styles/filters-panel.js +7 -8
  44. package/build/components/global-styles/filters-panel.js.map +1 -1
  45. package/build/components/global-styles/image-settings-panel.js +2 -2
  46. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  47. package/build/components/global-styles/typography-panel.js +1 -1
  48. package/build/components/global-styles/typography-panel.js.map +1 -1
  49. package/build/components/gradients/use-gradient.js +2 -5
  50. package/build/components/gradients/use-gradient.js.map +1 -1
  51. package/build/components/height-control/index.js +93 -5
  52. package/build/components/height-control/index.js.map +1 -1
  53. package/build/components/iframe/index.js +9 -1
  54. package/build/components/iframe/index.js.map +1 -1
  55. package/build/components/image-editor/aspect-ratio-dropdown.js +0 -6
  56. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  57. package/build/components/index.js +9 -2
  58. package/build/components/index.js.map +1 -1
  59. package/build/components/index.native.js +17 -2
  60. package/build/components/index.native.js.map +1 -1
  61. package/build/components/inner-blocks/index.js +2 -2
  62. package/build/components/inner-blocks/index.js.map +1 -1
  63. package/build/components/letter-spacing-control/index.js +3 -3
  64. package/build/components/letter-spacing-control/index.js.map +1 -1
  65. package/build/components/link-control/link-preview.js +5 -2
  66. package/build/components/link-control/link-preview.js.map +1 -1
  67. package/build/components/link-control/search-item.js +11 -0
  68. package/build/components/link-control/search-item.js.map +1 -1
  69. package/build/components/link-control/search-results.js +2 -1
  70. package/build/components/link-control/search-results.js.map +1 -1
  71. package/build/components/link-control/use-internal-value.js +14 -8
  72. package/build/components/link-control/use-internal-value.js.map +1 -1
  73. package/build/components/link-control/use-search-handler.js +10 -5
  74. package/build/components/link-control/use-search-handler.js.map +1 -1
  75. package/build/components/list-view/index.js +6 -5
  76. package/build/components/list-view/index.js.map +1 -1
  77. package/build/components/media-replace-flow/index.js +2 -4
  78. package/build/components/media-replace-flow/index.js.map +1 -1
  79. package/build/components/provider/use-block-sync.js +2 -2
  80. package/build/components/provider/use-block-sync.js.map +1 -1
  81. package/build/components/rich-text/index.js +1 -1
  82. package/build/components/rich-text/index.js.map +1 -1
  83. package/build/components/rich-text/index.native.js +14 -3
  84. package/build/components/rich-text/index.native.js.map +1 -1
  85. package/build/components/rich-text/use-delete.js +1 -1
  86. package/build/components/rich-text/use-delete.js.map +1 -1
  87. package/build/components/rich-text/use-paste-handler.js +25 -22
  88. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  89. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -3
  90. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  91. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -3
  92. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  93. package/build/components/tool-selector/index.js +1 -2
  94. package/build/components/tool-selector/index.js.map +1 -1
  95. package/build/components/unit-control/index.js +3 -3
  96. package/build/components/unit-control/index.js.map +1 -1
  97. package/build/components/use-block-commands/index.js +96 -47
  98. package/build/components/use-block-commands/index.js.map +1 -1
  99. package/build/components/use-settings/index.js +212 -0
  100. package/build/components/use-settings/index.js.map +1 -0
  101. package/build/components/writing-flow/use-arrow-nav.js +4 -0
  102. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  103. package/build/hooks/align.js +51 -35
  104. package/build/hooks/align.js.map +1 -1
  105. package/build/hooks/anchor.js +37 -32
  106. package/build/hooks/anchor.js.map +1 -1
  107. package/build/hooks/background.js +4 -4
  108. package/build/hooks/background.js.map +1 -1
  109. package/build/hooks/block-rename-ui.js +5 -5
  110. package/build/hooks/block-rename-ui.js.map +1 -1
  111. package/build/hooks/{metadata-name.js → block-renaming.js} +3 -7
  112. package/build/hooks/block-renaming.js.map +1 -0
  113. package/build/hooks/color.js +2 -4
  114. package/build/hooks/color.js.map +1 -1
  115. package/build/hooks/custom-class-name.js +28 -21
  116. package/build/hooks/custom-class-name.js.map +1 -1
  117. package/build/hooks/duotone.js +33 -8
  118. package/build/hooks/duotone.js.map +1 -1
  119. package/build/hooks/font-size.js +4 -4
  120. package/build/hooks/font-size.js.map +1 -1
  121. package/build/hooks/index.js +1 -1
  122. package/build/hooks/index.js.map +1 -1
  123. package/build/hooks/layout.js +16 -17
  124. package/build/hooks/layout.js.map +1 -1
  125. package/build/hooks/line-height.js +3 -3
  126. package/build/hooks/line-height.js.map +1 -1
  127. package/build/hooks/metadata.js +6 -27
  128. package/build/hooks/metadata.js.map +1 -1
  129. package/build/hooks/position.js +2 -3
  130. package/build/hooks/position.js.map +1 -1
  131. package/build/hooks/use-color-props.js +3 -11
  132. package/build/hooks/use-color-props.js.map +1 -1
  133. package/build/hooks/utils.js +2 -43
  134. package/build/hooks/utils.js.map +1 -1
  135. package/build/layouts/constrained.js +3 -3
  136. package/build/layouts/constrained.js.map +1 -1
  137. package/build/layouts/grid.js +25 -3
  138. package/build/layouts/grid.js.map +1 -1
  139. package/build/layouts/utils.js +1 -1
  140. package/build/layouts/utils.js.map +1 -1
  141. package/build/lock-unlock.js +1 -1
  142. package/build/lock-unlock.js.map +1 -1
  143. package/build/store/actions.js +13 -5
  144. package/build/store/actions.js.map +1 -1
  145. package/build/utils/object.js +4 -1
  146. package/build/utils/object.js.map +1 -1
  147. package/build/utils/parse-css-unit-to-px.js +20 -0
  148. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  149. package/build/utils/pasting.js +1 -1
  150. package/build/utils/pasting.js.map +1 -1
  151. package/build/utils/transform-styles/index.js +19 -24
  152. package/build/utils/transform-styles/index.js.map +1 -1
  153. package/build-module/components/block-alignment-control/use-available-alignments.js +30 -28
  154. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  155. package/build-module/components/block-controls/hook.js +4 -1
  156. package/build-module/components/block-controls/hook.js.map +1 -1
  157. package/build-module/components/block-list/block-outline.native.js +1 -1
  158. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  159. package/build-module/components/block-list/block.js +2 -0
  160. package/build-module/components/block-list/block.js.map +1 -1
  161. package/build-module/components/block-list/block.native.js +4 -4
  162. package/build-module/components/block-list/block.native.js.map +1 -1
  163. package/build-module/components/block-list/layout.js +2 -2
  164. package/build-module/components/block-list/layout.js.map +1 -1
  165. package/build-module/components/block-preview/index.js +4 -1
  166. package/build-module/components/block-preview/index.js.map +1 -1
  167. package/build-module/components/block-styles/index.js +1 -2
  168. package/build-module/components/block-styles/index.js.map +1 -1
  169. package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -4
  170. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  171. package/build-module/components/block-tools/block-contextual-toolbar.js +1 -0
  172. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  173. package/build-module/components/border-radius-control/index.js +3 -2
  174. package/build-module/components/border-radius-control/index.js.map +1 -1
  175. package/build-module/components/color-palette/with-color-context.js +6 -5
  176. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  177. package/build-module/components/colors/with-colors.js +2 -7
  178. package/build-module/components/colors/with-colors.js.map +1 -1
  179. package/build-module/components/colors-gradients/control.js +6 -7
  180. package/build-module/components/colors-gradients/control.js.map +1 -1
  181. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -12
  182. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  183. package/build-module/components/dimensions-tool/index.js +22 -22
  184. package/build-module/components/dimensions-tool/index.js.map +1 -1
  185. package/build-module/components/dimensions-tool/scale-tool.js +1 -1
  186. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  187. package/build-module/components/font-family/index.js +2 -2
  188. package/build-module/components/font-family/index.js.map +1 -1
  189. package/build-module/components/font-sizes/font-size-picker.js +3 -4
  190. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  191. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  192. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  193. package/build-module/components/global-styles/filters-panel.js +7 -8
  194. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  195. package/build-module/components/global-styles/image-settings-panel.js +2 -2
  196. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  197. package/build-module/components/global-styles/typography-panel.js +1 -1
  198. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  199. package/build-module/components/gradients/use-gradient.js +2 -4
  200. package/build-module/components/gradients/use-gradient.js.map +1 -1
  201. package/build-module/components/height-control/index.js +93 -4
  202. package/build-module/components/height-control/index.js.map +1 -1
  203. package/build-module/components/iframe/index.js +9 -1
  204. package/build-module/components/iframe/index.js.map +1 -1
  205. package/build-module/components/image-editor/aspect-ratio-dropdown.js +0 -6
  206. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  207. package/build-module/components/index.js +1 -1
  208. package/build-module/components/index.js.map +1 -1
  209. package/build-module/components/index.native.js +2 -1
  210. package/build-module/components/index.native.js.map +1 -1
  211. package/build-module/components/inner-blocks/index.js +2 -2
  212. package/build-module/components/inner-blocks/index.js.map +1 -1
  213. package/build-module/components/letter-spacing-control/index.js +3 -2
  214. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  215. package/build-module/components/link-control/link-preview.js +6 -3
  216. package/build-module/components/link-control/link-preview.js.map +1 -1
  217. package/build-module/components/link-control/search-item.js +12 -1
  218. package/build-module/components/link-control/search-item.js.map +1 -1
  219. package/build-module/components/link-control/search-results.js +2 -1
  220. package/build-module/components/link-control/search-results.js.map +1 -1
  221. package/build-module/components/link-control/use-internal-value.js +14 -9
  222. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  223. package/build-module/components/link-control/use-search-handler.js +10 -5
  224. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  225. package/build-module/components/list-view/index.js +7 -6
  226. package/build-module/components/list-view/index.js.map +1 -1
  227. package/build-module/components/media-replace-flow/index.js +3 -5
  228. package/build-module/components/media-replace-flow/index.js.map +1 -1
  229. package/build-module/components/provider/use-block-sync.js +2 -2
  230. package/build-module/components/provider/use-block-sync.js.map +1 -1
  231. package/build-module/components/rich-text/index.js +1 -1
  232. package/build-module/components/rich-text/index.js.map +1 -1
  233. package/build-module/components/rich-text/index.native.js +15 -4
  234. package/build-module/components/rich-text/index.native.js.map +1 -1
  235. package/build-module/components/rich-text/use-delete.js +1 -1
  236. package/build-module/components/rich-text/use-delete.js.map +1 -1
  237. package/build-module/components/rich-text/use-paste-handler.js +25 -22
  238. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  239. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -2
  240. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  241. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -2
  242. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  243. package/build-module/components/tool-selector/index.js +1 -2
  244. package/build-module/components/tool-selector/index.js.map +1 -1
  245. package/build-module/components/unit-control/index.js +3 -2
  246. package/build-module/components/unit-control/index.js.map +1 -1
  247. package/build-module/components/use-block-commands/index.js +95 -47
  248. package/build-module/components/use-block-commands/index.js.map +1 -1
  249. package/build-module/components/use-settings/index.js +203 -0
  250. package/build-module/components/use-settings/index.js.map +1 -0
  251. package/build-module/components/writing-flow/use-arrow-nav.js +4 -0
  252. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  253. package/build-module/hooks/align.js +51 -35
  254. package/build-module/hooks/align.js.map +1 -1
  255. package/build-module/hooks/anchor.js +37 -32
  256. package/build-module/hooks/anchor.js.map +1 -1
  257. package/build-module/hooks/background.js +4 -4
  258. package/build-module/hooks/background.js.map +1 -1
  259. package/build-module/hooks/block-rename-ui.js +6 -6
  260. package/build-module/hooks/block-rename-ui.js.map +1 -1
  261. package/build-module/hooks/{metadata-name.js → block-renaming.js} +3 -6
  262. package/build-module/hooks/block-renaming.js.map +1 -0
  263. package/build-module/hooks/color.js +2 -4
  264. package/build-module/hooks/color.js.map +1 -1
  265. package/build-module/hooks/custom-class-name.js +28 -21
  266. package/build-module/hooks/custom-class-name.js.map +1 -1
  267. package/build-module/hooks/duotone.js +34 -9
  268. package/build-module/hooks/duotone.js.map +1 -1
  269. package/build-module/hooks/font-size.js +4 -4
  270. package/build-module/hooks/font-size.js.map +1 -1
  271. package/build-module/hooks/index.js +1 -1
  272. package/build-module/hooks/index.js.map +1 -1
  273. package/build-module/hooks/layout.js +16 -17
  274. package/build-module/hooks/layout.js.map +1 -1
  275. package/build-module/hooks/line-height.js +3 -3
  276. package/build-module/hooks/line-height.js.map +1 -1
  277. package/build-module/hooks/metadata.js +6 -25
  278. package/build-module/hooks/metadata.js.map +1 -1
  279. package/build-module/hooks/position.js +2 -3
  280. package/build-module/hooks/position.js.map +1 -1
  281. package/build-module/hooks/use-color-props.js +3 -11
  282. package/build-module/hooks/use-color-props.js.map +1 -1
  283. package/build-module/hooks/utils.js +3 -44
  284. package/build-module/hooks/utils.js.map +1 -1
  285. package/build-module/layouts/constrained.js +3 -2
  286. package/build-module/layouts/constrained.js.map +1 -1
  287. package/build-module/layouts/grid.js +25 -3
  288. package/build-module/layouts/grid.js.map +1 -1
  289. package/build-module/layouts/utils.js +1 -1
  290. package/build-module/layouts/utils.js.map +1 -1
  291. package/build-module/lock-unlock.js +1 -1
  292. package/build-module/lock-unlock.js.map +1 -1
  293. package/build-module/store/actions.js +14 -6
  294. package/build-module/store/actions.js.map +1 -1
  295. package/build-module/utils/object.js +3 -1
  296. package/build-module/utils/object.js.map +1 -1
  297. package/build-module/utils/parse-css-unit-to-px.js +20 -0
  298. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  299. package/build-module/utils/pasting.js +1 -1
  300. package/build-module/utils/pasting.js.map +1 -1
  301. package/build-module/utils/transform-styles/index.js +20 -24
  302. package/build-module/utils/transform-styles/index.js.map +1 -1
  303. package/build-style/style-rtl.css +24 -12
  304. package/build-style/style.css +24 -12
  305. package/package.json +36 -34
  306. package/src/components/block-alignment-control/use-available-alignments.js +49 -34
  307. package/src/components/block-controls/hook.js +6 -3
  308. package/src/components/block-list/block-outline.native.js +1 -1
  309. package/src/components/block-list/block.js +2 -0
  310. package/src/components/block-list/block.native.js +4 -4
  311. package/src/components/block-list/layout.js +2 -2
  312. package/src/components/block-preview/index.js +7 -1
  313. package/src/components/block-styles/index.js +1 -4
  314. package/src/components/block-styles/style.scss +1 -1
  315. package/src/components/block-switcher/pattern-transformations-menu.js +1 -4
  316. package/src/components/block-switcher/style.scss +6 -0
  317. package/src/components/block-tools/block-contextual-toolbar.js +1 -0
  318. package/src/components/block-tools/style.scss +0 -1
  319. package/src/components/border-radius-control/index.js +3 -2
  320. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -1
  321. package/src/components/color-palette/with-color-context.js +9 -9
  322. package/src/components/colors/with-colors.js +6 -7
  323. package/src/components/colors-gradients/control.js +10 -7
  324. package/src/components/colors-gradients/style.scss +4 -2
  325. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +29 -15
  326. package/src/components/dimensions-tool/index.js +25 -25
  327. package/src/components/dimensions-tool/scale-tool.js +1 -1
  328. package/src/components/font-family/index.js +2 -2
  329. package/src/components/font-sizes/font-size-picker.js +6 -4
  330. package/src/components/font-sizes/with-font-sizes.js +3 -5
  331. package/src/components/global-styles/filters-panel.js +9 -15
  332. package/src/components/global-styles/image-settings-panel.js +2 -2
  333. package/src/components/global-styles/typography-panel.js +1 -1
  334. package/src/components/gradients/use-gradient.js +10 -4
  335. package/src/components/height-control/index.js +53 -4
  336. package/src/components/iframe/index.js +8 -1
  337. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -8
  338. package/src/components/index.js +1 -1
  339. package/src/components/index.native.js +2 -1
  340. package/src/components/inner-blocks/index.js +2 -2
  341. package/src/components/inserter/style.scss +9 -1
  342. package/src/components/letter-spacing-control/index.js +3 -2
  343. package/src/components/link-control/README.md +43 -0
  344. package/src/components/link-control/link-preview.js +11 -5
  345. package/src/components/link-control/search-item.js +14 -0
  346. package/src/components/link-control/search-results.js +1 -0
  347. package/src/components/link-control/style.scss +3 -3
  348. package/src/components/link-control/test/index.js +19 -0
  349. package/src/components/link-control/use-internal-value.js +14 -10
  350. package/src/components/link-control/use-search-handler.js +22 -15
  351. package/src/components/list-view/index.js +13 -3
  352. package/src/components/media-replace-flow/index.js +9 -14
  353. package/src/components/provider/test/use-block-sync.js +1 -1
  354. package/src/components/provider/use-block-sync.js +2 -2
  355. package/src/components/rich-text/index.js +1 -1
  356. package/src/components/rich-text/index.native.js +19 -3
  357. package/src/components/rich-text/use-delete.js +1 -1
  358. package/src/components/rich-text/use-paste-handler.js +27 -24
  359. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +7 -5
  360. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +25 -2
  361. package/src/components/tool-selector/index.js +1 -1
  362. package/src/components/unit-control/index.js +3 -8
  363. package/src/components/use-block-commands/index.js +93 -47
  364. package/src/components/{use-setting → use-settings}/README.md +9 -10
  365. package/src/components/use-settings/index.js +272 -0
  366. package/src/components/{use-setting → use-settings}/test/index.js +47 -5
  367. package/src/components/writing-flow/use-arrow-nav.js +4 -0
  368. package/src/hooks/align.js +79 -54
  369. package/src/hooks/anchor.js +75 -65
  370. package/src/hooks/background.js +7 -9
  371. package/src/hooks/block-rename-ui.js +5 -14
  372. package/src/hooks/{metadata-name.js → block-renaming.js} +4 -7
  373. package/src/hooks/color.js +7 -4
  374. package/src/hooks/custom-class-name.js +36 -31
  375. package/src/hooks/duotone.js +51 -14
  376. package/src/hooks/font-size.js +4 -4
  377. package/src/hooks/index.js +1 -1
  378. package/src/hooks/layout.js +17 -17
  379. package/src/hooks/line-height.js +3 -3
  380. package/src/hooks/metadata.js +6 -38
  381. package/src/hooks/position.js +5 -3
  382. package/src/hooks/use-color-props.js +21 -14
  383. package/src/hooks/utils.js +90 -43
  384. package/src/layouts/constrained.js +3 -8
  385. package/src/layouts/grid.js +50 -2
  386. package/src/layouts/utils.js +2 -1
  387. package/src/lock-unlock.js +1 -1
  388. package/src/store/actions.js +25 -8
  389. package/src/utils/object.js +4 -1
  390. package/src/utils/parse-css-unit-to-px.js +20 -0
  391. package/src/utils/pasting.js +1 -4
  392. package/src/utils/test/__snapshots__/transform-styles.js.snap +103 -0
  393. package/src/utils/test/pasting.js +12 -19
  394. package/src/utils/test/transform-styles.js +217 -0
  395. package/src/utils/transform-styles/index.js +25 -25
  396. package/build/components/use-setting/index.js +0 -159
  397. package/build/components/use-setting/index.js.map +0 -1
  398. package/build/hooks/metadata-name.js.map +0 -1
  399. package/build/utils/transform-styles/ast/index.js +0 -21
  400. package/build/utils/transform-styles/ast/index.js.map +0 -1
  401. package/build/utils/transform-styles/ast/parse.js +0 -660
  402. package/build/utils/transform-styles/ast/parse.js.map +0 -1
  403. package/build/utils/transform-styles/ast/stringify/compiler.js +0 -52
  404. package/build/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
  405. package/build/utils/transform-styles/ast/stringify/compress.js +0 -178
  406. package/build/utils/transform-styles/ast/stringify/compress.js.map +0 -1
  407. package/build/utils/transform-styles/ast/stringify/identity.js +0 -207
  408. package/build/utils/transform-styles/ast/stringify/identity.js.map +0 -1
  409. package/build/utils/transform-styles/ast/stringify/index.js +0 -36
  410. package/build/utils/transform-styles/ast/stringify/index.js.map +0 -1
  411. package/build/utils/transform-styles/transforms/url-rewrite.js +0 -130
  412. package/build/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
  413. package/build/utils/transform-styles/transforms/wrap.js +0 -59
  414. package/build/utils/transform-styles/transforms/wrap.js.map +0 -1
  415. package/build/utils/transform-styles/traverse.js +0 -37
  416. package/build/utils/transform-styles/traverse.js.map +0 -1
  417. package/build-module/components/use-setting/index.js +0 -152
  418. package/build-module/components/use-setting/index.js.map +0 -1
  419. package/build-module/hooks/metadata-name.js.map +0 -1
  420. package/build-module/utils/transform-styles/ast/index.js +0 -6
  421. package/build-module/utils/transform-styles/ast/index.js.map +0 -1
  422. package/build-module/utils/transform-styles/ast/parse.js +0 -654
  423. package/build-module/utils/transform-styles/ast/parse.js.map +0 -1
  424. package/build-module/utils/transform-styles/ast/stringify/compiler.js +0 -49
  425. package/build-module/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
  426. package/build-module/utils/transform-styles/ast/stringify/compress.js +0 -176
  427. package/build-module/utils/transform-styles/ast/stringify/compress.js.map +0 -1
  428. package/build-module/utils/transform-styles/ast/stringify/identity.js +0 -206
  429. package/build-module/utils/transform-styles/ast/stringify/identity.js.map +0 -1
  430. package/build-module/utils/transform-styles/ast/stringify/index.js +0 -29
  431. package/build-module/utils/transform-styles/ast/stringify/index.js.map +0 -1
  432. package/build-module/utils/transform-styles/transforms/url-rewrite.js +0 -123
  433. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
  434. package/build-module/utils/transform-styles/transforms/wrap.js +0 -52
  435. package/build-module/utils/transform-styles/transforms/wrap.js.map +0 -1
  436. package/build-module/utils/transform-styles/traverse.js +0 -28
  437. package/build-module/utils/transform-styles/traverse.js.map +0 -1
  438. package/src/components/use-setting/index.js +0 -213
  439. package/src/utils/transform-styles/ast/index.js +0 -5
  440. package/src/utils/transform-styles/ast/parse.js +0 -732
  441. package/src/utils/transform-styles/ast/stringify/compiler.js +0 -50
  442. package/src/utils/transform-styles/ast/stringify/compress.js +0 -238
  443. package/src/utils/transform-styles/ast/stringify/identity.js +0 -286
  444. package/src/utils/transform-styles/ast/stringify/index.js +0 -32
  445. package/src/utils/transform-styles/test/__snapshots__/traverse.js.snap +0 -7
  446. package/src/utils/transform-styles/test/traverse.js +0 -24
  447. package/src/utils/transform-styles/transforms/test/__snapshots__/url-rewrite.js.snap +0 -25
  448. package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +0 -64
  449. package/src/utils/transform-styles/transforms/test/url-rewrite.js +0 -39
  450. package/src/utils/transform-styles/transforms/test/wrap.js +0 -95
  451. package/src/utils/transform-styles/transforms/url-rewrite.js +0 -139
  452. package/src/utils/transform-styles/transforms/wrap.js +0 -56
  453. package/src/utils/transform-styles/traverse.js +0 -32
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
7
  var _react = require("react");
9
8
  var _compose = require("@wordpress/compose");
10
- var _useSetting = _interopRequireDefault(require("../use-setting"));
9
+ var _useSettings = require("../use-settings");
11
10
  /**
12
11
  * WordPress dependencies
13
12
  */
@@ -16,10 +15,11 @@ var _useSetting = _interopRequireDefault(require("../use-setting"));
16
15
  */
17
16
  var _default = (0, _compose.createHigherOrderComponent)(WrappedComponent => {
18
17
  return props => {
19
- const colorsFeature = (0, _useSetting.default)('color.palette');
20
- const disableCustomColorsFeature = !(0, _useSetting.default)('color.custom');
21
- const colors = props.colors === undefined ? colorsFeature : props.colors;
22
- const disableCustomColors = props.disableCustomColors === undefined ? disableCustomColorsFeature : props.disableCustomColors;
18
+ const [colorsFeature, enableCustomColors] = (0, _useSettings.useSettings)('color.palette', 'color.custom');
19
+ const {
20
+ colors = colorsFeature,
21
+ disableCustomColors = !enableCustomColors
22
+ } = props;
23
23
  const hasColorsToChoose = colors && colors.length > 0 || !disableCustomColors;
24
24
  return (0, _react.createElement)(WrappedComponent, {
25
25
  ...props,
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_useSetting","_interopRequireDefault","_default","createHigherOrderComponent","WrappedComponent","props","colorsFeature","useSetting","disableCustomColorsFeature","colors","undefined","disableCustomColors","hasColorsToChoose","length","_react","createElement","exports","default"],"sources":["@wordpress/block-editor/src/components/color-palette/with-color-context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nexport default createHigherOrderComponent( ( WrappedComponent ) => {\n\treturn ( props ) => {\n\t\tconst colorsFeature = useSetting( 'color.palette' );\n\t\tconst disableCustomColorsFeature = ! useSetting( 'color.custom' );\n\t\tconst colors =\n\t\t\tprops.colors === undefined ? colorsFeature : props.colors;\n\t\tconst disableCustomColors =\n\t\t\tprops.disableCustomColors === undefined\n\t\t\t\t? disableCustomColorsFeature\n\t\t\t\t: props.disableCustomColors;\n\t\tconst hasColorsToChoose =\n\t\t\t( colors && colors.length > 0 ) || ! disableCustomColors;\n\t\treturn (\n\t\t\t<WrappedComponent\n\t\t\t\t{ ...{\n\t\t\t\t\t...props,\n\t\t\t\t\tcolors,\n\t\t\t\t\tdisableCustomColors,\n\t\t\t\t\thasColorsToChoose,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n}, 'withColorContext' );\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;AAGA;AACA;AACA;AAFA,IAAAG,QAAA,GAKe,IAAAC,mCAA0B,EAAIC,gBAAgB,IAAM;EAClE,OAASC,KAAK,IAAM;IACnB,MAAMC,aAAa,GAAG,IAAAC,mBAAU,EAAE,eAAgB,CAAC;IACnD,MAAMC,0BAA0B,GAAG,CAAE,IAAAD,mBAAU,EAAE,cAAe,CAAC;IACjE,MAAME,MAAM,GACXJ,KAAK,CAACI,MAAM,KAAKC,SAAS,GAAGJ,aAAa,GAAGD,KAAK,CAACI,MAAM;IAC1D,MAAME,mBAAmB,GACxBN,KAAK,CAACM,mBAAmB,KAAKD,SAAS,GACpCF,0BAA0B,GAC1BH,KAAK,CAACM,mBAAmB;IAC7B,MAAMC,iBAAiB,GACpBH,MAAM,IAAIA,MAAM,CAACI,MAAM,GAAG,CAAC,IAAM,CAAEF,mBAAmB;IACzD,OACC,IAAAG,MAAA,CAAAC,aAAA,EAACX,gBAAgB;MAEf,GAAGC,KAAK;MACRI,MAAM;MACNE,mBAAmB;MACnBC;IAAiB,CAElB,CAAC;EAEJ,CAAC;AACF,CAAC,EAAE,kBAAmB,CAAC;AAAAI,OAAA,CAAAC,OAAA,GAAAf,QAAA"}
1
+ {"version":3,"names":["_compose","require","_useSettings","_default","createHigherOrderComponent","WrappedComponent","props","colorsFeature","enableCustomColors","useSettings","colors","disableCustomColors","hasColorsToChoose","length","_react","createElement","exports","default"],"sources":["@wordpress/block-editor/src/components/color-palette/with-color-context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nexport default createHigherOrderComponent( ( WrappedComponent ) => {\n\treturn ( props ) => {\n\t\tconst [ colorsFeature, enableCustomColors ] = useSettings(\n\t\t\t'color.palette',\n\t\t\t'color.custom'\n\t\t);\n\t\tconst {\n\t\t\tcolors = colorsFeature,\n\t\t\tdisableCustomColors = ! enableCustomColors,\n\t\t} = props;\n\t\tconst hasColorsToChoose =\n\t\t\t( colors && colors.length > 0 ) || ! disableCustomColors;\n\t\treturn (\n\t\t\t<WrappedComponent\n\t\t\t\t{ ...{\n\t\t\t\t\t...props,\n\t\t\t\t\tcolors,\n\t\t\t\t\tdisableCustomColors,\n\t\t\t\t\thasColorsToChoose,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n}, 'withColorContext' );\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AARA;AACA;AACA;AAGA;AACA;AACA;AAFA,IAAAE,QAAA,GAKe,IAAAC,mCAA0B,EAAIC,gBAAgB,IAAM;EAClE,OAASC,KAAK,IAAM;IACnB,MAAM,CAAEC,aAAa,EAAEC,kBAAkB,CAAE,GAAG,IAAAC,wBAAW,EACxD,eAAe,EACf,cACD,CAAC;IACD,MAAM;MACLC,MAAM,GAAGH,aAAa;MACtBI,mBAAmB,GAAG,CAAEH;IACzB,CAAC,GAAGF,KAAK;IACT,MAAMM,iBAAiB,GACpBF,MAAM,IAAIA,MAAM,CAACG,MAAM,GAAG,CAAC,IAAM,CAAEF,mBAAmB;IACzD,OACC,IAAAG,MAAA,CAAAC,aAAA,EAACV,gBAAgB;MAEf,GAAGC,KAAK;MACRI,MAAM;MACNC,mBAAmB;MACnBC;IAAiB,CAElB,CAAC;EAEJ,CAAC;AACF,CAAC,EAAE,kBAAmB,CAAC;AAAAI,OAAA,CAAAC,OAAA,GAAAd,QAAA"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -10,7 +9,7 @@ var _react = require("react");
10
9
  var _element = require("@wordpress/element");
11
10
  var _compose = require("@wordpress/compose");
12
11
  var _utils = require("./utils");
13
- var _useSetting = _interopRequireDefault(require("../use-setting"));
12
+ var _useSettings = require("../use-settings");
14
13
  var _object = require("../../utils/object");
15
14
  /**
16
15
  * WordPress dependencies
@@ -49,12 +48,7 @@ const withCustomColorPalette = colorsArray => (0, _compose.createHigherOrderComp
49
48
  * @return {Function} The higher order component.
50
49
  */
51
50
  const withEditorColorPalette = () => (0, _compose.createHigherOrderComponent)(WrappedComponent => props => {
52
- // Some color settings have a special handling for deprecated flags in `useSetting`,
53
- // so we can't unwrap them by doing const { ... } = useSetting('color')
54
- // until https://github.com/WordPress/gutenberg/issues/37094 is fixed.
55
- const userPalette = (0, _useSetting.default)('color.palette.custom');
56
- const themePalette = (0, _useSetting.default)('color.palette.theme');
57
- const defaultPalette = (0, _useSetting.default)('color.palette.default');
51
+ const [userPalette, themePalette, defaultPalette] = (0, _useSettings.useSettings)('color.palette.custom', 'color.palette.theme', 'color.palette.default');
58
52
  const allColors = (0, _element.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]);
59
53
  return (0, _react.createElement)(WrappedComponent, {
60
54
  ...props,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","_utils","_useSetting","_interopRequireDefault","_object","upperFirst","firstLetter","rest","toUpperCase","join","withCustomColorPalette","colorsArray","createHigherOrderComponent","WrappedComponent","props","_react","createElement","colors","withEditorColorPalette","userPalette","useSetting","themePalette","defaultPalette","allColors","useMemo","createColorHOC","colorTypes","withColorPalette","colorMap","reduce","colorObject","colorType","kebabCase","compose","Component","constructor","setters","createSetters","colorUtils","getMostReadableColor","bind","state","colorValue","Object","keys","settersAccumulator","colorAttributeName","upperFirstColorAttributeName","customColorAttributeName","createSetColor","getColorObjectByColorValue","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","entries","newState","colorContext","getColorObjectByAttributeValues","previousColorObject","previousColor","color","class","getColorClassName","render","createCustomColorsHOC","withColors"],"sources":["@wordpress/block-editor/src/components/colors/with-colors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, Component } from '@wordpress/element';\nimport { compose, createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByColorValue,\n\tgetColorObjectByAttributeValues,\n\tgetMostReadableColor,\n} from './utils';\nimport useSetting from '../use-setting';\nimport { kebabCase } from '../../utils/object';\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher order component factory for injecting the `colorsArray` argument as\n * the colors prop in the `withCustomColors` HOC.\n *\n * @param {Array} colorsArray An array of color objects.\n *\n * @return {Function} The higher order component.\n */\nconst withCustomColorPalette = ( colorsArray ) =>\n\tcreateHigherOrderComponent(\n\t\t( WrappedComponent ) => ( props ) => (\n\t\t\t<WrappedComponent { ...props } colors={ colorsArray } />\n\t\t),\n\t\t'withCustomColorPalette'\n\t);\n\n/**\n * Higher order component factory for injecting the editor colors as the\n * `colors` prop in the `withColors` HOC.\n *\n * @return {Function} The higher order component.\n */\nconst withEditorColorPalette = () =>\n\tcreateHigherOrderComponent(\n\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t// Some color settings have a special handling for deprecated flags in `useSetting`,\n\t\t\t// so we can't unwrap them by doing const { ... } = useSetting('color')\n\t\t\t// until https://github.com/WordPress/gutenberg/issues/37094 is fixed.\n\t\t\tconst userPalette = useSetting( 'color.palette.custom' );\n\t\t\tconst themePalette = useSetting( 'color.palette.theme' );\n\t\t\tconst defaultPalette = useSetting( 'color.palette.default' );\n\t\t\tconst allColors = useMemo(\n\t\t\t\t() => [\n\t\t\t\t\t...( userPalette || [] ),\n\t\t\t\t\t...( themePalette || [] ),\n\t\t\t\t\t...( defaultPalette || [] ),\n\t\t\t\t],\n\t\t\t\t[ userPalette, themePalette, defaultPalette ]\n\t\t\t);\n\t\t\treturn <WrappedComponent { ...props } colors={ allColors } />;\n\t\t},\n\t\t'withEditorColorPalette'\n\t);\n\n/**\n * Helper function used with `createHigherOrderComponent` to create\n * higher order components for managing color logic.\n *\n * @param {Array} colorTypes An array of color types (e.g. 'backgroundColor, borderColor).\n * @param {Function} withColorPalette A HOC for injecting the 'colors' prop into the WrappedComponent.\n *\n * @return {Component} The component that can be used as a HOC.\n */\nfunction createColorHOC( colorTypes, withColorPalette ) {\n\tconst colorMap = colorTypes.reduce( ( colorObject, colorType ) => {\n\t\treturn {\n\t\t\t...colorObject,\n\t\t\t...( typeof colorType === 'string'\n\t\t\t\t? { [ colorType ]: kebabCase( colorType ) }\n\t\t\t\t: colorType ),\n\t\t};\n\t}, {} );\n\n\treturn compose( [\n\t\twithColorPalette,\n\t\t( WrappedComponent ) => {\n\t\t\treturn class extends Component {\n\t\t\t\tconstructor( props ) {\n\t\t\t\t\tsuper( props );\n\n\t\t\t\t\tthis.setters = this.createSetters();\n\t\t\t\t\tthis.colorUtils = {\n\t\t\t\t\t\tgetMostReadableColor:\n\t\t\t\t\t\t\tthis.getMostReadableColor.bind( this ),\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.state = {};\n\t\t\t\t}\n\n\t\t\t\tgetMostReadableColor( colorValue ) {\n\t\t\t\t\tconst { colors } = this.props;\n\t\t\t\t\treturn getMostReadableColor( colors, colorValue );\n\t\t\t\t}\n\n\t\t\t\tcreateSetters() {\n\t\t\t\t\treturn Object.keys( colorMap ).reduce(\n\t\t\t\t\t\t( settersAccumulator, colorAttributeName ) => {\n\t\t\t\t\t\t\tconst upperFirstColorAttributeName =\n\t\t\t\t\t\t\t\tupperFirst( colorAttributeName );\n\t\t\t\t\t\t\tconst customColorAttributeName = `custom${ upperFirstColorAttributeName }`;\n\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t`set${ upperFirstColorAttributeName }`\n\t\t\t\t\t\t\t] = this.createSetColor(\n\t\t\t\t\t\t\t\tcolorAttributeName,\n\t\t\t\t\t\t\t\tcustomColorAttributeName\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tcreateSetColor( colorAttributeName, customColorAttributeName ) {\n\t\t\t\t\treturn ( colorValue ) => {\n\t\t\t\t\t\tconst colorObject = getColorObjectByColorValue(\n\t\t\t\t\t\t\tthis.props.colors,\n\t\t\t\t\t\t\tcolorValue\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t[ colorAttributeName ]:\n\t\t\t\t\t\t\t\tcolorObject && colorObject.slug\n\t\t\t\t\t\t\t\t\t? colorObject.slug\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t[ customColorAttributeName ]:\n\t\t\t\t\t\t\t\tcolorObject && colorObject.slug\n\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t: colorValue,\n\t\t\t\t\t\t} );\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t{ attributes, colors },\n\t\t\t\t\tpreviousState\n\t\t\t\t) {\n\t\t\t\t\treturn Object.entries( colorMap ).reduce(\n\t\t\t\t\t\t( newState, [ colorAttributeName, colorContext ] ) => {\n\t\t\t\t\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\t\tattributes[ colorAttributeName ],\n\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t`custom${ upperFirst(\n\t\t\t\t\t\t\t\t\t\tcolorAttributeName\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\n\t\t\t\t\t\t\tconst previousColorObject =\n\t\t\t\t\t\t\t\tpreviousState[ colorAttributeName ];\n\t\t\t\t\t\t\tconst previousColor = previousColorObject?.color;\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * The \"and previousColorObject\" condition checks that a previous color object was already computed.\n\t\t\t\t\t\t\t * At the start previousColorObject and colorValue are both equal to undefined\n\t\t\t\t\t\t\t * bus as previousColorObject does not exist we should compute the object.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpreviousColor === colorObject.color &&\n\t\t\t\t\t\t\t\tpreviousColorObject\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tnewState[ colorAttributeName ] =\n\t\t\t\t\t\t\t\t\tpreviousColorObject;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewState[ colorAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...colorObject,\n\t\t\t\t\t\t\t\t\tclass: getColorClassName(\n\t\t\t\t\t\t\t\t\t\tcolorContext,\n\t\t\t\t\t\t\t\t\t\tcolorObject.slug\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn newState;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\trender() {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\tcolors: undefined,\n\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\tcolorUtils: this.colorUtils,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t] );\n}\n\n/**\n * A higher-order component factory for creating a 'withCustomColors' HOC, which handles color logic\n * for class generation color value, retrieval and color attribute setting.\n *\n * Use this higher-order component to work with a custom set of colors.\n *\n * @example\n *\n * ```jsx\n * const CUSTOM_COLORS = [ { name: 'Red', slug: 'red', color: '#ff0000' }, { name: 'Blue', slug: 'blue', color: '#0000ff' } ];\n * const withCustomColors = createCustomColorsHOC( CUSTOM_COLORS );\n * // ...\n * export default compose(\n * withCustomColors( 'backgroundColor', 'borderColor' ),\n * MyColorfulComponent,\n * );\n * ```\n *\n * @param {Array} colorsArray The array of color objects (name, slug, color, etc... ).\n *\n * @return {Function} Higher-order component.\n */\nexport function createCustomColorsHOC( colorsArray ) {\n\treturn ( ...colorTypes ) => {\n\t\tconst withColorPalette = withCustomColorPalette( colorsArray );\n\t\treturn createHigherOrderComponent(\n\t\t\tcreateColorHOC( colorTypes, withColorPalette ),\n\t\t\t'withCustomColors'\n\t\t);\n\t};\n}\n\n/**\n * A higher-order component, which handles color logic for class generation color value, retrieval and color attribute setting.\n *\n * For use with the default editor/theme color palette.\n *\n * @example\n *\n * ```jsx\n * export default compose(\n * withColors( 'backgroundColor', { textColor: 'color' } ),\n * MyColorfulComponent,\n * );\n * ```\n *\n * @param {...(Object|string)} colorTypes The arguments can be strings or objects. If the argument is an object,\n * it should contain the color attribute name as key and the color context as value.\n * If the argument is a string the value should be the color attribute name,\n * the color context is computed by applying a kebab case transform to the value.\n * Color context represents the context/place where the color is going to be used.\n * The class name of the color is generated using 'has' followed by the color name\n * and ending with the color context all in kebab case e.g: has-green-background-color.\n *\n * @return {Function} Higher-order component.\n */\nexport default function withColors( ...colorTypes ) {\n\tconst withColorPalette = withEditorColorPalette();\n\treturn createHigherOrderComponent(\n\t\tcreateColorHOC( colorTypes, withColorPalette ),\n\t\t'withColors'\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_compose","_utils","_useSettings","_object","upperFirst","firstLetter","rest","toUpperCase","join","withCustomColorPalette","colorsArray","createHigherOrderComponent","WrappedComponent","props","_react","createElement","colors","withEditorColorPalette","userPalette","themePalette","defaultPalette","useSettings","allColors","useMemo","createColorHOC","colorTypes","withColorPalette","colorMap","reduce","colorObject","colorType","kebabCase","compose","Component","constructor","setters","createSetters","colorUtils","getMostReadableColor","bind","state","colorValue","Object","keys","settersAccumulator","colorAttributeName","upperFirstColorAttributeName","customColorAttributeName","createSetColor","getColorObjectByColorValue","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","entries","newState","colorContext","getColorObjectByAttributeValues","previousColorObject","previousColor","color","class","getColorClassName","render","createCustomColorsHOC","withColors"],"sources":["@wordpress/block-editor/src/components/colors/with-colors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, Component } from '@wordpress/element';\nimport { compose, createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByColorValue,\n\tgetColorObjectByAttributeValues,\n\tgetMostReadableColor,\n} from './utils';\nimport { useSettings } from '../use-settings';\nimport { kebabCase } from '../../utils/object';\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher order component factory for injecting the `colorsArray` argument as\n * the colors prop in the `withCustomColors` HOC.\n *\n * @param {Array} colorsArray An array of color objects.\n *\n * @return {Function} The higher order component.\n */\nconst withCustomColorPalette = ( colorsArray ) =>\n\tcreateHigherOrderComponent(\n\t\t( WrappedComponent ) => ( props ) => (\n\t\t\t<WrappedComponent { ...props } colors={ colorsArray } />\n\t\t),\n\t\t'withCustomColorPalette'\n\t);\n\n/**\n * Higher order component factory for injecting the editor colors as the\n * `colors` prop in the `withColors` HOC.\n *\n * @return {Function} The higher order component.\n */\nconst withEditorColorPalette = () =>\n\tcreateHigherOrderComponent(\n\t\t( WrappedComponent ) => ( props ) => {\n\t\t\tconst [ userPalette, themePalette, defaultPalette ] = useSettings(\n\t\t\t\t'color.palette.custom',\n\t\t\t\t'color.palette.theme',\n\t\t\t\t'color.palette.default'\n\t\t\t);\n\t\t\tconst allColors = useMemo(\n\t\t\t\t() => [\n\t\t\t\t\t...( userPalette || [] ),\n\t\t\t\t\t...( themePalette || [] ),\n\t\t\t\t\t...( defaultPalette || [] ),\n\t\t\t\t],\n\t\t\t\t[ userPalette, themePalette, defaultPalette ]\n\t\t\t);\n\t\t\treturn <WrappedComponent { ...props } colors={ allColors } />;\n\t\t},\n\t\t'withEditorColorPalette'\n\t);\n\n/**\n * Helper function used with `createHigherOrderComponent` to create\n * higher order components for managing color logic.\n *\n * @param {Array} colorTypes An array of color types (e.g. 'backgroundColor, borderColor).\n * @param {Function} withColorPalette A HOC for injecting the 'colors' prop into the WrappedComponent.\n *\n * @return {Component} The component that can be used as a HOC.\n */\nfunction createColorHOC( colorTypes, withColorPalette ) {\n\tconst colorMap = colorTypes.reduce( ( colorObject, colorType ) => {\n\t\treturn {\n\t\t\t...colorObject,\n\t\t\t...( typeof colorType === 'string'\n\t\t\t\t? { [ colorType ]: kebabCase( colorType ) }\n\t\t\t\t: colorType ),\n\t\t};\n\t}, {} );\n\n\treturn compose( [\n\t\twithColorPalette,\n\t\t( WrappedComponent ) => {\n\t\t\treturn class extends Component {\n\t\t\t\tconstructor( props ) {\n\t\t\t\t\tsuper( props );\n\n\t\t\t\t\tthis.setters = this.createSetters();\n\t\t\t\t\tthis.colorUtils = {\n\t\t\t\t\t\tgetMostReadableColor:\n\t\t\t\t\t\t\tthis.getMostReadableColor.bind( this ),\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.state = {};\n\t\t\t\t}\n\n\t\t\t\tgetMostReadableColor( colorValue ) {\n\t\t\t\t\tconst { colors } = this.props;\n\t\t\t\t\treturn getMostReadableColor( colors, colorValue );\n\t\t\t\t}\n\n\t\t\t\tcreateSetters() {\n\t\t\t\t\treturn Object.keys( colorMap ).reduce(\n\t\t\t\t\t\t( settersAccumulator, colorAttributeName ) => {\n\t\t\t\t\t\t\tconst upperFirstColorAttributeName =\n\t\t\t\t\t\t\t\tupperFirst( colorAttributeName );\n\t\t\t\t\t\t\tconst customColorAttributeName = `custom${ upperFirstColorAttributeName }`;\n\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t`set${ upperFirstColorAttributeName }`\n\t\t\t\t\t\t\t] = this.createSetColor(\n\t\t\t\t\t\t\t\tcolorAttributeName,\n\t\t\t\t\t\t\t\tcustomColorAttributeName\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tcreateSetColor( colorAttributeName, customColorAttributeName ) {\n\t\t\t\t\treturn ( colorValue ) => {\n\t\t\t\t\t\tconst colorObject = getColorObjectByColorValue(\n\t\t\t\t\t\t\tthis.props.colors,\n\t\t\t\t\t\t\tcolorValue\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t[ colorAttributeName ]:\n\t\t\t\t\t\t\t\tcolorObject && colorObject.slug\n\t\t\t\t\t\t\t\t\t? colorObject.slug\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t[ customColorAttributeName ]:\n\t\t\t\t\t\t\t\tcolorObject && colorObject.slug\n\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t: colorValue,\n\t\t\t\t\t\t} );\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t{ attributes, colors },\n\t\t\t\t\tpreviousState\n\t\t\t\t) {\n\t\t\t\t\treturn Object.entries( colorMap ).reduce(\n\t\t\t\t\t\t( newState, [ colorAttributeName, colorContext ] ) => {\n\t\t\t\t\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\t\tattributes[ colorAttributeName ],\n\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t`custom${ upperFirst(\n\t\t\t\t\t\t\t\t\t\tcolorAttributeName\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\n\t\t\t\t\t\t\tconst previousColorObject =\n\t\t\t\t\t\t\t\tpreviousState[ colorAttributeName ];\n\t\t\t\t\t\t\tconst previousColor = previousColorObject?.color;\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * The \"and previousColorObject\" condition checks that a previous color object was already computed.\n\t\t\t\t\t\t\t * At the start previousColorObject and colorValue are both equal to undefined\n\t\t\t\t\t\t\t * bus as previousColorObject does not exist we should compute the object.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpreviousColor === colorObject.color &&\n\t\t\t\t\t\t\t\tpreviousColorObject\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tnewState[ colorAttributeName ] =\n\t\t\t\t\t\t\t\t\tpreviousColorObject;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewState[ colorAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...colorObject,\n\t\t\t\t\t\t\t\t\tclass: getColorClassName(\n\t\t\t\t\t\t\t\t\t\tcolorContext,\n\t\t\t\t\t\t\t\t\t\tcolorObject.slug\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn newState;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\trender() {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\tcolors: undefined,\n\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\tcolorUtils: this.colorUtils,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t] );\n}\n\n/**\n * A higher-order component factory for creating a 'withCustomColors' HOC, which handles color logic\n * for class generation color value, retrieval and color attribute setting.\n *\n * Use this higher-order component to work with a custom set of colors.\n *\n * @example\n *\n * ```jsx\n * const CUSTOM_COLORS = [ { name: 'Red', slug: 'red', color: '#ff0000' }, { name: 'Blue', slug: 'blue', color: '#0000ff' } ];\n * const withCustomColors = createCustomColorsHOC( CUSTOM_COLORS );\n * // ...\n * export default compose(\n * withCustomColors( 'backgroundColor', 'borderColor' ),\n * MyColorfulComponent,\n * );\n * ```\n *\n * @param {Array} colorsArray The array of color objects (name, slug, color, etc... ).\n *\n * @return {Function} Higher-order component.\n */\nexport function createCustomColorsHOC( colorsArray ) {\n\treturn ( ...colorTypes ) => {\n\t\tconst withColorPalette = withCustomColorPalette( colorsArray );\n\t\treturn createHigherOrderComponent(\n\t\t\tcreateColorHOC( colorTypes, withColorPalette ),\n\t\t\t'withCustomColors'\n\t\t);\n\t};\n}\n\n/**\n * A higher-order component, which handles color logic for class generation color value, retrieval and color attribute setting.\n *\n * For use with the default editor/theme color palette.\n *\n * @example\n *\n * ```jsx\n * export default compose(\n * withColors( 'backgroundColor', { textColor: 'color' } ),\n * MyColorfulComponent,\n * );\n * ```\n *\n * @param {...(Object|string)} colorTypes The arguments can be strings or objects. If the argument is an object,\n * it should contain the color attribute name as key and the color context as value.\n * If the argument is a string the value should be the color attribute name,\n * the color context is computed by applying a kebab case transform to the value.\n * Color context represents the context/place where the color is going to be used.\n * The class name of the color is generated using 'has' followed by the color name\n * and ending with the color context all in kebab case e.g: has-green-background-color.\n *\n * @return {Function} Higher-order component.\n */\nexport default function withColors( ...colorTypes ) {\n\tconst withColorPalette = withEditorColorPalette();\n\treturn createHigherOrderComponent(\n\t\tcreateColorHOC( colorTypes, withColorPalette ),\n\t\t'withColors'\n\t);\n}\n"],"mappings":"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CAAC;MAEJ;IACD,CAAC;EACF,CAAC,CACA,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS6B,qBAAqBA,CAAExD,WAAW,EAAG;EACpD,OAAO,CAAE,GAAGe,UAAU,KAAM;IAC3B,MAAMC,gBAAgB,GAAGjB,sBAAsB,CAAEC,WAAY,CAAC;IAC9D,OAAO,IAAAC,mCAA0B,EAChCa,cAAc,CAAEC,UAAU,EAAEC,gBAAiB,CAAC,EAC9C,kBACD,CAAC;EACF,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASyC,UAAUA,CAAE,GAAG1C,UAAU,EAAG;EACnD,MAAMC,gBAAgB,GAAGT,sBAAsB,CAAC,CAAC;EACjD,OAAO,IAAAN,mCAA0B,EAChCa,cAAc,CAAEC,UAAU,EAAEC,gBAAiB,CAAC,EAC9C,YACD,CAAC;AACF"}
@@ -9,7 +9,7 @@ var _react = require("react");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _i18n = require("@wordpress/i18n");
11
11
  var _components = require("@wordpress/components");
12
- var _useSetting = _interopRequireDefault(require("../use-setting"));
12
+ var _useSettings = require("../use-settings");
13
13
  /**
14
14
  * External dependencies
15
15
  */
@@ -103,13 +103,12 @@ function ColorGradientControlInner({
103
103
  }, tab => renderPanelType(tab.value)), !canChooseAGradient && renderPanelType(TAB_COLOR.value), !canChooseAColor && renderPanelType(TAB_GRADIENT.value))));
104
104
  }
105
105
  function ColorGradientControlSelect(props) {
106
- const colorGradientSettings = {};
107
- colorGradientSettings.colors = (0, _useSetting.default)('color.palette');
108
- colorGradientSettings.gradients = (0, _useSetting.default)('color.gradients');
109
- colorGradientSettings.disableCustomColors = !(0, _useSetting.default)('color.custom');
110
- colorGradientSettings.disableCustomGradients = !(0, _useSetting.default)('color.customGradient');
106
+ const [colors, gradients, customColors, customGradients] = (0, _useSettings.useSettings)('color.palette', 'color.gradients', 'color.custom', 'color.customGradient');
111
107
  return (0, _react.createElement)(ColorGradientControlInner, {
112
- ...colorGradientSettings,
108
+ colors: colors,
109
+ gradients: gradients,
110
+ disableCustomColors: !customColors,
111
+ disableCustomGradients: !customGradients,
113
112
  ...props
114
113
  });
115
114
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_useSetting","colorsAndGradientKeys","TAB_COLOR","name","title","__","value","TAB_GRADIENT","TABS_SETTINGS","ColorGradientControlInner","colors","gradients","disableCustomColors","disableCustomGradients","__experimentalIsRenderedInSidebar","className","label","onColorChange","onGradientChange","colorValue","gradientValue","clearable","showTitle","enableAlpha","headingLevel","canChooseAColor","length","canChooseAGradient","tabPanels","_react","createElement","ColorPalette","onChange","newColor","GradientPicker","__nextHasNoMargin","newGradient","renderPanelType","type","BaseControl","__nextHasNoMarginBottom","classnames","__experimentalVStack","spacing","VisualLabel","TabPanel","tabs","initialTabName","tab","ColorGradientControlSelect","props","colorGradientSettings","useSetting","ColorGradientControl","every","key","hasOwnProperty","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/colors-gradients/control.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBaseControl,\n\t__experimentalVStack as VStack,\n\tTabPanel,\n\tColorPalette,\n\tGradientPicker,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nconst colorsAndGradientKeys = [\n\t'colors',\n\t'disableCustomColors',\n\t'gradients',\n\t'disableCustomGradients',\n];\n\nconst TAB_COLOR = {\n\tname: 'color',\n\ttitle: __( 'Solid' ),\n\tvalue: 'color',\n};\nconst TAB_GRADIENT = {\n\tname: 'gradient',\n\ttitle: __( 'Gradient' ),\n\tvalue: 'gradient',\n};\n\nconst TABS_SETTINGS = [ TAB_COLOR, TAB_GRADIENT ];\n\nfunction ColorGradientControlInner( {\n\tcolors,\n\tgradients,\n\tdisableCustomColors,\n\tdisableCustomGradients,\n\t__experimentalIsRenderedInSidebar,\n\tclassName,\n\tlabel,\n\tonColorChange,\n\tonGradientChange,\n\tcolorValue,\n\tgradientValue,\n\tclearable,\n\tshowTitle = true,\n\tenableAlpha,\n\theadingLevel,\n} ) {\n\tconst canChooseAColor =\n\t\tonColorChange &&\n\t\t( ( colors && colors.length > 0 ) || ! disableCustomColors );\n\tconst canChooseAGradient =\n\t\tonGradientChange &&\n\t\t( ( gradients && gradients.length > 0 ) || ! disableCustomGradients );\n\n\tif ( ! canChooseAColor && ! canChooseAGradient ) {\n\t\treturn null;\n\t}\n\n\tconst tabPanels = {\n\t\t[ TAB_COLOR.value ]: (\n\t\t\t<ColorPalette\n\t\t\t\tvalue={ colorValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAGradient\n\t\t\t\t\t\t? ( newColor ) => {\n\t\t\t\t\t\t\t\tonColorChange( newColor );\n\t\t\t\t\t\t\t\tonGradientChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onColorChange\n\t\t\t\t}\n\t\t\t\t{ ...{ colors, disableCustomColors } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t\t[ TAB_GRADIENT.value ]: (\n\t\t\t<GradientPicker\n\t\t\t\t__nextHasNoMargin\n\t\t\t\tvalue={ gradientValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAColor\n\t\t\t\t\t\t? ( newGradient ) => {\n\t\t\t\t\t\t\t\tonGradientChange( newGradient );\n\t\t\t\t\t\t\t\tonColorChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onGradientChange\n\t\t\t\t}\n\t\t\t\t{ ...{ gradients, disableCustomGradients } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t};\n\n\tconst renderPanelType = ( type ) => (\n\t\t<div className=\"block-editor-color-gradient-control__panel\">\n\t\t\t{ tabPanels[ type ] }\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-color-gradient-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<fieldset className=\"block-editor-color-gradient-control__fieldset\">\n\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t{ showTitle && (\n\t\t\t\t\t\t<legend>\n\t\t\t\t\t\t\t<div className=\"block-editor-color-gradient-control__color-indicator\">\n\t\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</legend>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canChooseAColor && canChooseAGradient && (\n\t\t\t\t\t\t<TabPanel\n\t\t\t\t\t\t\tclassName=\"block-editor-color-gradient-control__tabs\"\n\t\t\t\t\t\t\ttabs={ TABS_SETTINGS }\n\t\t\t\t\t\t\tinitialTabName={\n\t\t\t\t\t\t\t\tgradientValue\n\t\t\t\t\t\t\t\t\t? TAB_GRADIENT.value\n\t\t\t\t\t\t\t\t\t: !! canChooseAColor && TAB_COLOR.value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( tab ) => renderPanelType( tab.value ) }\n\t\t\t\t\t\t</TabPanel>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canChooseAGradient &&\n\t\t\t\t\t\trenderPanelType( TAB_COLOR.value ) }\n\t\t\t\t\t{ ! canChooseAColor &&\n\t\t\t\t\t\trenderPanelType( TAB_GRADIENT.value ) }\n\t\t\t\t</VStack>\n\t\t\t</fieldset>\n\t\t</BaseControl>\n\t);\n}\n\nfunction ColorGradientControlSelect( props ) {\n\tconst colorGradientSettings = {};\n\tcolorGradientSettings.colors = useSetting( 'color.palette' );\n\tcolorGradientSettings.gradients = useSetting( 'color.gradients' );\n\tcolorGradientSettings.disableCustomColors = ! useSetting( 'color.custom' );\n\tcolorGradientSettings.disableCustomGradients = ! useSetting(\n\t\t'color.customGradient'\n\t);\n\n\treturn (\n\t\t<ColorGradientControlInner\n\t\t\t{ ...{ ...colorGradientSettings, ...props } }\n\t\t/>\n\t);\n}\n\nfunction ColorGradientControl( props ) {\n\tif (\n\t\tcolorsAndGradientKeys.every( ( key ) => props.hasOwnProperty( key ) )\n\t) {\n\t\treturn <ColorGradientControlInner { ...props } />;\n\t}\n\treturn <ColorGradientControlSelect { ...props } />;\n}\n\nexport default ColorGradientControl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_useSettings","colorsAndGradientKeys","TAB_COLOR","name","title","__","value","TAB_GRADIENT","TABS_SETTINGS","ColorGradientControlInner","colors","gradients","disableCustomColors","disableCustomGradients","__experimentalIsRenderedInSidebar","className","label","onColorChange","onGradientChange","colorValue","gradientValue","clearable","showTitle","enableAlpha","headingLevel","canChooseAColor","length","canChooseAGradient","tabPanels","_react","createElement","ColorPalette","onChange","newColor","GradientPicker","__nextHasNoMargin","newGradient","renderPanelType","type","BaseControl","__nextHasNoMarginBottom","classnames","__experimentalVStack","spacing","VisualLabel","TabPanel","tabs","initialTabName","tab","ColorGradientControlSelect","props","customColors","customGradients","useSettings","ColorGradientControl","every","key","hasOwnProperty","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/colors-gradients/control.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBaseControl,\n\t__experimentalVStack as VStack,\n\tTabPanel,\n\tColorPalette,\n\tGradientPicker,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nconst colorsAndGradientKeys = [\n\t'colors',\n\t'disableCustomColors',\n\t'gradients',\n\t'disableCustomGradients',\n];\n\nconst TAB_COLOR = {\n\tname: 'color',\n\ttitle: __( 'Solid' ),\n\tvalue: 'color',\n};\nconst TAB_GRADIENT = {\n\tname: 'gradient',\n\ttitle: __( 'Gradient' ),\n\tvalue: 'gradient',\n};\n\nconst TABS_SETTINGS = [ TAB_COLOR, TAB_GRADIENT ];\n\nfunction ColorGradientControlInner( {\n\tcolors,\n\tgradients,\n\tdisableCustomColors,\n\tdisableCustomGradients,\n\t__experimentalIsRenderedInSidebar,\n\tclassName,\n\tlabel,\n\tonColorChange,\n\tonGradientChange,\n\tcolorValue,\n\tgradientValue,\n\tclearable,\n\tshowTitle = true,\n\tenableAlpha,\n\theadingLevel,\n} ) {\n\tconst canChooseAColor =\n\t\tonColorChange &&\n\t\t( ( colors && colors.length > 0 ) || ! disableCustomColors );\n\tconst canChooseAGradient =\n\t\tonGradientChange &&\n\t\t( ( gradients && gradients.length > 0 ) || ! disableCustomGradients );\n\n\tif ( ! canChooseAColor && ! canChooseAGradient ) {\n\t\treturn null;\n\t}\n\n\tconst tabPanels = {\n\t\t[ TAB_COLOR.value ]: (\n\t\t\t<ColorPalette\n\t\t\t\tvalue={ colorValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAGradient\n\t\t\t\t\t\t? ( newColor ) => {\n\t\t\t\t\t\t\t\tonColorChange( newColor );\n\t\t\t\t\t\t\t\tonGradientChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onColorChange\n\t\t\t\t}\n\t\t\t\t{ ...{ colors, disableCustomColors } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t\t[ TAB_GRADIENT.value ]: (\n\t\t\t<GradientPicker\n\t\t\t\t__nextHasNoMargin\n\t\t\t\tvalue={ gradientValue }\n\t\t\t\tonChange={\n\t\t\t\t\tcanChooseAColor\n\t\t\t\t\t\t? ( newGradient ) => {\n\t\t\t\t\t\t\t\tonGradientChange( newGradient );\n\t\t\t\t\t\t\t\tonColorChange();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: onGradientChange\n\t\t\t\t}\n\t\t\t\t{ ...{ gradients, disableCustomGradients } }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tclearable={ clearable }\n\t\t\t\theadingLevel={ headingLevel }\n\t\t\t/>\n\t\t),\n\t};\n\n\tconst renderPanelType = ( type ) => (\n\t\t<div className=\"block-editor-color-gradient-control__panel\">\n\t\t\t{ tabPanels[ type ] }\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-color-gradient-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<fieldset className=\"block-editor-color-gradient-control__fieldset\">\n\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t{ showTitle && (\n\t\t\t\t\t\t<legend>\n\t\t\t\t\t\t\t<div className=\"block-editor-color-gradient-control__color-indicator\">\n\t\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</legend>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canChooseAColor && canChooseAGradient && (\n\t\t\t\t\t\t<TabPanel\n\t\t\t\t\t\t\tclassName=\"block-editor-color-gradient-control__tabs\"\n\t\t\t\t\t\t\ttabs={ TABS_SETTINGS }\n\t\t\t\t\t\t\tinitialTabName={\n\t\t\t\t\t\t\t\tgradientValue\n\t\t\t\t\t\t\t\t\t? TAB_GRADIENT.value\n\t\t\t\t\t\t\t\t\t: !! canChooseAColor && TAB_COLOR.value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( tab ) => renderPanelType( tab.value ) }\n\t\t\t\t\t\t</TabPanel>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canChooseAGradient &&\n\t\t\t\t\t\trenderPanelType( TAB_COLOR.value ) }\n\t\t\t\t\t{ ! canChooseAColor &&\n\t\t\t\t\t\trenderPanelType( TAB_GRADIENT.value ) }\n\t\t\t\t</VStack>\n\t\t\t</fieldset>\n\t\t</BaseControl>\n\t);\n}\n\nfunction ColorGradientControlSelect( props ) {\n\tconst [ colors, gradients, customColors, customGradients ] = useSettings(\n\t\t'color.palette',\n\t\t'color.gradients',\n\t\t'color.custom',\n\t\t'color.customGradient'\n\t);\n\n\treturn (\n\t\t<ColorGradientControlInner\n\t\t\tcolors={ colors }\n\t\t\tgradients={ gradients }\n\t\t\tdisableCustomColors={ ! customColors }\n\t\t\tdisableCustomGradients={ ! customGradients }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction ColorGradientControl( props ) {\n\tif (\n\t\tcolorsAndGradientKeys.every( ( key ) => props.hasOwnProperty( key ) )\n\t) {\n\t\treturn <ColorGradientControlInner { ...props } />;\n\t}\n\treturn <ColorGradientControlSelect { ...props } />;\n}\n\nexport default ColorGradientControl;\n"],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = useMultipleOriginColorsAndGradients;
8
7
  var _element = require("@wordpress/element");
9
8
  var _i18n = require("@wordpress/i18n");
10
- var _useSetting = _interopRequireDefault(require("../use-setting"));
9
+ var _useSettings = require("../use-settings");
11
10
  /**
12
11
  * WordPress dependencies
13
12
  */
@@ -25,14 +24,11 @@ var _useSetting = _interopRequireDefault(require("../use-setting"));
25
24
  * @return {Object} Color and gradient related settings.
26
25
  */
27
26
  function useMultipleOriginColorsAndGradients() {
27
+ const [enableCustomColors, customColors, themeColors, defaultColors, shouldDisplayDefaultColors, enableCustomGradients, customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients] = (0, _useSettings.useSettings)('color.custom', 'color.palette.custom', 'color.palette.theme', 'color.palette.default', 'color.defaultPalette', 'color.customGradient', 'color.gradients.custom', 'color.gradients.theme', 'color.gradients.default', 'color.defaultGradients');
28
28
  const colorGradientSettings = {
29
- disableCustomColors: !(0, _useSetting.default)('color.custom'),
30
- disableCustomGradients: !(0, _useSetting.default)('color.customGradient')
29
+ disableCustomColors: !enableCustomColors,
30
+ disableCustomGradients: !enableCustomGradients
31
31
  };
32
- const customColors = (0, _useSetting.default)('color.palette.custom');
33
- const themeColors = (0, _useSetting.default)('color.palette.theme');
34
- const defaultColors = (0, _useSetting.default)('color.palette.default');
35
- const shouldDisplayDefaultColors = (0, _useSetting.default)('color.defaultPalette');
36
32
  colorGradientSettings.colors = (0, _element.useMemo)(() => {
37
33
  const result = [];
38
34
  if (themeColors && themeColors.length) {
@@ -54,11 +50,7 @@ function useMultipleOriginColorsAndGradients() {
54
50
  });
55
51
  }
56
52
  return result;
57
- }, [defaultColors, themeColors, customColors, shouldDisplayDefaultColors]);
58
- const customGradients = (0, _useSetting.default)('color.gradients.custom');
59
- const themeGradients = (0, _useSetting.default)('color.gradients.theme');
60
- const defaultGradients = (0, _useSetting.default)('color.gradients.default');
61
- const shouldDisplayDefaultGradients = (0, _useSetting.default)('color.defaultGradients');
53
+ }, [customColors, themeColors, defaultColors, shouldDisplayDefaultColors]);
62
54
  colorGradientSettings.gradients = (0, _element.useMemo)(() => {
63
55
  const result = [];
64
56
  if (themeGradients && themeGradients.length) {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_useSetting","_interopRequireDefault","useMultipleOriginColorsAndGradients","colorGradientSettings","disableCustomColors","useSetting","disableCustomGradients","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","colors","useMemo","result","length","push","name","_x","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","gradients","hasColorsOrGradients"],"sources":["@wordpress/block-editor/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\n/**\n * Retrieves color and gradient related settings.\n *\n * The arrays for colors and gradients are made up of color palettes from each\n * origin i.e. \"Core\", \"Theme\", and \"User\".\n *\n * @return {Object} Color and gradient related settings.\n */\nexport default function useMultipleOriginColorsAndGradients() {\n\tconst colorGradientSettings = {\n\t\tdisableCustomColors: ! useSetting( 'color.custom' ),\n\t\tdisableCustomGradients: ! useSetting( 'color.customGradient' ),\n\t};\n\tconst customColors = useSetting( 'color.palette.custom' );\n\tconst themeColors = useSetting( 'color.palette.theme' );\n\tconst defaultColors = useSetting( 'color.palette.default' );\n\tconst shouldDisplayDefaultColors = useSetting( 'color.defaultPalette' );\n\n\tcolorGradientSettings.colors = 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 comes from the theme.'\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\tdefaultColors,\n\t\tthemeColors,\n\t\tcustomColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n\n\tconst customGradients = useSetting( 'color.gradients.custom' );\n\tconst themeGradients = useSetting( 'color.gradients.theme' );\n\tconst defaultGradients = useSetting( 'color.gradients.default' );\n\tconst shouldDisplayDefaultGradients = useSetting(\n\t\t'color.defaultGradients'\n\t);\n\tcolorGradientSettings.gradients = 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\tcolorGradientSettings.hasColorsOrGradients =\n\t\t!! colorGradientSettings.colors.length ||\n\t\t!! colorGradientSettings.gradients.length;\n\n\treturn colorGradientSettings;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_i18n","_useSettings","useMultipleOriginColorsAndGradients","enableCustomColors","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","enableCustomGradients","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","useSettings","colorGradientSettings","disableCustomColors","disableCustomGradients","colors","useMemo","result","length","push","name","_x","gradients","hasColorsOrGradients"],"sources":["@wordpress/block-editor/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\n/**\n * Retrieves color and gradient related settings.\n *\n * The arrays for colors and gradients are made up of color palettes from each\n * origin i.e. \"Core\", \"Theme\", and \"User\".\n *\n * @return {Object} Color and gradient related settings.\n */\nexport default function useMultipleOriginColorsAndGradients() {\n\tconst [\n\t\tenableCustomColors,\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t\tenableCustomGradients,\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] = useSettings(\n\t\t'color.custom',\n\t\t'color.palette.custom',\n\t\t'color.palette.theme',\n\t\t'color.palette.default',\n\t\t'color.defaultPalette',\n\t\t'color.customGradient',\n\t\t'color.gradients.custom',\n\t\t'color.gradients.theme',\n\t\t'color.gradients.default',\n\t\t'color.defaultGradients'\n\t);\n\n\tconst colorGradientSettings = {\n\t\tdisableCustomColors: ! enableCustomColors,\n\t\tdisableCustomGradients: ! enableCustomGradients,\n\t};\n\n\tcolorGradientSettings.colors = 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 comes from the theme.'\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\tcolorGradientSettings.gradients = 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\tcolorGradientSettings.hasColorsOrGradients =\n\t\t!! colorGradientSettings.colors.length ||\n\t\t!! colorGradientSettings.gradients.length;\n\n\treturn colorGradientSettings;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,YAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,mCAAmCA,CAAA,EAAG;EAC7D,MAAM,CACLC,kBAAkB,EAClBC,YAAY,EACZC,WAAW,EACXC,aAAa,EACbC,0BAA0B,EAC1BC,qBAAqB,EACrBC,eAAe,EACfC,cAAc,EACdC,gBAAgB,EAChBC,6BAA6B,CAC7B,GAAG,IAAAC,wBAAW,EACd,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,wBACD,CAAC;EAED,MAAMC,qBAAqB,GAAG;IAC7BC,mBAAmB,EAAE,CAAEZ,kBAAkB;IACzCa,sBAAsB,EAAE,CAAER;EAC3B,CAAC;EAEDM,qBAAqB,CAACG,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7C,MAAMC,MAAM,GAAG,EAAE;IACjB,IAAKd,WAAW,IAAIA,WAAW,CAACe,MAAM,EAAG;MACxCD,MAAM,CAACE,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,OAAO,EACP,8CACD,CAAC;QACDN,MAAM,EAAEZ;MACT,CAAE,CAAC;IACJ;IACA,IACCE,0BAA0B,IAC1BD,aAAa,IACbA,aAAa,CAACc,MAAM,EACnB;MACDD,MAAM,CAACE,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,SAAS,EACT,8CACD,CAAC;QACDN,MAAM,EAAEX;MACT,CAAE,CAAC;IACJ;IACA,IAAKF,YAAY,IAAIA,YAAY,CAACgB,MAAM,EAAG;MAC1CD,MAAM,CAACE,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,QAAQ,EACR,8CACD,CAAC;QACDN,MAAM,EAAEb;MACT,CAAE,CAAC;IACJ;IACA,OAAOe,MAAM;EACd,CAAC,EAAE,CACFf,YAAY,EACZC,WAAW,EACXC,aAAa,EACbC,0BAA0B,CACzB,CAAC;EAEHO,qBAAqB,CAACU,SAAS,GAAG,IAAAN,gBAAO,EAAE,MAAM;IAChD,MAAMC,MAAM,GAAG,EAAE;IACjB,IAAKT,cAAc,IAAIA,cAAc,CAACU,MAAM,EAAG;MAC9CD,MAAM,CAACE,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,OAAO,EACP,8CACD,CAAC;QACDC,SAAS,EAAEd;MACZ,CAAE,CAAC;IACJ;IACA,IACCE,6BAA6B,IAC7BD,gBAAgB,IAChBA,gBAAgB,CAACS,MAAM,EACtB;MACDD,MAAM,CAACE,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,SAAS,EACT,8CACD,CAAC;QACDC,SAAS,EAAEb;MACZ,CAAE,CAAC;IACJ;IACA,IAAKF,eAAe,IAAIA,eAAe,CAACW,MAAM,EAAG;MAChDD,MAAM,CAACE,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,QAAQ,EACR,gDACD,CAAC;QACDC,SAAS,EAAEf;MACZ,CAAE,CAAC;IACJ;IACA,OAAOU,MAAM;EACd,CAAC,EAAE,CACFV,eAAe,EACfC,cAAc,EACdC,gBAAgB,EAChBC,6BAA6B,CAC5B,CAAC;EAEHE,qBAAqB,CAACW,oBAAoB,GACzC,CAAC,CAAEX,qBAAqB,CAACG,MAAM,CAACG,MAAM,IACtC,CAAC,CAAEN,qBAAqB,CAACU,SAAS,CAACJ,MAAM;EAE1C,OAAON,qBAAqB;AAC7B"}
@@ -125,28 +125,6 @@ function DimensionsTool({
125
125
  }
126
126
  onChange(nextValue);
127
127
  }
128
- }), showScaleControl && (0, _react.createElement)(_scaleTool.default, {
129
- panelId: panelId,
130
- options: scaleOptions,
131
- defaultValue: defaultScale,
132
- value: lastScale,
133
- onChange: nextScale => {
134
- const nextValue = {
135
- ...value
136
- };
137
-
138
- // 'fill' is CSS default, so it gets treated as null.
139
- nextScale = nextScale === 'fill' ? null : nextScale;
140
- setLastScale(nextScale);
141
-
142
- // Update scale.
143
- if (!nextScale) {
144
- delete nextValue.scale;
145
- } else {
146
- nextValue.scale = nextScale;
147
- }
148
- onChange(nextValue);
149
- }
150
128
  }), (0, _react.createElement)(_widthHeightTool.default, {
151
129
  panelId: panelId,
152
130
  units: unitsOptions,
@@ -202,6 +180,28 @@ function DimensionsTool({
202
180
  }
203
181
  onChange(nextValue);
204
182
  }
183
+ }), showScaleControl && (0, _react.createElement)(_scaleTool.default, {
184
+ panelId: panelId,
185
+ options: scaleOptions,
186
+ defaultValue: defaultScale,
187
+ value: lastScale,
188
+ onChange: nextScale => {
189
+ const nextValue = {
190
+ ...value
191
+ };
192
+
193
+ // 'fill' is CSS default, so it gets treated as null.
194
+ nextScale = nextScale === 'fill' ? null : nextScale;
195
+ setLastScale(nextScale);
196
+
197
+ // Update scale.
198
+ if (!nextScale) {
199
+ delete nextValue.scale;
200
+ } else {
201
+ nextValue.scale = nextScale;
202
+ }
203
+ onChange(nextValue);
204
+ }
205
205
  }));
206
206
  }
207
207
  var _default = DimensionsTool;
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_aspectRatioTool","_interopRequireDefault","_scaleTool","_widthHeightTool","DimensionsTool","panelId","value","onChange","aspectRatioOptions","defaultAspectRatio","scaleOptions","defaultScale","unitsOptions","width","undefined","height","aspectRatio","scale","lastScale","setLastScale","useState","lastAspectRatio","setLastAspectRatio","aspectRatioValue","showScaleControl","_react","createElement","Fragment","default","options","defaultValue","nextAspectRatio","nextValue","nextScale","units","nextWidth","nextHeight","_default","exports"],"sources":["@wordpress/block-editor/src/components/dimensions-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioTool from './aspect-ratio-tool';\nimport ScaleTool from './scale-tool';\nimport WidthHeightTool from './width-height-tool';\n\n/**\n * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps\n */\n\n/**\n * @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit\n */\n\n/**\n * @typedef {Object} Dimensions\n * @property {string} [width] CSS width property.\n * @property {string} [height] CSS height property.\n * @property {string} [scale] CSS object-fit property.\n * @property {string} [aspectRatio] CSS aspect-ratio property.\n */\n\n/**\n * @callback DimensionsControlsOnChange\n * @param {Dimensions} nextValue\n * @return {void}\n */\n\n/**\n * @typedef {Object} DimensionsControlsProps\n * @property {string} [panelId] ID of the panel that contains the controls.\n * @property {Dimensions} [value] Current dimensions values.\n * @property {DimensionsControlsOnChange} [onChange] Callback to update the dimensions values.\n * @property {SelectControlProps[]} [aspectRatioOptions] Aspect ratio options.\n * @property {SelectControlProps[]} [scaleOptions] Scale options.\n * @property {WPUnitControlUnit[]} [unitsOptions] Units options.\n */\n\n/**\n * Component that renders controls to edit the dimensions of an image or container.\n *\n * @param {DimensionsControlsProps} props The component props.\n *\n * @return {Element} The dimensions controls.\n */\nfunction DimensionsTool( {\n\tpanelId,\n\tvalue = {},\n\tonChange = () => {},\n\taspectRatioOptions, // Default options handled by AspectRatioTool.\n\tdefaultAspectRatio = 'auto', // Match CSS default value for aspect-ratio.\n\tscaleOptions, // Default options handled by ScaleTool.\n\tdefaultScale = 'fill', // Match CSS default value for object-fit.\n\tunitsOptions, // Default options handled by UnitControl.\n} ) {\n\t// Coerce undefined and CSS default values to be null.\n\tconst width =\n\t\tvalue.width === undefined || value.width === 'auto'\n\t\t\t? null\n\t\t\t: value.width;\n\tconst height =\n\t\tvalue.height === undefined || value.height === 'auto'\n\t\t\t? null\n\t\t\t: value.height;\n\tconst aspectRatio =\n\t\tvalue.aspectRatio === undefined || value.aspectRatio === 'auto'\n\t\t\t? null\n\t\t\t: value.aspectRatio;\n\tconst scale =\n\t\tvalue.scale === undefined || value.scale === 'fill'\n\t\t\t? null\n\t\t\t: value.scale;\n\n\t// Keep track of state internally, so when the value is cleared by means\n\t// other than directly editing that field, it's easier to restore the\n\t// previous value.\n\tconst [ lastScale, setLastScale ] = useState( scale );\n\tconst [ lastAspectRatio, setLastAspectRatio ] = useState( aspectRatio );\n\n\t// 'custom' is not a valid value for CSS aspect-ratio, but it is used in the\n\t// dropdown to indicate that setting both the width and height is the same\n\t// as a custom aspect ratio.\n\tconst aspectRatioValue = width && height ? 'custom' : lastAspectRatio;\n\n\tconst showScaleControl = aspectRatio || ( width && height );\n\n\treturn (\n\t\t<>\n\t\t\t<AspectRatioTool\n\t\t\t\tpanelId={ panelId }\n\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\tdefaultValue={ defaultAspectRatio }\n\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\tonChange={ ( nextAspectRatio ) => {\n\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\tnextAspectRatio =\n\t\t\t\t\t\tnextAspectRatio === 'auto' ? null : nextAspectRatio;\n\n\t\t\t\t\tsetLastAspectRatio( nextAspectRatio );\n\n\t\t\t\t\t// Update aspectRatio.\n\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.aspectRatio = nextAspectRatio;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update width and height.\n\t\t\t\t\tif ( 'custom' !== nextAspectRatio && width && height ) {\n\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t}\n\n\t\t\t\t\tonChange( nextValue );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ScaleTool\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\toptions={ scaleOptions }\n\t\t\t\t\tdefaultValue={ defaultScale }\n\t\t\t\t\tvalue={ lastScale }\n\t\t\t\t\tonChange={ ( nextScale ) => {\n\t\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t\t// 'fill' is CSS default, so it gets treated as null.\n\t\t\t\t\t\tnextScale = nextScale === 'fill' ? null : nextScale;\n\n\t\t\t\t\t\tsetLastScale( nextScale );\n\n\t\t\t\t\t\t// Update scale.\n\t\t\t\t\t\tif ( ! nextScale ) {\n\t\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.scale = nextScale;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( nextValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<WidthHeightTool\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tunits={ unitsOptions }\n\t\t\t\tvalue={ { width, height } }\n\t\t\t\tonChange={ ( { width: nextWidth, height: nextHeight } ) => {\n\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\tnextWidth = nextWidth === 'auto' ? null : nextWidth;\n\t\t\t\t\tnextHeight = nextHeight === 'auto' ? null : nextHeight;\n\n\t\t\t\t\t// Update width.\n\t\t\t\t\tif ( ! nextWidth ) {\n\t\t\t\t\t\tdelete nextValue.width;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.width = nextWidth;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Update height.\n\t\t\t\t\tif ( ! nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.height = nextHeight;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update aspectRatio.\n\t\t\t\t\tif ( nextWidth && nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t} else if ( lastAspectRatio ) {\n\t\t\t\t\t\tnextValue.aspectRatio = lastAspectRatio;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No setting defaultAspectRatio here, because\n\t\t\t\t\t\t// aspectRatio is optional in this scenario,\n\t\t\t\t\t\t// unlike scale.\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\tif ( ! lastAspectRatio && !! nextWidth !== !! nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t}\n\n\t\t\t\t\tonChange( nextValue );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default DimensionsTool;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_aspectRatioTool","_interopRequireDefault","_scaleTool","_widthHeightTool","DimensionsTool","panelId","value","onChange","aspectRatioOptions","defaultAspectRatio","scaleOptions","defaultScale","unitsOptions","width","undefined","height","aspectRatio","scale","lastScale","setLastScale","useState","lastAspectRatio","setLastAspectRatio","aspectRatioValue","showScaleControl","_react","createElement","Fragment","default","options","defaultValue","nextAspectRatio","nextValue","units","nextWidth","nextHeight","nextScale","_default","exports"],"sources":["@wordpress/block-editor/src/components/dimensions-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioTool from './aspect-ratio-tool';\nimport ScaleTool from './scale-tool';\nimport WidthHeightTool from './width-height-tool';\n\n/**\n * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps\n */\n\n/**\n * @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit\n */\n\n/**\n * @typedef {Object} Dimensions\n * @property {string} [width] CSS width property.\n * @property {string} [height] CSS height property.\n * @property {string} [scale] CSS object-fit property.\n * @property {string} [aspectRatio] CSS aspect-ratio property.\n */\n\n/**\n * @callback DimensionsControlsOnChange\n * @param {Dimensions} nextValue\n * @return {void}\n */\n\n/**\n * @typedef {Object} DimensionsControlsProps\n * @property {string} [panelId] ID of the panel that contains the controls.\n * @property {Dimensions} [value] Current dimensions values.\n * @property {DimensionsControlsOnChange} [onChange] Callback to update the dimensions values.\n * @property {SelectControlProps[]} [aspectRatioOptions] Aspect ratio options.\n * @property {SelectControlProps[]} [scaleOptions] Scale options.\n * @property {WPUnitControlUnit[]} [unitsOptions] Units options.\n */\n\n/**\n * Component that renders controls to edit the dimensions of an image or container.\n *\n * @param {DimensionsControlsProps} props The component props.\n *\n * @return {Element} The dimensions controls.\n */\nfunction DimensionsTool( {\n\tpanelId,\n\tvalue = {},\n\tonChange = () => {},\n\taspectRatioOptions, // Default options handled by AspectRatioTool.\n\tdefaultAspectRatio = 'auto', // Match CSS default value for aspect-ratio.\n\tscaleOptions, // Default options handled by ScaleTool.\n\tdefaultScale = 'fill', // Match CSS default value for object-fit.\n\tunitsOptions, // Default options handled by UnitControl.\n} ) {\n\t// Coerce undefined and CSS default values to be null.\n\tconst width =\n\t\tvalue.width === undefined || value.width === 'auto'\n\t\t\t? null\n\t\t\t: value.width;\n\tconst height =\n\t\tvalue.height === undefined || value.height === 'auto'\n\t\t\t? null\n\t\t\t: value.height;\n\tconst aspectRatio =\n\t\tvalue.aspectRatio === undefined || value.aspectRatio === 'auto'\n\t\t\t? null\n\t\t\t: value.aspectRatio;\n\tconst scale =\n\t\tvalue.scale === undefined || value.scale === 'fill'\n\t\t\t? null\n\t\t\t: value.scale;\n\n\t// Keep track of state internally, so when the value is cleared by means\n\t// other than directly editing that field, it's easier to restore the\n\t// previous value.\n\tconst [ lastScale, setLastScale ] = useState( scale );\n\tconst [ lastAspectRatio, setLastAspectRatio ] = useState( aspectRatio );\n\n\t// 'custom' is not a valid value for CSS aspect-ratio, but it is used in the\n\t// dropdown to indicate that setting both the width and height is the same\n\t// as a custom aspect ratio.\n\tconst aspectRatioValue = width && height ? 'custom' : lastAspectRatio;\n\n\tconst showScaleControl = aspectRatio || ( width && height );\n\n\treturn (\n\t\t<>\n\t\t\t<AspectRatioTool\n\t\t\t\tpanelId={ panelId }\n\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\tdefaultValue={ defaultAspectRatio }\n\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\tonChange={ ( nextAspectRatio ) => {\n\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\tnextAspectRatio =\n\t\t\t\t\t\tnextAspectRatio === 'auto' ? null : nextAspectRatio;\n\n\t\t\t\t\tsetLastAspectRatio( nextAspectRatio );\n\n\t\t\t\t\t// Update aspectRatio.\n\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.aspectRatio = nextAspectRatio;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update width and height.\n\t\t\t\t\tif ( 'custom' !== nextAspectRatio && width && height ) {\n\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t}\n\n\t\t\t\t\tonChange( nextValue );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<WidthHeightTool\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tunits={ unitsOptions }\n\t\t\t\tvalue={ { width, height } }\n\t\t\t\tonChange={ ( { width: nextWidth, height: nextHeight } ) => {\n\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\tnextWidth = nextWidth === 'auto' ? null : nextWidth;\n\t\t\t\t\tnextHeight = nextHeight === 'auto' ? null : nextHeight;\n\n\t\t\t\t\t// Update width.\n\t\t\t\t\tif ( ! nextWidth ) {\n\t\t\t\t\t\tdelete nextValue.width;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.width = nextWidth;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Update height.\n\t\t\t\t\tif ( ! nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.height = nextHeight;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update aspectRatio.\n\t\t\t\t\tif ( nextWidth && nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t} else if ( lastAspectRatio ) {\n\t\t\t\t\t\tnextValue.aspectRatio = lastAspectRatio;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No setting defaultAspectRatio here, because\n\t\t\t\t\t\t// aspectRatio is optional in this scenario,\n\t\t\t\t\t\t// unlike scale.\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\tif ( ! lastAspectRatio && !! nextWidth !== !! nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t}\n\n\t\t\t\t\tonChange( nextValue );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ScaleTool\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\toptions={ scaleOptions }\n\t\t\t\t\tdefaultValue={ defaultScale }\n\t\t\t\t\tvalue={ lastScale }\n\t\t\t\t\tonChange={ ( nextScale ) => {\n\t\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t\t// 'fill' is CSS default, so it gets treated as null.\n\t\t\t\t\t\tnextScale = nextScale === 'fill' ? null : nextScale;\n\n\t\t\t\t\t\tsetLastScale( nextScale );\n\n\t\t\t\t\t\t// Update scale.\n\t\t\t\t\t\tif ( ! nextScale ) {\n\t\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.scale = nextScale;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( nextValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default DimensionsTool;\n"],"mappings":"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"}
@@ -99,7 +99,7 @@ function ScaleTool({
99
99
  help: scaleHelp[displayValue],
100
100
  value: displayValue,
101
101
  onChange: onChange,
102
- __nextHasNoMarginBottom: true
102
+ size: '__unstable-large'
103
103
  }, options.map(option => (0, _react.createElement)(_components.__experimentalToggleGroupControlOption, {
104
104
  key: option.value,
105
105
  ...option
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","DEFAULT_SCALE_OPTIONS","value","label","_x","help","__","ScaleTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","scaleHelp","useMemo","reduce","acc","option","_react","createElement","__experimentalToolsPanelItem","hasValue","onDeselect","__experimentalToggleGroupControl","isBlock","__nextHasNoMarginBottom","map","__experimentalToggleGroupControlOption","key"],"sources":["@wordpress/block-editor/src/components/dimensions-tool/scale-tool.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps\n */\n\n/**\n * The descriptions are purposely made generic as object-fit could be used for\n * any replaced element. Provide your own set of options if you need different\n * help text or labels.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element\n *\n * @type {SelectControlProps[]}\n */\nconst DEFAULT_SCALE_OPTIONS = [\n\t{\n\t\tvalue: 'fill',\n\t\tlabel: _x( 'Fill', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Fill the space by stretching the content.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Fit the content to the space without clipping.' ),\n\t},\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( \"Fill the space by clipping what doesn't fit.\" ),\n\t},\n\t{\n\t\tvalue: 'none',\n\t\tlabel: _x( 'None', 'Scale option for dimensions control' ),\n\t\thelp: __(\n\t\t\t'Do not adjust the sizing of the content. Content that is too large will be clipped, and content that is too small will have additional padding.'\n\t\t),\n\t},\n\t{\n\t\tvalue: 'scale-down',\n\t\tlabel: _x( 'Scale down', 'Scale option for dimensions control' ),\n\t\thelp: __(\n\t\t\t'Scale down the content to fit the space if it is too big. Content that is too small will have additional padding.'\n\t\t),\n\t},\n];\n\n/**\n * @callback ScaleToolPropsOnChange\n * @param {string} nextValue New scale value.\n * @return {void}\n */\n\n/**\n * @typedef {Object} ScaleToolProps\n * @property {string} [panelId] ID of the panel that contains the controls.\n * @property {string} [value] Current scale value.\n * @property {ScaleToolPropsOnChange} [onChange] Callback to update the scale value.\n * @property {SelectControlProps[]} [options] Scale options.\n * @property {string} [defaultValue] Default scale value.\n * @property {boolean} [showControl=true] Whether to show the control.\n * @property {boolean} [isShownByDefault=true] Whether the tool panel is shown by default.\n */\n\n/**\n * A tool to select the CSS object-fit property for the image.\n *\n * @param {ScaleToolProps} props\n *\n * @return {import('react').ReactElement} The scale tool.\n */\nexport default function ScaleTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SCALE_OPTIONS,\n\tdefaultValue = DEFAULT_SCALE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n} ) {\n\t// Match the CSS default so if the value is used directly in CSS it will look correct in the control.\n\tconst displayValue = value ?? 'fill';\n\n\tconst scaleHelp = useMemo( () => {\n\t\treturn options.reduce( ( acc, option ) => {\n\t\t\tacc[ option.value ] = option.help;\n\t\t\treturn acc;\n\t\t}, {} );\n\t}, [ options ] );\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tlabel={ __( 'Scale' ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Scale' ) }\n\t\t\t\tisBlock\n\t\t\t\thelp={ scaleHelp[ displayValue ] }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\tonChange={ onChange }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t{ ...option }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ToggleGroupControl>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_element","_i18n","DEFAULT_SCALE_OPTIONS","value","label","_x","help","__","ScaleTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","scaleHelp","useMemo","reduce","acc","option","_react","createElement","__experimentalToolsPanelItem","hasValue","onDeselect","__experimentalToggleGroupControl","isBlock","size","map","__experimentalToggleGroupControlOption","key"],"sources":["@wordpress/block-editor/src/components/dimensions-tool/scale-tool.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps\n */\n\n/**\n * The descriptions are purposely made generic as object-fit could be used for\n * any replaced element. Provide your own set of options if you need different\n * help text or labels.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element\n *\n * @type {SelectControlProps[]}\n */\nconst DEFAULT_SCALE_OPTIONS = [\n\t{\n\t\tvalue: 'fill',\n\t\tlabel: _x( 'Fill', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Fill the space by stretching the content.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Fit the content to the space without clipping.' ),\n\t},\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( \"Fill the space by clipping what doesn't fit.\" ),\n\t},\n\t{\n\t\tvalue: 'none',\n\t\tlabel: _x( 'None', 'Scale option for dimensions control' ),\n\t\thelp: __(\n\t\t\t'Do not adjust the sizing of the content. Content that is too large will be clipped, and content that is too small will have additional padding.'\n\t\t),\n\t},\n\t{\n\t\tvalue: 'scale-down',\n\t\tlabel: _x( 'Scale down', 'Scale option for dimensions control' ),\n\t\thelp: __(\n\t\t\t'Scale down the content to fit the space if it is too big. Content that is too small will have additional padding.'\n\t\t),\n\t},\n];\n\n/**\n * @callback ScaleToolPropsOnChange\n * @param {string} nextValue New scale value.\n * @return {void}\n */\n\n/**\n * @typedef {Object} ScaleToolProps\n * @property {string} [panelId] ID of the panel that contains the controls.\n * @property {string} [value] Current scale value.\n * @property {ScaleToolPropsOnChange} [onChange] Callback to update the scale value.\n * @property {SelectControlProps[]} [options] Scale options.\n * @property {string} [defaultValue] Default scale value.\n * @property {boolean} [showControl=true] Whether to show the control.\n * @property {boolean} [isShownByDefault=true] Whether the tool panel is shown by default.\n */\n\n/**\n * A tool to select the CSS object-fit property for the image.\n *\n * @param {ScaleToolProps} props\n *\n * @return {import('react').ReactElement} The scale tool.\n */\nexport default function ScaleTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SCALE_OPTIONS,\n\tdefaultValue = DEFAULT_SCALE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n} ) {\n\t// Match the CSS default so if the value is used directly in CSS it will look correct in the control.\n\tconst displayValue = value ?? 'fill';\n\n\tconst scaleHelp = useMemo( () => {\n\t\treturn options.reduce( ( acc, option ) => {\n\t\t\tacc[ option.value ] = option.help;\n\t\t\treturn acc;\n\t\t}, {} );\n\t}, [ options ] );\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tlabel={ __( 'Scale' ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Scale' ) }\n\t\t\t\tisBlock\n\t\t\t\thelp={ scaleHelp[ displayValue ] }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tsize={ '__unstable-large' }\n\t\t\t>\n\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t{ ...option }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ToggleGroupControl>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -8,7 +7,7 @@ exports.default = FontFamilyControl;
8
7
  var _react = require("react");
9
8
  var _components = require("@wordpress/components");
10
9
  var _i18n = require("@wordpress/i18n");
11
- var _useSetting = _interopRequireDefault(require("../use-setting"));
10
+ var _useSettings = require("../use-settings");
12
11
  /**
13
12
  * WordPress dependencies
14
13
  */
@@ -23,7 +22,7 @@ function FontFamilyControl({
23
22
  fontFamilies,
24
23
  ...props
25
24
  }) {
26
- const blockLevelFontFamilies = (0, _useSetting.default)('typography.fontFamilies');
25
+ const [blockLevelFontFamilies] = (0, _useSettings.useSettings)('typography.fontFamilies');
27
26
  if (!fontFamilies) {
28
27
  fontFamilies = blockLevelFontFamilies;
29
28
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_useSetting","_interopRequireDefault","FontFamilyControl","value","onChange","fontFamilies","props","blockLevelFontFamilies","useSetting","length","options","label","__","map","fontFamily","name","_react","createElement","SelectControl","labelPosition"],"sources":["@wordpress/block-editor/src/components/font-family/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nexport default function FontFamilyControl( {\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\t...props\n} ) {\n\tconst blockLevelFontFamilies = useSetting( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{ value: '', label: __( 'Default' ) },\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => {\n\t\t\treturn {\n\t\t\t\tvalue: fontFamily,\n\t\t\t\tlabel: name || fontFamily,\n\t\t\t};\n\t\t} ),\n\t];\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\toptions={ options }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASI,iBAAiBA,CAAE;EAC1CC,KAAK,GAAG,EAAE;EACVC,QAAQ;EACRC,YAAY;EACZ,GAAGC;AACJ,CAAC,EAAG;EACH,MAAMC,sBAAsB,GAAG,IAAAC,mBAAU,EAAE,yBAA0B,CAAC;EACtE,IAAK,CAAEH,YAAY,EAAG;IACrBA,YAAY,GAAGE,sBAAsB;EACtC;EAEA,IAAK,CAAEF,YAAY,IAAIA,YAAY,CAACI,MAAM,KAAK,CAAC,EAAG;IAClD,OAAO,IAAI;EACZ;EAEA,MAAMC,OAAO,GAAG,CACf;IAAEP,KAAK,EAAE,EAAE;IAAEQ,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU;EAAE,CAAC,EACrC,GAAGP,YAAY,CAACQ,GAAG,CAAE,CAAE;IAAEC,UAAU;IAAEC;EAAK,CAAC,KAAM;IAChD,OAAO;MACNZ,KAAK,EAAEW,UAAU;MACjBH,KAAK,EAAEI,IAAI,IAAID;IAChB,CAAC;EACF,CAAE,CAAC,CACH;EACD,OACC,IAAAE,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,aAAa;IACbP,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO,CAAG;IACtBF,OAAO,EAAGA,OAAS;IACnBP,KAAK,EAAGA,KAAO;IACfC,QAAQ,EAAGA,QAAU;IACrBe,aAAa,EAAC,KAAK;IAAA,GACdb;EAAK,CACV,CAAC;AAEJ"}
1
+ {"version":3,"names":["_components","require","_i18n","_useSettings","FontFamilyControl","value","onChange","fontFamilies","props","blockLevelFontFamilies","useSettings","length","options","label","__","map","fontFamily","name","_react","createElement","SelectControl","labelPosition"],"sources":["@wordpress/block-editor/src/components/font-family/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nexport default function FontFamilyControl( {\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\t...props\n} ) {\n\tconst [ blockLevelFontFamilies ] = useSettings( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{ value: '', label: __( 'Default' ) },\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => {\n\t\t\treturn {\n\t\t\t\tvalue: fontFamily,\n\t\t\t\tlabel: name || fontFamily,\n\t\t\t};\n\t\t} ),\n\t];\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\toptions={ options }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tlabelPosition=\"top\"\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,YAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,iBAAiBA,CAAE;EAC1CC,KAAK,GAAG,EAAE;EACVC,QAAQ;EACRC,YAAY;EACZ,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM,CAAEC,sBAAsB,CAAE,GAAG,IAAAC,wBAAW,EAAE,yBAA0B,CAAC;EAC3E,IAAK,CAAEH,YAAY,EAAG;IACrBA,YAAY,GAAGE,sBAAsB;EACtC;EAEA,IAAK,CAAEF,YAAY,IAAIA,YAAY,CAACI,MAAM,KAAK,CAAC,EAAG;IAClD,OAAO,IAAI;EACZ;EAEA,MAAMC,OAAO,GAAG,CACf;IAAEP,KAAK,EAAE,EAAE;IAAEQ,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU;EAAE,CAAC,EACrC,GAAGP,YAAY,CAACQ,GAAG,CAAE,CAAE;IAAEC,UAAU;IAAEC;EAAK,CAAC,KAAM;IAChD,OAAO;MACNZ,KAAK,EAAEW,UAAU;MACjBH,KAAK,EAAEI,IAAI,IAAID;IAChB,CAAC;EACF,CAAE,CAAC,CACH;EACD,OACC,IAAAE,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,aAAa;IACbP,KAAK,EAAG,IAAAC,QAAE,EAAE,MAAO,CAAG;IACtBF,OAAO,EAAGA,OAAS;IACnBP,KAAK,EAAGA,KAAO;IACfC,QAAQ,EAAGA,QAAU;IACrBe,aAAa,EAAC,KAAK;IAAA,GACdb;EAAK,CACV,CAAC;AAEJ"}
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
7
  var _react = require("react");
9
8
  var _components = require("@wordpress/components");
10
- var _useSetting = _interopRequireDefault(require("../use-setting"));
9
+ var _useSettings = require("../use-settings");
11
10
  /**
12
11
  * WordPress dependencies
13
12
  */
@@ -17,12 +16,11 @@ var _useSetting = _interopRequireDefault(require("../use-setting"));
17
16
  */
18
17
 
19
18
  function FontSizePicker(props) {
20
- const fontSizes = (0, _useSetting.default)('typography.fontSizes');
21
- const disableCustomFontSizes = !(0, _useSetting.default)('typography.customFontSize');
19
+ const [fontSizes, customFontSize] = (0, _useSettings.useSettings)('typography.fontSizes', 'typography.customFontSize');
22
20
  return (0, _react.createElement)(_components.FontSizePicker, {
23
21
  ...props,
24
22
  fontSizes: fontSizes,
25
- disableCustomFontSizes: disableCustomFontSizes
23
+ disableCustomFontSizes: !customFontSize
26
24
  });
27
25
  }
28
26
 
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_useSetting","_interopRequireDefault","FontSizePicker","props","fontSizes","useSetting","disableCustomFontSizes","_react","createElement","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/font-sizes/font-size-picker.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nfunction FontSizePicker( props ) {\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst disableCustomFontSizes = ! useSetting( 'typography.customFontSize' );\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md\n */\nexport default FontSizePicker;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,SAASG,cAAcA,CAAEC,KAAK,EAAG;EAChC,MAAMC,SAAS,GAAG,IAAAC,mBAAU,EAAE,sBAAuB,CAAC;EACtD,MAAMC,sBAAsB,GAAG,CAAE,IAAAD,mBAAU,EAAE,2BAA4B,CAAC;EAE1E,OACC,IAAAE,MAAA,CAAAC,aAAA,EAACV,WAAA,CAAAI,cAAkB;IAAA,GACbC,KAAK;IACVC,SAAS,EAAGA,SAAW;IACvBE,sBAAsB,EAAGA;EAAwB,CACjD,CAAC;AAEJ;;AAEA;AACA;AACA;AAFA,IAAAG,QAAA,GAGeP,cAAc;AAAAQ,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_components","require","_useSettings","FontSizePicker","props","fontSizes","customFontSize","useSettings","_react","createElement","disableCustomFontSizes","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/font-sizes/font-size-picker.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FontSizePicker as BaseFontSizePicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nfunction FontSizePicker( props ) {\n\tconst [ fontSizes, customFontSize ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.customFontSize'\n\t);\n\n\treturn (\n\t\t<BaseFontSizePicker\n\t\t\t{ ...props }\n\t\t\tfontSizes={ fontSizes }\n\t\t\tdisableCustomFontSizes={ ! customFontSize }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/font-sizes/README.md\n */\nexport default FontSizePicker;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,SAASE,cAAcA,CAAEC,KAAK,EAAG;EAChC,MAAM,CAAEC,SAAS,EAAEC,cAAc,CAAE,GAAG,IAAAC,wBAAW,EAChD,sBAAsB,EACtB,2BACD,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAG,cAAkB;IAAA,GACbC,KAAK;IACVC,SAAS,EAAGA,SAAW;IACvBK,sBAAsB,EAAG,CAAEJ;EAAgB,CAC3C,CAAC;AAEJ;;AAEA;AACA;AACA;AAFA,IAAAK,QAAA,GAGeR,cAAc;AAAAS,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -9,7 +8,7 @@ var _react = require("react");
9
8
  var _compose = require("@wordpress/compose");
10
9
  var _element = require("@wordpress/element");
11
10
  var _utils = require("./utils");
12
- var _useSetting = _interopRequireDefault(require("../use-setting"));
11
+ var _useSettings = require("../use-settings");
13
12
  /**
14
13
  * WordPress dependencies
15
14
  */
@@ -50,10 +49,10 @@ var _default = (...fontSizeNames) => {
50
49
  return fontSizeAttributeNamesAccumulator;
51
50
  }, {});
52
51
  return (0, _compose.createHigherOrderComponent)((0, _compose.compose)([(0, _compose.createHigherOrderComponent)(WrappedComponent => props => {
53
- const fontSizes = (0, _useSetting.default)('typography.fontSizes') || DEFAULT_FONT_SIZES;
52
+ const [fontSizes] = (0, _useSettings.useSettings)('typography.fontSizes');
54
53
  return (0, _react.createElement)(WrappedComponent, {
55
54
  ...props,
56
- fontSizes: fontSizes
55
+ fontSizes: fontSizes || DEFAULT_FONT_SIZES
57
56
  });
58
57
  }, 'withFontSizes'), WrappedComponent => {
59
58
  return class extends _element.Component {