@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 +1 @@
1
- {"version":3,"names":["_compose","require","_element","_utils","_useSetting","_interopRequireDefault","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","_default","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","createHigherOrderComponent","compose","WrappedComponent","props","fontSizes","useSetting","_react","createElement","Component","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","getFontSize","class","getFontSizeClass","render","exports","default"],"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAMK,kBAAkB,GAAG,EAAE;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,GAAGA,CAAE,CAAEC,WAAW,EAAE,GAAGC,IAAI,CAAE,KAC5CD,WAAW,CAACE,WAAW,CAAC,CAAC,GAAGD,IAAI,CAACE,IAAI,CAAE,EAAG,CAAC;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA,IAAAC,QAAA,GAUeA,CAAE,GAAGC,aAAa,KAAM;EACtC;AACD;AACA;AACA;AACA;EACC,MAAMC,sBAAsB,GAAGD,aAAa,CAACE,MAAM,CAClD,CAAEC,iCAAiC,EAAEC,qBAAqB,KAAM;IAC/DD,iCAAiC,CAChCC,qBAAqB,CACrB,GAAI,SAASV,UAAU,CAAEU,qBAAsB,CAAG,EAAC;IACpD,OAAOD,iCAAiC;EACzC,CAAC,EACD,CAAC,CACF,CAAC;EAED,OAAO,IAAAE,mCAA0B,EAChC,IAAAC,gBAAO,EAAE,CACR,IAAAD,mCAA0B,EACvBE,gBAAgB,IAAQC,KAAK,IAAM;IACpC,MAAMC,SAAS,GACd,IAAAC,mBAAU,EAAE,sBAAuB,CAAC,IACpCjB,kBAAkB;IACnB,OACC,IAAAkB,MAAA,CAAAC,aAAA,EAACL,gBAAgB;MAAA,GACXC,KAAK;MACVC,SAAS,EAAGA;IAAW,CACvB,CAAC;EAEJ,CAAC,EACD,eACD,CAAC,EACCF,gBAAgB,IAAM;IACvB,OAAO,cAAcM,kBAAS,CAAC;MAC9BC,WAAWA,CAAEN,KAAK,EAAG;QACpB,KAAK,CAAEA,KAAM,CAAC;QAEd,IAAI,CAACO,OAAO,GAAG,IAAI,CAACC,aAAa,CAAC,CAAC;QAEnC,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;MAChB;MAEAD,aAAaA,CAAA,EAAG;QACf,OAAOE,MAAM,CAACC,OAAO,CAAElB,sBAAuB,CAAC,CAACC,MAAM,CACrD,CACCkB,kBAAkB,EAClB,CACChB,qBAAqB,EACrBiB,2BAA2B,CAC3B,KACG;UACJ,MAAMC,+BAA+B,GACpC5B,UAAU,CAAEU,qBAAsB,CAAC;UACpCgB,kBAAkB,CAChB,MAAME,+BAAiC,EAAC,CACzC,GAAG,IAAI,CAACC,iBAAiB,CACzBnB,qBAAqB,EACrBiB,2BACD,CAAC;UACD,OAAOD,kBAAkB;QAC1B,CAAC,EACD,CAAC,CACF,CAAC;MACF;MAEAG,iBAAiBA,CAChBnB,qBAAqB,EACrBiB,2BAA2B,EAC1B;QACD,OAASG,aAAa,IAAM;UAC3B,MAAMC,cAAc,GAAG,IAAI,CAACjB,KAAK,CAACC,SAAS,EAAEiB,IAAI,CAChD,CAAE;YAAEC;UAAK,CAAC,KAAMA,IAAI,KAAKC,MAAM,CAAEJ,aAAc,CAChD,CAAC;UACD,IAAI,CAAChB,KAAK,CAACqB,aAAa,CAAE;YACzB,CAAEzB,qBAAqB,GACtBqB,cAAc,IAAIA,cAAc,CAACK,IAAI,GAClCL,cAAc,CAACK,IAAI,GACnBC,SAAS;YACb,CAAEV,2BAA2B,GAC5BI,cAAc,IAAIA,cAAc,CAACK,IAAI,GAClCC,SAAS,GACTP;UACL,CAAE,CAAC;QACJ,CAAC;MACF;MAEA,OAAOQ,wBAAwBA,CAC9B;QAAEC,UAAU;QAAExB;MAAU,CAAC,EACzByB,aAAa,EACZ;QACD,MAAMC,mBAAmB,GAAGA,CAC3Bd,2BAA2B,EAC3BjB,qBAAqB,KACjB;UACJ,IAAK8B,aAAa,CAAE9B,qBAAqB,CAAE,EAAG;YAC7C;YACA,IAAK6B,UAAU,CAAE7B,qBAAqB,CAAE,EAAG;cAC1C,OACC6B,UAAU,CAAE7B,qBAAqB,CAAE,KACnC8B,aAAa,CAAE9B,qBAAqB,CAAE,CACpC0B,IAAI;YAER;YACA;YACA,OACCI,aAAa,CAAE9B,qBAAqB,CAAE,CACpCuB,IAAI,KACNM,UAAU,CAAEZ,2BAA2B,CAAE;UAE3C;UACA;UACA,OAAO,IAAI;QACZ,CAAC;QAED,IACC,CAAEH,MAAM,CAACkB,MAAM,CAAEnC,sBAAuB,CAAC,CAACoC,IAAI,CAC7CF,mBACD,CAAC,EACA;UACD,OAAO,IAAI;QACZ;QAEA,MAAMG,QAAQ,GAAGpB,MAAM,CAACC,OAAO,CAC9BlB,sBACD,CAAC,CACCsC,MAAM,CAAE,CAAE,CAAEC,GAAG,EAAEC,KAAK,CAAE,KACxBN,mBAAmB,CAAEM,KAAK,EAAED,GAAI,CACjC,CAAC,CACAtC,MAAM,CACN,CACCwC,mBAAmB,EACnB,CACCtC,qBAAqB,EACrBiB,2BAA2B,CAC3B,KACG;UACJ,MAAMsB,sBAAsB,GAC3BV,UAAU,CAAE7B,qBAAqB,CAAE;UACpC,MAAMqB,cAAc,GAAG,IAAAmB,kBAAW,EACjCnC,SAAS,EACTkC,sBAAsB,EACtBV,UAAU,CACTZ,2BAA2B,CAE7B,CAAC;UACDqB,mBAAmB,CAClBtC,qBAAqB,CACrB,GAAG;YACH,GAAGqB,cAAc;YACjBoB,KAAK,EAAE,IAAAC,uBAAgB,EACtBH,sBACD;UACD,CAAC;UACD,OAAOD,mBAAmB;QAC3B,CAAC,EACD,CAAC,CACF,CAAC;QAEF,OAAO;UACN,GAAGR,aAAa;UAChB,GAAGI;QACJ,CAAC;MACF;MAEAS,MAAMA,CAAA,EAAG;QACR,OACC,IAAApC,MAAA,CAAAC,aAAA,EAACL,gBAAgB;UAEf,GAAG,IAAI,CAACC,KAAK;UACbC,SAAS,EAAEsB,SAAS;UACpB,GAAG,IAAI,CAACd,KAAK;UACb,GAAG,IAAI,CAACF;QAAO,CAEhB,CAAC;MAEJ;IACD,CAAC;EACF,CAAC,CACA,CAAC,EACH,eACD,CAAC;AACF,CAAC;AAAAiC,OAAA,CAAAC,OAAA,GAAAlD,QAAA"}
1
+ {"version":3,"names":["_compose","require","_element","_utils","_useSettings","DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","_default","fontSizeNames","fontSizeAttributeNames","reduce","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","createHigherOrderComponent","compose","WrappedComponent","props","fontSizes","useSettings","_react","createElement","Component","constructor","setters","createSetters","state","Object","entries","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","find","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","attributes","previousState","didAttributesChange","values","some","newState","filter","key","value","newStateAccumulator","fontSizeAttributeValue","getFontSize","class","getFontSizeClass","render","exports","default"],"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport { useSettings } from '../use-settings';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = fontSizeNames.reduce(\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes || DEFAULT_FONT_SIZES }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn Object.entries( fontSizeAttributeNames ).reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = this.props.fontSizes?.find(\n\t\t\t\t\t\t\t\t( { size } ) => size === Number( fontSizeValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! Object.values( fontSizeAttributeNames ).some(\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = Object.entries(\n\t\t\t\t\t\t\tfontSizeAttributeNames\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.filter( ( [ key, value ] ) =>\n\t\t\t\t\t\t\t\tdidAttributesChange( value, key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\t\tattributes[\n\t\t\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tnewStateAccumulator[\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"],"mappings":"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"}
@@ -37,11 +37,10 @@ function useMultiOriginColorPresets(settings, {
37
37
  return (0, _element.useMemo)(() => [...userPresets, ...themePresets, ...(disableDefault ? EMPTY_ARRAY : defaultPresets)], [disableDefault, userPresets, themePresets, defaultPresets]);
38
38
  }
39
39
  function useHasFiltersPanel(settings) {
40
- const hasDuotone = useHasDuotoneControl(settings);
41
- return hasDuotone;
40
+ return useHasDuotoneControl(settings);
42
41
  }
43
42
  function useHasDuotoneControl(settings) {
44
- return settings.color.customDuotone || settings.color.defaultDuotone;
43
+ return settings.color.customDuotone || settings.color.defaultDuotone || settings.color.duotone.length > 0;
45
44
  }
46
45
  function FiltersToolsPanel({
47
46
  resetAllFilter,
@@ -122,8 +121,6 @@ function FiltersPanel({
122
121
  };
123
122
  const hasDuotone = () => !!value?.filter?.duotone;
124
123
  const resetDuotone = () => setDuotone(undefined);
125
- const disableCustomColors = !settings?.color?.custom;
126
- const disableCustomDuotone = !settings?.color?.customDuotone || colorPalette?.length === 0 && disableCustomColors;
127
124
  const resetAllFilter = (0, _element.useCallback)(previousValue => {
128
125
  return {
129
126
  ...previousValue,
@@ -172,9 +169,11 @@ function FiltersPanel({
172
169
  paddingSize: "medium"
173
170
  }, (0, _react.createElement)(_components.__experimentalVStack, null, (0, _react.createElement)("p", null, (0, _i18n.__)('Create a two-tone color effect without losing your original image.')), (0, _react.createElement)(_components.DuotonePicker, {
174
171
  colorPalette: colorPalette,
175
- duotonePalette: duotonePalette,
176
- disableCustomColors: disableCustomColors,
177
- disableCustomDuotone: disableCustomDuotone,
172
+ duotonePalette: duotonePalette
173
+ // TODO: Re-enable both when custom colors are supported for block-level styles.
174
+ ,
175
+ disableCustomColors: true,
176
+ disableCustomDuotone: true,
178
177
  value: duotone,
179
178
  onChange: setDuotone
180
179
  })))
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_element","_utils","_object","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","hasDuotone","useHasDuotoneControl","customDuotone","defaultDuotone","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","duotone","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","setImmutably","resetDuotone","undefined","disableCustomColors","disableCustomDuotone","length","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","classnames","__experimentalItemGroup","isBordered","isSeparated","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","__experimentalVStack","DuotonePicker"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalVStack as VStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\tconst hasDuotone = useHasDuotoneControl( settings );\n\n\treturn hasDuotone;\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn settings.color.customDuotone || settings.color.defaultDuotone;\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst disableCustomColors = ! settings?.color?.custom;\n\tconst disableCustomDuotone =\n\t\t! settings?.color?.customDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_element","_utils","_object","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","setImmutably","hasDuotone","resetDuotone","undefined","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","classnames","__experimentalItemGroup","isBordered","isSeparated","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","__experimentalVStack","DuotonePicker","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalVStack as VStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
@@ -48,12 +48,12 @@ function ImageSettingsPanel({
48
48
  // Global Styles.
49
49
  , {
50
50
  hasValue: () => !!value?.lightbox,
51
- label: (0, _i18n.__)('Expand on Click'),
51
+ label: (0, _i18n.__)('Expand on click'),
52
52
  onDeselect: resetLightbox,
53
53
  isShownByDefault: true,
54
54
  panelId: panelId
55
55
  }, (0, _react.createElement)(_components.ToggleControl, {
56
- label: (0, _i18n.__)('Expand on Click'),
56
+ label: (0, _i18n.__)('Expand on click'),
57
57
  checked: lightboxChecked,
58
58
  onChange: onChangeLightbox
59
59
  }))));
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","useHasImageSettingsPanel","name","value","inheritedValue","lightbox","allowEditing","ImageSettingsPanel","onChange","panelId","resetLightbox","undefined","onChangeLightbox","newSetting","enabled","lightboxChecked","_react","createElement","Fragment","__experimentalToolsPanel","label","_x","resetAll","__experimentalToolsPanelItem","hasValue","__","onDeselect","isShownByDefault","ToggleControl","checked"],"sources":["@wordpress/block-editor/src/components/global-styles/image-settings-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nexport function useHasImageSettingsPanel( name, value, inheritedValue ) {\n\t// Note: If lightbox `value` exists, that means it was\n\t// defined via the the Global Styles UI and will NOT\n\t// be a boolean value or contain the `allowEditing` property,\n\t// so we should show the settings panel in those cases.\n\treturn (\n\t\t( name === 'core/image' && inheritedValue?.lightbox?.allowEditing ) ||\n\t\t!! value?.lightbox\n\t);\n}\n\nexport default function ImageSettingsPanel( {\n\tonChange,\n\tvalue,\n\tinheritedValue,\n\tpanelId,\n} ) {\n\tconst resetLightbox = () => {\n\t\tonChange( undefined );\n\t};\n\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\tonChange( {\n\t\t\tenabled: newSetting,\n\t\t} );\n\t};\n\n\tlet lightboxChecked = false;\n\n\tif ( inheritedValue?.lightbox?.enabled ) {\n\t\tlightboxChecked = inheritedValue.lightbox.enabled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ _x( 'Settings', 'Image settings' ) }\n\t\t\t\tresetAll={ resetLightbox }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t// We use the `userSettings` prop instead of `settings`, because `settings`\n\t\t\t\t\t// contains the core/theme values for the lightbox and we want to show the\n\t\t\t\t\t// \"RESET\" button ONLY when the user has explicitly set a value in the\n\t\t\t\t\t// Global Styles.\n\t\t\t\t\thasValue={ () => !! value?.lightbox }\n\t\t\t\t\tlabel={ __( 'Expand on Click' ) }\n\t\t\t\t\tonDeselect={ resetLightbox }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Expand on Click' ) }\n\t\t\t\t\t\tchecked={ lightboxChecked }\n\t\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAQO,SAASE,wBAAwBA,CAAEC,IAAI,EAAEC,KAAK,EAAEC,cAAc,EAAG;EACvE;EACA;EACA;EACA;EACA,OACGF,IAAI,KAAK,YAAY,IAAIE,cAAc,EAAEC,QAAQ,EAAEC,YAAY,IACjE,CAAC,CAAEH,KAAK,EAAEE,QAAQ;AAEpB;AAEe,SAASE,kBAAkBA,CAAE;EAC3CC,QAAQ;EACRL,KAAK;EACLC,cAAc;EACdK;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BF,QAAQ,CAAEG,SAAU,CAAC;EACtB,CAAC;EAED,MAAMC,gBAAgB,GAAKC,UAAU,IAAM;IAC1CL,QAAQ,CAAE;MACTM,OAAO,EAAED;IACV,CAAE,CAAC;EACJ,CAAC;EAED,IAAIE,eAAe,GAAG,KAAK;EAE3B,IAAKX,cAAc,EAAEC,QAAQ,EAAES,OAAO,EAAG;IACxCC,eAAe,GAAGX,cAAc,CAACC,QAAQ,CAACS,OAAO;EAClD;EAEA,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAqB,wBAAU;IACVC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAU,EAAE,gBAAiB,CAAG;IAC5CC,QAAQ,EAAGZ,aAAe;IAC1BD,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAyB;EACA;EACA;EACA;EACA;EAAA;IACAC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAErB,KAAK,EAAEE,QAAU;IACrCe,KAAK,EAAG,IAAAK,QAAE,EAAE,iBAAkB,CAAG;IACjCC,UAAU,EAAGhB,aAAe;IAC5BiB,gBAAgB,EAAG,IAAM;IACzBlB,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA8B,aAAa;IACbR,KAAK,EAAG,IAAAK,QAAE,EAAE,iBAAkB,CAAG;IACjCI,OAAO,EAAGd,eAAiB;IAC3BP,QAAQ,EAAGI;EAAkB,CAC7B,CACc,CACL,CACX,CAAC;AAEL"}
1
+ {"version":3,"names":["_components","require","_i18n","useHasImageSettingsPanel","name","value","inheritedValue","lightbox","allowEditing","ImageSettingsPanel","onChange","panelId","resetLightbox","undefined","onChangeLightbox","newSetting","enabled","lightboxChecked","_react","createElement","Fragment","__experimentalToolsPanel","label","_x","resetAll","__experimentalToolsPanelItem","hasValue","__","onDeselect","isShownByDefault","ToggleControl","checked"],"sources":["@wordpress/block-editor/src/components/global-styles/image-settings-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nexport function useHasImageSettingsPanel( name, value, inheritedValue ) {\n\t// Note: If lightbox `value` exists, that means it was\n\t// defined via the the Global Styles UI and will NOT\n\t// be a boolean value or contain the `allowEditing` property,\n\t// so we should show the settings panel in those cases.\n\treturn (\n\t\t( name === 'core/image' && inheritedValue?.lightbox?.allowEditing ) ||\n\t\t!! value?.lightbox\n\t);\n}\n\nexport default function ImageSettingsPanel( {\n\tonChange,\n\tvalue,\n\tinheritedValue,\n\tpanelId,\n} ) {\n\tconst resetLightbox = () => {\n\t\tonChange( undefined );\n\t};\n\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\tonChange( {\n\t\t\tenabled: newSetting,\n\t\t} );\n\t};\n\n\tlet lightboxChecked = false;\n\n\tif ( inheritedValue?.lightbox?.enabled ) {\n\t\tlightboxChecked = inheritedValue.lightbox.enabled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ _x( 'Settings', 'Image settings' ) }\n\t\t\t\tresetAll={ resetLightbox }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t// We use the `userSettings` prop instead of `settings`, because `settings`\n\t\t\t\t\t// contains the core/theme values for the lightbox and we want to show the\n\t\t\t\t\t// \"RESET\" button ONLY when the user has explicitly set a value in the\n\t\t\t\t\t// Global Styles.\n\t\t\t\t\thasValue={ () => !! value?.lightbox }\n\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\tonDeselect={ resetLightbox }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Expand on click' ) }\n\t\t\t\t\t\tchecked={ lightboxChecked }\n\t\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAQO,SAASE,wBAAwBA,CAAEC,IAAI,EAAEC,KAAK,EAAEC,cAAc,EAAG;EACvE;EACA;EACA;EACA;EACA,OACGF,IAAI,KAAK,YAAY,IAAIE,cAAc,EAAEC,QAAQ,EAAEC,YAAY,IACjE,CAAC,CAAEH,KAAK,EAAEE,QAAQ;AAEpB;AAEe,SAASE,kBAAkBA,CAAE;EAC3CC,QAAQ;EACRL,KAAK;EACLC,cAAc;EACdK;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BF,QAAQ,CAAEG,SAAU,CAAC;EACtB,CAAC;EAED,MAAMC,gBAAgB,GAAKC,UAAU,IAAM;IAC1CL,QAAQ,CAAE;MACTM,OAAO,EAAED;IACV,CAAE,CAAC;EACJ,CAAC;EAED,IAAIE,eAAe,GAAG,KAAK;EAE3B,IAAKX,cAAc,EAAEC,QAAQ,EAAES,OAAO,EAAG;IACxCC,eAAe,GAAGX,cAAc,CAACC,QAAQ,CAACS,OAAO;EAClD;EAEA,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAqB,wBAAU;IACVC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAU,EAAE,gBAAiB,CAAG;IAC5CC,QAAQ,EAAGZ,aAAe;IAC1BD,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAyB;EACA;EACA;EACA;EACA;EAAA;IACAC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAErB,KAAK,EAAEE,QAAU;IACrCe,KAAK,EAAG,IAAAK,QAAE,EAAE,iBAAkB,CAAG;IACjCC,UAAU,EAAGhB,aAAe;IAC5BiB,gBAAgB,EAAG,IAAM;IACzBlB,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA8B,aAAa;IACbR,KAAK,EAAG,IAAAK,QAAE,EAAE,iBAAkB,CAAG;IACjCI,OAAO,EAAGd,eAAiB;IAC3BP,QAAQ,EAAGI;EAAkB,CAC7B,CACc,CACL,CACX,CAAC;AAEL"}
@@ -51,7 +51,7 @@ function useHasFontSizeControl(settings) {
51
51
  function useHasFontFamilyControl(settings) {
52
52
  var _fontFamiliesPerOrigi, _fontFamiliesPerOrigi2, _fontFamiliesPerOrigi3;
53
53
  const fontFamiliesPerOrigin = settings?.typography?.fontFamilies;
54
- const fontFamilies = [].concat((_fontFamiliesPerOrigi = fontFamiliesPerOrigin?.custom) !== null && _fontFamiliesPerOrigi !== void 0 ? _fontFamiliesPerOrigi : []).concat((_fontFamiliesPerOrigi2 = fontFamiliesPerOrigin?.theme) !== null && _fontFamiliesPerOrigi2 !== void 0 ? _fontFamiliesPerOrigi2 : []).concat((_fontFamiliesPerOrigi3 = fontFamiliesPerOrigin?.default) !== null && _fontFamiliesPerOrigi3 !== void 0 ? _fontFamiliesPerOrigi3 : []).sort((a, b) => (a?.name || a?.slug).localeCompare(b?.name || a?.slug));
54
+ const fontFamilies = [].concat((_fontFamiliesPerOrigi = fontFamiliesPerOrigin?.custom) !== null && _fontFamiliesPerOrigi !== void 0 ? _fontFamiliesPerOrigi : []).concat((_fontFamiliesPerOrigi2 = fontFamiliesPerOrigin?.theme) !== null && _fontFamiliesPerOrigi2 !== void 0 ? _fontFamiliesPerOrigi2 : []).concat((_fontFamiliesPerOrigi3 = fontFamiliesPerOrigin?.default) !== null && _fontFamiliesPerOrigi3 !== void 0 ? _fontFamiliesPerOrigi3 : []).sort((a, b) => (a?.name || a?.slug)?.localeCompare(b?.name || a?.slug));
55
55
  return !!fontFamilies?.length;
56
56
  }
57
57
  function useHasLineHeightControl(settings) {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_fontFamily","_interopRequireDefault","_fontAppearanceControl","_lineHeightControl","_letterSpacingControl","_textTransformControl","_textDecorationControl","_writingModeControl","_utils","_object","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","_settings$typography$","_fontSizesPerOrigin$c","_fontSizesPerOrigin$t","_fontSizesPerOrigin$d","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","concat","custom","theme","default","length","_fontFamiliesPerOrigi","_fontFamiliesPerOrigi2","_fontFamiliesPerOrigi3","fontFamiliesPerOrigin","fontFamilies","sort","a","b","name","slug","localeCompare","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","__","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getUniqueFontSizesBySlug","_settings$typography$2","_fontSizesPerOrigin$c2","_fontSizesPerOrigin$t2","_fontSizesPerOrigin$d2","reduce","acc","currentSize","some","push","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","_fontFamiliesPerOrigi4","_fontFamiliesPerOrigi5","_fontFamiliesPerOrigi6","decodeValue","rawValue","getValueFromVariable","hasFontFamilyEnabled","setFontFamily","newValue","find","f","setImmutably","undefined","resetFontFamily","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","FontSizePicker","withReset","withSlider","className","__unstableInputWidth","__experimentalNumberControl","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] )\n\t\t.sort( ( a, b ) =>\n\t\t\t( a?.name || a?.slug ).localeCompare( b?.name || a?.slug )\n\t\t);\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction getUniqueFontSizesBySlug( settings ) {\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\n\treturn fontSizes.reduce( ( acc, currentSize ) => {\n\t\tif ( ! acc.some( ( { slug } ) => slug === currentSize.slug ) ) {\n\t\t\tacc.push( currentSize );\n\t\t}\n\t\treturn acc;\n\t}, [] );\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizes = getUniqueFontSizesBySlug( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_fontFamily","_interopRequireDefault","_fontAppearanceControl","_lineHeightControl","_letterSpacingControl","_textTransformControl","_textDecorationControl","_writingModeControl","_utils","_object","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","_settings$typography$","_fontSizesPerOrigin$c","_fontSizesPerOrigin$t","_fontSizesPerOrigin$d","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","concat","custom","theme","default","length","_fontFamiliesPerOrigi","_fontFamiliesPerOrigi2","_fontFamiliesPerOrigi3","fontFamiliesPerOrigin","fontFamilies","sort","a","b","name","slug","localeCompare","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","__","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getUniqueFontSizesBySlug","_settings$typography$2","_fontSizesPerOrigin$c2","_fontSizesPerOrigin$t2","_fontSizesPerOrigin$d2","reduce","acc","currentSize","some","push","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","label","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","_fontFamiliesPerOrigi4","_fontFamiliesPerOrigi5","_fontFamiliesPerOrigi6","decodeValue","rawValue","getValueFromVariable","hasFontFamilyEnabled","setFontFamily","newValue","find","f","setImmutably","undefined","resetFontFamily","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","FontSizePicker","withReset","withSlider","className","__unstableInputWidth","__experimentalNumberControl","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] )\n\t\t.sort( ( a, b ) =>\n\t\t\t( a?.name || a?.slug )?.localeCompare( b?.name || a?.slug )\n\t\t);\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction getUniqueFontSizesBySlug( settings ) {\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\n\treturn fontSizes.reduce( ( acc, currentSize ) => {\n\t\tif ( ! acc.some( ( { slug } ) => slug === currentSize.slug ) ) {\n\t\t\tacc.push( currentSize );\n\t\t}\n\t\treturn acc;\n\t}, [] );\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizes = getUniqueFontSizesBySlug( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,kBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,qBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,qBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,sBAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,mBAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAvBA;AACA;AACA;;AAUA;AACA;AACA;;AAWA,MAAMa,gBAAgB,GAAG,CAAC;AAC1B,MAAMC,gBAAgB,GAAG,CAAC;AAEnB,SAASC,qBAAqBA,CAAEC,QAAQ,EAAG;EACjD,MAAMC,aAAa,GAAGC,uBAAuB,CAAEF,QAAS,CAAC;EACzD,MAAMG,aAAa,GAAGC,uBAAuB,CAAEJ,QAAS,CAAC;EACzD,MAAMK,iBAAiB,GAAGC,uBAAuB,CAAEN,QAAS,CAAC;EAC7D,MAAMO,gBAAgB,GAAGC,0BAA0B,CAAER,QAAS,CAAC;EAC/D,MAAMS,gBAAgB,GAAGC,0BAA0B,CAAEV,QAAS,CAAC;EAC/D,MAAMW,iBAAiB,GAAGC,2BAA2B,CAAEZ,QAAS,CAAC;EACjE,MAAMa,cAAc,GAAGC,wBAAwB,CAAEd,QAAS,CAAC;EAC3D,MAAMe,cAAc,GAAGC,wBAAwB,CAAEhB,QAAS,CAAC;EAC3D,MAAMiB,WAAW,GAAGC,qBAAqB,CAAElB,QAAS,CAAC;EAErD,OACCC,aAAa,IACbE,aAAa,IACbE,iBAAiB,IACjBE,gBAAgB,IAChBE,gBAAgB,IAChBQ,WAAW,IACXN,iBAAiB,IACjBE,cAAc,IACdE,cAAc;AAEhB;AAEA,SAASG,qBAAqBA,CAAElB,QAAQ,EAAG;EAAA,IAAAmB,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EAC1C,MAAMC,sBAAsB,GAAG,CAAEvB,QAAQ,EAAEwB,UAAU,EAAEC,cAAc;EACrE,MAAMC,kBAAkB,IAAAP,qBAAA,GAAGnB,QAAQ,EAAEwB,UAAU,EAAEG,SAAS,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EAChE,MAAMQ,SAAS,GAAG,EAAE,CAClBC,MAAM,EAAAR,qBAAA,GAAEM,kBAAkB,EAAEG,MAAM,cAAAT,qBAAA,cAAAA,qBAAA,GAAI,EAAG,CAAC,CAC1CQ,MAAM,EAAAP,qBAAA,GAAEK,kBAAkB,EAAEI,KAAK,cAAAT,qBAAA,cAAAA,qBAAA,GAAI,EAAG,CAAC,CACzCO,MAAM,EAAAN,qBAAA,GAAEI,kBAAkB,CAACK,OAAO,cAAAT,qBAAA,cAAAA,qBAAA,GAAI,EAAG,CAAC;EAC5C,OAAO,CAAC,CAAEK,SAAS,EAAEK,MAAM,IAAI,CAAET,sBAAsB;AACxD;AAEA,SAASrB,uBAAuBA,CAAEF,QAAQ,EAAG;EAAA,IAAAiC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAC5C,MAAMC,qBAAqB,GAAGpC,QAAQ,EAAEwB,UAAU,EAAEa,YAAY;EAChE,MAAMA,YAAY,GAAG,EAAE,CACrBT,MAAM,EAAAK,qBAAA,GAAEG,qBAAqB,EAAEP,MAAM,cAAAI,qBAAA,cAAAA,qBAAA,GAAI,EAAG,CAAC,CAC7CL,MAAM,EAAAM,sBAAA,GAAEE,qBAAqB,EAAEN,KAAK,cAAAI,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC,CAC5CN,MAAM,EAAAO,sBAAA,GAAEC,qBAAqB,EAAEL,OAAO,cAAAI,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC,CAC9CG,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KACZ,CAAED,CAAC,EAAEE,IAAI,IAAIF,CAAC,EAAEG,IAAI,GAAIC,aAAa,CAAEH,CAAC,EAAEC,IAAI,IAAIF,CAAC,EAAEG,IAAK,CAC3D,CAAC;EACF,OAAO,CAAC,CAAEL,YAAY,EAAEL,MAAM;AAC/B;AAEA,SAAS5B,uBAAuBA,CAAEJ,QAAQ,EAAG;EAC5C,OAAOA,QAAQ,EAAEwB,UAAU,EAAEoB,UAAU;AACxC;AAEA,SAAStC,uBAAuBA,CAAEN,QAAQ,EAAG;EAC5C,MAAM6C,aAAa,GAAG7C,QAAQ,EAAEwB,UAAU,EAAEsB,SAAS;EACrD,MAAMC,cAAc,GAAG/C,QAAQ,EAAEwB,UAAU,EAAEwB,UAAU;EACvD,OAAOH,aAAa,IAAIE,cAAc;AACvC;AAEA,SAASE,yBAAyBA,CAAEjD,QAAQ,EAAG;EAC9C,MAAM6C,aAAa,GAAG7C,QAAQ,EAAEwB,UAAU,EAAEsB,SAAS;EACrD,MAAMC,cAAc,GAAG/C,QAAQ,EAAEwB,UAAU,EAAEwB,UAAU;EACvD,IAAK,CAAEH,aAAa,EAAG;IACtB,OAAO,IAAAK,QAAE,EAAE,aAAc,CAAC;EAC3B;EACA,IAAK,CAAEH,cAAc,EAAG;IACvB,OAAO,IAAAG,QAAE,EAAE,YAAa,CAAC;EAC1B;EACA,OAAO,IAAAA,QAAE,EAAE,YAAa,CAAC;AAC1B;AAEA,SAAS1C,0BAA0BA,CAAER,QAAQ,EAAG;EAC/C,OAAOA,QAAQ,EAAEwB,UAAU,EAAE2B,aAAa;AAC3C;AAEA,SAASzC,0BAA0BA,CAAEV,QAAQ,EAAG;EAC/C,OAAOA,QAAQ,EAAEwB,UAAU,EAAE4B,aAAa;AAC3C;AAEA,SAASxC,2BAA2BA,CAAEZ,QAAQ,EAAG;EAChD,OAAOA,QAAQ,EAAEwB,UAAU,EAAE6B,cAAc;AAC5C;AAEA,SAASvC,wBAAwBA,CAAEd,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,EAAEwB,UAAU,EAAE8B,WAAW;AACzC;AAEA,SAAStC,wBAAwBA,CAAEhB,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,EAAEwB,UAAU,EAAE+B,WAAW;AACzC;AAEA,SAASC,wBAAwBA,CAAExD,QAAQ,EAAG;EAAA,IAAAyD,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAC7C,MAAMlC,kBAAkB,IAAA+B,sBAAA,GAAGzD,QAAQ,EAAEwB,UAAU,EAAEG,SAAS,cAAA8B,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;EAChE,MAAM9B,SAAS,GAAG,EAAE,CAClBC,MAAM,EAAA8B,sBAAA,GAAEhC,kBAAkB,EAAEG,MAAM,cAAA6B,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC,CAC1C9B,MAAM,EAAA+B,sBAAA,GAAEjC,kBAAkB,EAAEI,KAAK,cAAA6B,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC,CACzC/B,MAAM,EAAAgC,sBAAA,GAAElC,kBAAkB,CAACK,OAAO,cAAA6B,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC;EAE5C,OAAOjC,SAAS,CAACkC,MAAM,CAAE,CAAEC,GAAG,EAAEC,WAAW,KAAM;IAChD,IAAK,CAAED,GAAG,CAACE,IAAI,CAAE,CAAE;MAAEtB;IAAK,CAAC,KAAMA,IAAI,KAAKqB,WAAW,CAACrB,IAAK,CAAC,EAAG;MAC9DoB,GAAG,CAACG,IAAI,CAAEF,WAAY,CAAC;IACxB;IACA,OAAOD,GAAG;EACX,CAAC,EAAE,EAAG,CAAC;AACR;AAEA,SAASI,oBAAoBA,CAAE;EAC9BC,cAAc;EACdC,QAAQ;EACRC,KAAK;EACLC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACtB,MAAMC,YAAY,GAAGN,cAAc,CAAEE,KAAM,CAAC;IAC5CD,QAAQ,CAAEK,YAAa,CAAC;EACzB,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAA6F,wBAAU;IACVC,KAAK,EAAG,IAAA3B,QAAE,EAAE,YAAa,CAAG;IAC5BsB,QAAQ,EAAGA,QAAU;IACrBF,OAAO,EAAGA;EAAS,GAEjBC,QACS,CAAC;AAEf;AAEA,MAAMO,gBAAgB,GAAG;EACxBC,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,IAAI;EACdC,cAAc,EAAE,IAAI;EACpBrC,UAAU,EAAE,IAAI;EAChBO,aAAa,EAAE,IAAI;EACnBC,aAAa,EAAE,IAAI;EACnBC,cAAc,EAAE,IAAI;EACpBC,WAAW,EAAE,IAAI;EACjBC,WAAW,EAAE;AACd,CAAC;AAEc,SAAS2B,eAAeA,CAAE;EACxCC,EAAE,EAAEC,OAAO,GAAGlB,oBAAoB;EAClCG,KAAK;EACLD,QAAQ;EACRiB,cAAc,GAAGhB,KAAK;EACtBrE,QAAQ;EACRsE,OAAO;EACPgB,eAAe,GAAGR;AACnB,CAAC,EAAG;EAAA,IAAAS,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACH,MAAMC,WAAW,GAAKC,QAAQ,IAC7B,IAAAC,2BAAoB,EAAE;IAAE5F;EAAS,CAAC,EAAE,EAAE,EAAE2F,QAAS,CAAC;;EAEnD;EACA,MAAME,oBAAoB,GAAG3F,uBAAuB,CAAEF,QAAS,CAAC;EAChE,MAAMoC,qBAAqB,GAAGpC,QAAQ,EAAEwB,UAAU,EAAEa,YAAY;EAChE,MAAMA,YAAY,GAAG,EAAE,CACrBT,MAAM,EAAA2D,sBAAA,GAAEnD,qBAAqB,EAAEP,MAAM,cAAA0D,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC,CAC7C3D,MAAM,EAAA4D,sBAAA,GAAEpD,qBAAqB,EAAEN,KAAK,cAAA0D,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC,CAC5C5D,MAAM,EAAA6D,sBAAA,GAAErD,qBAAqB,EAAEL,OAAO,cAAA0D,sBAAA,cAAAA,sBAAA,GAAI,EAAG,CAAC;EAChD,MAAMV,UAAU,GAAGW,WAAW,CAAEL,cAAc,EAAE7D,UAAU,EAAEuD,UAAW,CAAC;EACxE,MAAMe,aAAa,GAAKC,QAAQ,IAAM;IACrC,MAAMrD,IAAI,GAAGL,YAAY,EAAE2D,IAAI,CAC9B,CAAE;MAAEjB,UAAU,EAAEkB;IAAE,CAAC,KAAMA,CAAC,KAAKF,QAChC,CAAC,EAAErD,IAAI;IACP0B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,YAAY,CAAE,EAC9B3B,IAAI,GACA,0BAA0BA,IAAM,EAAC,GAClCqD,QAAQ,IAAII,SAChB,CACD,CAAC;EACF,CAAC;EACD,MAAMlG,aAAa,GAAGA,CAAA,KAAM,CAAC,CAAEoE,KAAK,EAAE7C,UAAU,EAAEuD,UAAU;EAC5D,MAAMqB,eAAe,GAAGA,CAAA,KAAMN,aAAa,CAAEK,SAAU,CAAC;;EAExD;EACA,MAAME,kBAAkB,GAAGnF,qBAAqB,CAAElB,QAAS,CAAC;EAC5D,MAAMuB,sBAAsB,GAAG,CAAEvB,QAAQ,EAAEwB,UAAU,EAAEC,cAAc;EACrE,MAAME,SAAS,GAAG6B,wBAAwB,CAAExD,QAAS,CAAC;EAEtD,MAAMgF,QAAQ,GAAGU,WAAW,CAAEL,cAAc,EAAE7D,UAAU,EAAEwD,QAAS,CAAC;EACpE,MAAMsB,WAAW,GAAGA,CAAEP,QAAQ,EAAEQ,QAAQ,KAAM;IAC7C,MAAMC,WAAW,GAAG,CAAC,CAAED,QAAQ,EAAE7D,IAAI,GACjC,wBAAwB6D,QAAQ,EAAE7D,IAAM,EAAC,GAC1CqD,QAAQ;IAEX3B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,UAAU,CAAE,EAC5BmC,WAAW,IAAIL,SAChB,CACD,CAAC;EACF,CAAC;EACD,MAAMlF,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAEoD,KAAK,EAAE7C,UAAU,EAAEwD,QAAQ;EACxD,MAAMyB,aAAa,GAAGA,CAAA,KAAMH,WAAW,CAAEH,SAAU,CAAC;;EAEpD;EACA,MAAMO,oBAAoB,GAAGpG,uBAAuB,CAAEN,QAAS,CAAC;EAChE,MAAM2G,sBAAsB,GAAG1D,yBAAyB,CAAEjD,QAAS,CAAC;EACpE,MAAM6C,aAAa,GAAG7C,QAAQ,EAAEwB,UAAU,EAAEsB,SAAS;EACrD,MAAMC,cAAc,GAAG/C,QAAQ,EAAEwB,UAAU,EAAEwB,UAAU;EACvD,MAAMF,SAAS,GAAG4C,WAAW,CAAEL,cAAc,EAAE7D,UAAU,EAAEsB,SAAU,CAAC;EACtE,MAAME,UAAU,GAAG0C,WAAW,CAAEL,cAAc,EAAE7D,UAAU,EAAEwB,UAAW,CAAC;EACxE,MAAM4D,iBAAiB,GAAGA,CAAE;IAC3B9D,SAAS,EAAE+D,YAAY;IACvB7D,UAAU,EAAE8D;EACb,CAAC,KAAM;IACN1C,QAAQ,CAAE;MACT,GAAGC,KAAK;MACR7C,UAAU,EAAE;QACX,GAAG6C,KAAK,EAAE7C,UAAU;QACpBsB,SAAS,EAAE+D,YAAY,IAAIV,SAAS;QACpCnD,UAAU,EAAE8D,aAAa,IAAIX;MAC9B;IACD,CAAE,CAAC;EACJ,CAAC;EACD,MAAM9F,iBAAiB,GAAGA,CAAA,KACzB,CAAC,CAAEgE,KAAK,EAAE7C,UAAU,EAAEsB,SAAS,IAAI,CAAC,CAAEuB,KAAK,EAAE7C,UAAU,EAAEwB,UAAU;EACpE,MAAM+D,mBAAmB,GAAGA,CAAA,KAAM;IACjCH,iBAAiB,CAAE,CAAC,CAAE,CAAC;EACxB,CAAC;;EAED;EACA,MAAMI,oBAAoB,GAAG5G,uBAAuB,CAAEJ,QAAS,CAAC;EAChE,MAAM4C,UAAU,GAAG8C,WAAW,CAAEL,cAAc,EAAE7D,UAAU,EAAEoB,UAAW,CAAC;EACxE,MAAMqE,aAAa,GAAKlB,QAAQ,IAAM;IACrC3B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,YAAY,CAAE,EAC9B0B,QAAQ,IAAII,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMhG,aAAa,GAAGA,CAAA,KAAMkE,KAAK,EAAE7C,UAAU,EAAEoB,UAAU,KAAKuD,SAAS;EACvE,MAAMe,eAAe,GAAGA,CAAA,KAAMD,aAAa,CAAEd,SAAU,CAAC;;EAExD;EACA,MAAMgB,uBAAuB,GAAG3G,0BAA0B,CAAER,QAAS,CAAC;EACtE,MAAMmD,aAAa,GAAGuC,WAAW,CAChCL,cAAc,EAAE7D,UAAU,EAAE2B,aAC7B,CAAC;EACD,MAAMiE,gBAAgB,GAAKrB,QAAQ,IAAM;IACxC3B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,eAAe,CAAE,EACjC0B,QAAQ,IAAII,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAM5F,gBAAgB,GAAGA,CAAA,KAAM,CAAC,CAAE8D,KAAK,EAAE7C,UAAU,EAAE2B,aAAa;EAClE,MAAMkE,kBAAkB,GAAGA,CAAA,KAAMD,gBAAgB,CAAEjB,SAAU,CAAC;;EAE9D;EACA,MAAMmB,qBAAqB,GAAGtG,wBAAwB,CAAEhB,QAAS,CAAC;EAClE,MAAMuD,WAAW,GAAGmC,WAAW,CAAEL,cAAc,EAAE7D,UAAU,EAAE+B,WAAY,CAAC;EAC1E,MAAMgE,cAAc,GAAKxB,QAAQ,IAAM;IACtC3B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B0B,QAAQ,IAAII,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMpF,cAAc,GAAGA,CAAA,KAAM,CAAC,CAAEsD,KAAK,EAAE7C,UAAU,EAAE+B,WAAW;EAC9D,MAAMiE,gBAAgB,GAAGA,CAAA,KAAMD,cAAc,CAAEpB,SAAU,CAAC;;EAE1D;EACA,MAAMsB,uBAAuB,GAAG/G,0BAA0B,CAAEV,QAAS,CAAC;EACtE,MAAMoD,aAAa,GAAGsC,WAAW,CAChCL,cAAc,EAAE7D,UAAU,EAAE4B,aAC7B,CAAC;EACD,MAAMsE,gBAAgB,GAAK3B,QAAQ,IAAM;IACxC3B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,eAAe,CAAE,EACjC0B,QAAQ,IAAII,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAM1F,gBAAgB,GAAGA,CAAA,KAAM,CAAC,CAAE4D,KAAK,EAAE7C,UAAU,EAAE4B,aAAa;EAClE,MAAMuE,kBAAkB,GAAGA,CAAA,KAAMD,gBAAgB,CAAEvB,SAAU,CAAC;;EAE9D;EACA,MAAMyB,wBAAwB,GAAGhH,2BAA2B,CAAEZ,QAAS,CAAC;EACxE,MAAMqD,cAAc,GAAGqC,WAAW,CACjCL,cAAc,EAAE7D,UAAU,EAAE6B,cAC7B,CAAC;EACD,MAAMwE,iBAAiB,GAAK9B,QAAQ,IAAM;IACzC3B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,gBAAgB,CAAE,EAClC0B,QAAQ,IAAII,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMxF,iBAAiB,GAAGA,CAAA,KAAM,CAAC,CAAE0D,KAAK,EAAE7C,UAAU,EAAE6B,cAAc;EACpE,MAAMyE,mBAAmB,GAAGA,CAAA,KAAMD,iBAAiB,CAAE1B,SAAU,CAAC;;EAEhE;EACA,MAAM4B,qBAAqB,GAAGjH,wBAAwB,CAAEd,QAAS,CAAC;EAClE,MAAMsD,WAAW,GAAGoC,WAAW,CAAEL,cAAc,EAAE7D,UAAU,EAAE8B,WAAY,CAAC;EAC1E,MAAM0E,cAAc,GAAKjC,QAAQ,IAAM;IACtC3B,QAAQ,CACP,IAAA8B,oBAAY,EACX7B,KAAK,EACL,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B0B,QAAQ,IAAII,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMtF,cAAc,GAAGA,CAAA,KAAM,CAAC,CAAEwD,KAAK,EAAE7C,UAAU,EAAE8B,WAAW;EAC9D,MAAM2E,gBAAgB,GAAGA,CAAA,KAAMD,cAAc,CAAE7B,SAAU,CAAC;EAE1D,MAAMhC,cAAc,GAAG,IAAA+D,oBAAW,EAAIC,aAAa,IAAM;IACxD,OAAO;MACN,GAAGA,aAAa;MAChB3G,UAAU,EAAE,CAAC;IACd,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAkD,MAAA,CAAAC,aAAA,EAACS,OAAO;IACPjB,cAAc,EAAGA,cAAgB;IACjCE,KAAK,EAAGA,KAAO;IACfD,QAAQ,EAAGA,QAAU;IACrBE,OAAO,EAAGA;EAAS,GAEjBuB,oBAAoB,IACrB,IAAAnB,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdvD,KAAK,EAAG,IAAA3B,QAAE,EAAE,aAAc,CAAG;IAC7BmF,QAAQ,EAAGpI,aAAe;IAC1BqI,UAAU,EAAGlC,eAAiB;IAC9BmC,gBAAgB,EAAGjD,eAAe,CAACP,UAAY;IAC/CT,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAACxF,WAAA,CAAA4C,OAAiB;IACjBM,YAAY,EAAGA,YAAc;IAC7BgC,KAAK,EAAGU,UAAY;IACpBX,QAAQ,EAAG0B,aAAe;IAC1B0C,IAAI,EAAC,kBAAkB;IACvBC,uBAAuB;EAAA,CACvB,CACc,CAChB,EACCpC,kBAAkB,IACnB,IAAA3B,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdvD,KAAK,EAAG,IAAA3B,QAAE,EAAE,WAAY,CAAG;IAC3BmF,QAAQ,EAAGpH,WAAa;IACxBqH,UAAU,EAAG7B,aAAe;IAC5B8B,gBAAgB,EAAGjD,eAAe,CAACN,QAAU;IAC7CV,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAA2J,cAAc;IACdrE,KAAK,EAAGW,QAAU;IAClBZ,QAAQ,EAAGkC,WAAa;IACxB3E,SAAS,EAAGA,SAAW;IACvBJ,sBAAsB,EAAGA,sBAAwB;IACjDoH,SAAS,EAAG,KAAO;IACnBC,UAAU;IACVJ,IAAI,EAAC,kBAAkB;IACvBC,uBAAuB;EAAA,CACvB,CACc,CAChB,EACC/B,oBAAoB,IACrB,IAAAhC,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdS,SAAS,EAAC,eAAe;IACzBhE,KAAK,EAAG8B,sBAAwB;IAChC0B,QAAQ,EAAGhI,iBAAmB;IAC9BiI,UAAU,EAAGvB,mBAAqB;IAClCwB,gBAAgB,EAAGjD,eAAe,CAACL,cAAgB;IACnDX,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAACtF,sBAAA,CAAA0C,OAAqB;IACrBsC,KAAK,EAAG;MACPvB,SAAS;MACTE;IACD,CAAG;IACHoB,QAAQ,EAAGwC,iBAAmB;IAC9B/D,aAAa,EAAGA,aAAe;IAC/BE,cAAc,EAAGA,cAAgB;IACjCyF,IAAI,EAAC,kBAAkB;IACvBC,uBAAuB;EAAA,CACvB,CACc,CAChB,EACCzB,oBAAoB,IACrB,IAAAtC,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdS,SAAS,EAAC,eAAe;IACzBhE,KAAK,EAAG,IAAA3B,QAAE,EAAE,aAAc,CAAG;IAC7BmF,QAAQ,EAAGlI,aAAe;IAC1BmI,UAAU,EAAGpB,eAAiB;IAC9BqB,gBAAgB,EAAGjD,eAAe,CAAC1C,UAAY;IAC/C0B,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAACrF,kBAAA,CAAAyC,OAAiB;IACjB0G,uBAAuB;IACvBK,oBAAoB,EAAC,MAAM;IAC3BzE,KAAK,EAAGzB,UAAY;IACpBwB,QAAQ,EAAG6C,aAAe;IAC1BuB,IAAI,EAAC;EAAkB,CACvB,CACc,CAChB,EACCrB,uBAAuB,IACxB,IAAAzC,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdS,SAAS,EAAC,eAAe;IACzBhE,KAAK,EAAG,IAAA3B,QAAE,EAAE,gBAAiB,CAAG;IAChCmF,QAAQ,EAAG9H,gBAAkB;IAC7B+H,UAAU,EAAGjB,kBAAoB;IACjCkB,gBAAgB,EAAGjD,eAAe,CAACnC,aAAe;IAClDmB,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAACpF,qBAAA,CAAAwC,OAAoB;IACpBsC,KAAK,EAAGlB,aAAe;IACvBiB,QAAQ,EAAGgD,gBAAkB;IAC7BoB,IAAI,EAAC,kBAAkB;IACvBM,oBAAoB,EAAC;EAAM,CAC3B,CACc,CAChB,EACCxB,qBAAqB,IACtB,IAAA5C,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdS,SAAS,EAAC,eAAe;IACzBhE,KAAK,EAAG,IAAA3B,QAAE,EAAE,cAAe,CAAG;IAC9BmF,QAAQ,EAAGtH,cAAgB;IAC3BuH,UAAU,EAAGd,gBAAkB;IAC/Be,gBAAgB,EAAGjD,eAAe,CAAC/B,WAAa;IAChDe,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAgK,2BAAa;IACblE,KAAK,EAAG,IAAA3B,QAAE,EAAE,cAAe,CAAG;IAC9B8F,GAAG,EAAGlJ,gBAAkB;IACxBmJ,GAAG,EAAGpJ,gBAAkB;IACxBuE,QAAQ,EAAGmD,cAAgB;IAC3BiB,IAAI,EAAC,kBAAkB;IACvBU,YAAY,EAAC,QAAQ;IACrB7E,KAAK,EAAGd,WAAa;IACrB4F,eAAe,EAAG;EAAG,CACrB,CACc,CAChB,EACCvB,wBAAwB,IACzB,IAAAlD,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdS,SAAS,EAAC,eAAe;IACzBhE,KAAK,EAAG,IAAA3B,QAAE,EAAE,iBAAkB,CAAG;IACjCmF,QAAQ,EAAG1H,iBAAmB;IAC9B2H,UAAU,EAAGR,mBAAqB;IAClCS,gBAAgB,EAAGjD,eAAe,CAACjC,cAAgB;IACnDiB,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAAClF,sBAAA,CAAAsC,OAAqB;IACrBsC,KAAK,EAAGhB,cAAgB;IACxBe,QAAQ,EAAGyD,iBAAmB;IAC9BW,IAAI,EAAC,kBAAkB;IACvBM,oBAAoB,EAAC;EAAM,CAC3B,CACc,CAChB,EACCf,qBAAqB,IACtB,IAAArD,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdS,SAAS,EAAC,eAAe;IACzBhE,KAAK,EAAG,IAAA3B,QAAE,EAAE,kBAAmB,CAAG;IAClCmF,QAAQ,EAAGxH,cAAgB;IAC3ByH,UAAU,EAAGL,gBAAkB;IAC/BM,gBAAgB,EAAGjD,eAAe,CAAChC,WAAa;IAChDgB,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAACjF,mBAAA,CAAAqC,OAAkB;IAClBsC,KAAK,EAAGf,WAAa;IACrBc,QAAQ,EAAG4D,cAAgB;IAC3BQ,IAAI,EAAC,kBAAkB;IACvBC,uBAAuB;EAAA,CACvB,CACc,CAChB,EACChB,uBAAuB,IACxB,IAAA/C,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqJ,4BAAc;IACdvD,KAAK,EAAG,IAAA3B,QAAE,EAAE,aAAc,CAAG;IAC7BmF,QAAQ,EAAG5H,gBAAkB;IAC7B6H,UAAU,EAAGX,kBAAoB;IACjCY,gBAAgB,EAAGjD,eAAe,CAAClC,aAAe;IAClDkB,OAAO,EAAGA;EAAS,GAEnB,IAAAI,MAAA,CAAAC,aAAA,EAACnF,qBAAA,CAAAuC,OAAoB;IACpBsC,KAAK,EAAGjB,aAAe;IACvBgB,QAAQ,EAAGsD,gBAAkB;IAC7B0B,QAAQ;IACRC,OAAO;IACPb,IAAI,EAAC,kBAAkB;IACvBC,uBAAuB;EAAA,CACvB,CACc,CAET,CAAC;AAEZ"}
@@ -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
  });
@@ -12,7 +11,7 @@ exports.getGradientValueBySlug = getGradientValueBySlug;
12
11
  var _element = require("@wordpress/element");
13
12
  var _data = require("@wordpress/data");
14
13
  var _blockEdit = require("../block-edit");
15
- var _useSetting = _interopRequireDefault(require("../use-setting"));
14
+ var _useSettings = require("../use-settings");
16
15
  var _store = require("../../store");
17
16
  /**
18
17
  * WordPress dependencies
@@ -64,9 +63,7 @@ function __experimentalUseGradient({
64
63
  const {
65
64
  clientId
66
65
  } = (0, _blockEdit.useBlockEditContext)();
67
- const userGradientPalette = (0, _useSetting.default)('color.gradients.custom');
68
- const themeGradientPalette = (0, _useSetting.default)('color.gradients.theme');
69
- const defaultGradientPalette = (0, _useSetting.default)('color.gradients.default');
66
+ const [userGradientPalette, themeGradientPalette, defaultGradientPalette] = (0, _useSettings.useSettings)('color.gradients.custom', 'color.gradients.theme', 'color.gradients.default');
70
67
  const allGradients = (0, _element.useMemo)(() => [...(userGradientPalette || []), ...(themeGradientPalette || []), ...(defaultGradientPalette || [])], [userGradientPalette, themeGradientPalette, defaultGradientPalette]);
71
68
  const {
72
69
  gradient,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_blockEdit","_useSetting","_interopRequireDefault","_store","__experimentalGetGradientClass","gradientSlug","undefined","getGradientValueBySlug","gradients","slug","gradient","find","g","__experimentalGetGradientObjectByGradientValue","value","getGradientSlugByValue","__experimentalUseGradient","gradientAttribute","customGradientAttribute","clientId","useBlockEditContext","userGradientPalette","useSetting","themeGradientPalette","defaultGradientPalette","allGradients","useMemo","customGradient","useSelect","select","getBlockAttributes","blockEditorStore","attributes","updateBlockAttributes","useDispatch","setGradient","useCallback","newGradientValue","gradientClass","gradientValue"],"sources":["@wordpress/block-editor/src/components/gradients/use-gradient.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit';\nimport useSetting from '../use-setting';\nimport { store as blockEditorStore } from '../../store';\n\nexport function __experimentalGetGradientClass( gradientSlug ) {\n\tif ( ! gradientSlug ) {\n\t\treturn undefined;\n\t}\n\treturn `has-${ gradientSlug }-gradient-background`;\n}\n\n/**\n * Retrieves the gradient value per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} slug Gradient slug\n *\n * @return {string} Gradient value.\n */\nexport function getGradientValueBySlug( gradients, slug ) {\n\tconst gradient = gradients?.find( ( g ) => g.slug === slug );\n\treturn gradient && gradient.gradient;\n}\n\nexport function __experimentalGetGradientObjectByGradientValue(\n\tgradients,\n\tvalue\n) {\n\tconst gradient = gradients?.find( ( g ) => g.gradient === value );\n\treturn gradient;\n}\n\n/**\n * Retrieves the gradient slug per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} value Gradient value\n * @return {string} Gradient slug.\n */\nexport function getGradientSlugByValue( gradients, value ) {\n\tconst gradient = __experimentalGetGradientObjectByGradientValue(\n\t\tgradients,\n\t\tvalue\n\t);\n\treturn gradient && gradient.slug;\n}\n\nexport function __experimentalUseGradient( {\n\tgradientAttribute = 'gradient',\n\tcustomGradientAttribute = 'customGradient',\n} = {} ) {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst userGradientPalette = useSetting( 'color.gradients.custom' );\n\tconst themeGradientPalette = useSetting( 'color.gradients.theme' );\n\tconst defaultGradientPalette = useSetting( 'color.gradients.default' );\n\tconst allGradients = useMemo(\n\t\t() => [\n\t\t\t...( userGradientPalette || [] ),\n\t\t\t...( themeGradientPalette || [] ),\n\t\t\t...( defaultGradientPalette || [] ),\n\t\t],\n\t\t[ userGradientPalette, themeGradientPalette, defaultGradientPalette ]\n\t);\n\tconst { gradient, customGradient } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tcustomGradient: attributes[ customGradientAttribute ],\n\t\t\t\tgradient: attributes[ gradientAttribute ],\n\t\t\t};\n\t\t},\n\t\t[ clientId, gradientAttribute, customGradientAttribute ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst setGradient = useCallback(\n\t\t( newGradientValue ) => {\n\t\t\tconst slug = getGradientSlugByValue(\n\t\t\t\tallGradients,\n\t\t\t\tnewGradientValue\n\t\t\t);\n\t\t\tif ( slug ) {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t[ gradientAttribute ]: slug,\n\t\t\t\t\t[ customGradientAttribute ]: undefined,\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t[ gradientAttribute ]: undefined,\n\t\t\t\t[ customGradientAttribute ]: newGradientValue,\n\t\t\t} );\n\t\t},\n\t\t[ allGradients, clientId, updateBlockAttributes ]\n\t);\n\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tlet gradientValue;\n\tif ( gradient ) {\n\t\tgradientValue = getGradientValueBySlug( allGradients, gradient );\n\t} else {\n\t\tgradientValue = customGradient;\n\t}\n\treturn { gradientClass, gradientValue, setGradient };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_data","_blockEdit","_useSettings","_store","__experimentalGetGradientClass","gradientSlug","undefined","getGradientValueBySlug","gradients","slug","gradient","find","g","__experimentalGetGradientObjectByGradientValue","value","getGradientSlugByValue","__experimentalUseGradient","gradientAttribute","customGradientAttribute","clientId","useBlockEditContext","userGradientPalette","themeGradientPalette","defaultGradientPalette","useSettings","allGradients","useMemo","customGradient","useSelect","select","getBlockAttributes","blockEditorStore","attributes","updateBlockAttributes","useDispatch","setGradient","useCallback","newGradientValue","gradientClass","gradientValue"],"sources":["@wordpress/block-editor/src/components/gradients/use-gradient.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit';\nimport { useSettings } from '../use-settings';\nimport { store as blockEditorStore } from '../../store';\n\nexport function __experimentalGetGradientClass( gradientSlug ) {\n\tif ( ! gradientSlug ) {\n\t\treturn undefined;\n\t}\n\treturn `has-${ gradientSlug }-gradient-background`;\n}\n\n/**\n * Retrieves the gradient value per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} slug Gradient slug\n *\n * @return {string} Gradient value.\n */\nexport function getGradientValueBySlug( gradients, slug ) {\n\tconst gradient = gradients?.find( ( g ) => g.slug === slug );\n\treturn gradient && gradient.gradient;\n}\n\nexport function __experimentalGetGradientObjectByGradientValue(\n\tgradients,\n\tvalue\n) {\n\tconst gradient = gradients?.find( ( g ) => g.gradient === value );\n\treturn gradient;\n}\n\n/**\n * Retrieves the gradient slug per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} value Gradient value\n * @return {string} Gradient slug.\n */\nexport function getGradientSlugByValue( gradients, value ) {\n\tconst gradient = __experimentalGetGradientObjectByGradientValue(\n\t\tgradients,\n\t\tvalue\n\t);\n\treturn gradient && gradient.slug;\n}\n\nexport function __experimentalUseGradient( {\n\tgradientAttribute = 'gradient',\n\tcustomGradientAttribute = 'customGradient',\n} = {} ) {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst [\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t] = useSettings(\n\t\t'color.gradients.custom',\n\t\t'color.gradients.theme',\n\t\t'color.gradients.default'\n\t);\n\tconst allGradients = useMemo(\n\t\t() => [\n\t\t\t...( userGradientPalette || [] ),\n\t\t\t...( themeGradientPalette || [] ),\n\t\t\t...( defaultGradientPalette || [] ),\n\t\t],\n\t\t[ userGradientPalette, themeGradientPalette, defaultGradientPalette ]\n\t);\n\tconst { gradient, customGradient } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tcustomGradient: attributes[ customGradientAttribute ],\n\t\t\t\tgradient: attributes[ gradientAttribute ],\n\t\t\t};\n\t\t},\n\t\t[ clientId, gradientAttribute, customGradientAttribute ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst setGradient = useCallback(\n\t\t( newGradientValue ) => {\n\t\t\tconst slug = getGradientSlugByValue(\n\t\t\t\tallGradients,\n\t\t\t\tnewGradientValue\n\t\t\t);\n\t\t\tif ( slug ) {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t[ gradientAttribute ]: slug,\n\t\t\t\t\t[ customGradientAttribute ]: undefined,\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t[ gradientAttribute ]: undefined,\n\t\t\t\t[ customGradientAttribute ]: newGradientValue,\n\t\t\t} );\n\t\t},\n\t\t[ allGradients, clientId, updateBlockAttributes ]\n\t);\n\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tlet gradientValue;\n\tif ( gradient ) {\n\t\tgradientValue = getGradientValueBySlug( allGradients, gradient );\n\t} else {\n\t\tgradientValue = customGradient;\n\t}\n\treturn { gradientClass, gradientValue, setGradient };\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
  });
@@ -9,7 +8,7 @@ var _react = require("react");
9
8
  var _element = require("@wordpress/element");
10
9
  var _components = require("@wordpress/components");
11
10
  var _i18n = require("@wordpress/i18n");
12
- var _useSetting = _interopRequireDefault(require("../use-setting"));
11
+ var _useSettings = require("../use-settings");
13
12
  /**
14
13
  * WordPress dependencies
15
14
  */
@@ -42,6 +41,94 @@ const RANGE_CONTROL_CUSTOM_SETTINGS = {
42
41
  rem: {
43
42
  max: 50,
44
43
  step: 0.1
44
+ },
45
+ svw: {
46
+ max: 100,
47
+ step: 1
48
+ },
49
+ lvw: {
50
+ max: 100,
51
+ step: 1
52
+ },
53
+ dvw: {
54
+ max: 100,
55
+ step: 1
56
+ },
57
+ svh: {
58
+ max: 100,
59
+ step: 1
60
+ },
61
+ lvh: {
62
+ max: 100,
63
+ step: 1
64
+ },
65
+ dvh: {
66
+ max: 100,
67
+ step: 1
68
+ },
69
+ vi: {
70
+ max: 100,
71
+ step: 1
72
+ },
73
+ svi: {
74
+ max: 100,
75
+ step: 1
76
+ },
77
+ lvi: {
78
+ max: 100,
79
+ step: 1
80
+ },
81
+ dvi: {
82
+ max: 100,
83
+ step: 1
84
+ },
85
+ vb: {
86
+ max: 100,
87
+ step: 1
88
+ },
89
+ svb: {
90
+ max: 100,
91
+ step: 1
92
+ },
93
+ lvb: {
94
+ max: 100,
95
+ step: 1
96
+ },
97
+ dvb: {
98
+ max: 100,
99
+ step: 1
100
+ },
101
+ vmin: {
102
+ max: 100,
103
+ step: 1
104
+ },
105
+ svmin: {
106
+ max: 100,
107
+ step: 1
108
+ },
109
+ lvmin: {
110
+ max: 100,
111
+ step: 1
112
+ },
113
+ dvmin: {
114
+ max: 100,
115
+ step: 1
116
+ },
117
+ vmax: {
118
+ max: 100,
119
+ step: 1
120
+ },
121
+ svmax: {
122
+ max: 100,
123
+ step: 1
124
+ },
125
+ lvmax: {
126
+ max: 100,
127
+ step: 1
128
+ },
129
+ dvmax: {
130
+ max: 100,
131
+ step: 1
45
132
  }
46
133
  };
47
134
 
@@ -64,8 +151,9 @@ function HeightControl({
64
151
  }) {
65
152
  var _RANGE_CONTROL_CUSTOM, _RANGE_CONTROL_CUSTOM2;
66
153
  const customRangeValue = parseFloat(value);
154
+ const [availableUnits] = (0, _useSettings.useSettings)('spacing.units');
67
155
  const units = (0, _components.__experimentalUseCustomUnits)({
68
- availableUnits: (0, _useSetting.default)('spacing.units') || ['%', 'px', 'em', 'rem', 'vh', 'vw']
156
+ availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vh', 'vw']
69
157
  });
70
158
  const selectedUnit = (0, _element.useMemo)(() => (0, _components.__experimentalParseQuantityAndUnitFromRawValue)(value), [value])[1] || units[0]?.value || 'px';
71
159
  const handleSliderChange = next => {
@@ -81,8 +169,8 @@ function HeightControl({
81
169
  } else if (['em', 'rem'].includes(currentUnit) && newUnit === 'px') {
82
170
  // Convert to pixel value assuming a root size of 16px.
83
171
  onChange(Math.round(currentValue * 16) + newUnit);
84
- } else if (['vh', 'vw', '%'].includes(newUnit) && currentValue > 100) {
85
- // When converting to `vh`, `vw`, or `%` units, cap the new value at 100.
172
+ } else if (['%', 'vw', 'svw', 'lvw', 'dvw', 'vh', 'svh', 'lvh', 'dvh', 'vi', 'svi', 'lvi', 'dvi', 'vb', 'svb', 'lvb', 'dvb', 'vmin', 'svmin', 'lvmin', 'dvmin', 'vmax', 'svmax', 'lvmax', 'dvmax'].includes(newUnit) && currentValue > 100) {
173
+ // When converting to `%` or viewport-relative units, cap the new value at 100.
86
174
  onChange(100 + newUnit);
87
175
  }
88
176
  };