@wordpress/edit-site 6.3.0 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-pattern/index.js +14 -3
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-post/index.js +2 -1
  5. package/build/components/add-new-post/index.js.map +1 -1
  6. package/build/components/add-new-template/index.js +3 -1
  7. package/build/components/add-new-template/index.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +2 -2
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/block-editor/use-site-editor-settings.js +1 -82
  11. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  12. package/build/components/editor/index.js +71 -20
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/global-styles/block-preview-panel.js +14 -5
  15. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +40 -22
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/context.js +0 -5
  19. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/font-collection.js +25 -5
  21. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/index.js +5 -12
  23. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/installed-fonts.js +78 -15
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  27. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
  29. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  30. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
  31. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  32. package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
  33. package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  34. package/build/components/global-styles/font-sizes/font-size.js +213 -0
  35. package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
  36. package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
  37. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  38. package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
  39. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  40. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
  41. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  42. package/build/components/global-styles/screen-block.js +10 -8
  43. package/build/components/global-styles/screen-block.js.map +1 -1
  44. package/build/components/global-styles/screen-style-variations.js +2 -2
  45. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  46. package/build/components/global-styles/screen-typeset.js +40 -0
  47. package/build/components/global-styles/screen-typeset.js.map +1 -0
  48. package/build/components/global-styles/screen-typography-element.js +14 -0
  49. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  50. package/build/components/global-styles/screen-typography.js +5 -6
  51. package/build/components/global-styles/screen-typography.js.map +1 -1
  52. package/build/components/global-styles/shadows-edit-panel.js +50 -59
  53. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  54. package/build/components/global-styles/size-control/index.js +85 -0
  55. package/build/components/global-styles/size-control/index.js.map +1 -0
  56. package/build/components/global-styles/style-variations-container.js +3 -0
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typeset-button.js +97 -0
  59. package/build/components/global-styles/typeset-button.js.map +1 -0
  60. package/build/components/global-styles/typeset.js +80 -0
  61. package/build/components/global-styles/typeset.js.map +1 -0
  62. package/build/components/global-styles/ui.js +12 -0
  63. package/build/components/global-styles/ui.js.map +1 -1
  64. package/build/components/global-styles/utils.js +10 -1
  65. package/build/components/global-styles/utils.js.map +1 -1
  66. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  67. package/build/components/global-styles/variations/variations-typography.js +1 -1
  68. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  69. package/build/components/layout/index.js +6 -0
  70. package/build/components/layout/index.js.map +1 -1
  71. package/build/components/layout/router.js +14 -6
  72. package/build/components/layout/router.js.map +1 -1
  73. package/build/components/page-patterns/fields.js +230 -0
  74. package/build/components/page-patterns/fields.js.map +1 -0
  75. package/build/components/page-patterns/header.js +1 -1
  76. package/build/components/page-patterns/header.js.map +1 -1
  77. package/build/components/page-patterns/index.js +21 -227
  78. package/build/components/page-patterns/index.js.map +1 -1
  79. package/build/components/page-patterns/use-patterns.js +26 -1
  80. package/build/components/page-patterns/use-patterns.js.map +1 -1
  81. package/build/components/page-templates/fields.js +169 -0
  82. package/build/components/page-templates/fields.js.map +1 -0
  83. package/build/components/page-templates/index.js +38 -198
  84. package/build/components/page-templates/index.js.map +1 -1
  85. package/build/components/post-edit/index.js +117 -0
  86. package/build/components/post-edit/index.js.map +1 -0
  87. package/build/components/post-fields/index.js +318 -0
  88. package/build/components/post-fields/index.js.map +1 -0
  89. package/build/components/post-list/index.js +339 -0
  90. package/build/components/post-list/index.js.map +1 -0
  91. package/build/components/posts-app/router.js +3 -3
  92. package/build/components/posts-app/router.js.map +1 -1
  93. package/build/components/sidebar-dataviews/add-new-view.js +2 -2
  94. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  95. package/build/components/sidebar-dataviews/dataview-item.js +2 -3
  96. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  97. package/build/components/sidebar-dataviews/default-views.js +103 -91
  98. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  99. package/build/components/sidebar-dataviews/index.js +2 -2
  100. package/build/components/sidebar-dataviews/index.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
  102. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  104. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  105. package/build/components/site-hub/index.js +6 -3
  106. package/build/components/site-hub/index.js.map +1 -1
  107. package/build/components/style-book/index.js +22 -25
  108. package/build/components/style-book/index.js.map +1 -1
  109. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  110. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  111. package/build/hooks/push-changes-to-global-styles/index.js +3 -4
  112. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  113. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -4
  114. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  115. package/build/index.js +4 -2
  116. package/build/index.js.map +1 -1
  117. package/build/store/selectors.js +34 -6
  118. package/build/store/selectors.js.map +1 -1
  119. package/build/utils/get-filtered-template-parts.js +64 -0
  120. package/build/utils/get-filtered-template-parts.js.map +1 -0
  121. package/build-module/components/add-new-pattern/index.js +14 -3
  122. package/build-module/components/add-new-pattern/index.js.map +1 -1
  123. package/build-module/components/add-new-post/index.js +2 -1
  124. package/build-module/components/add-new-post/index.js.map +1 -1
  125. package/build-module/components/add-new-template/index.js +3 -1
  126. package/build-module/components/add-new-template/index.js.map +1 -1
  127. package/build-module/components/add-new-template/utils.js +2 -2
  128. package/build-module/components/add-new-template/utils.js.map +1 -1
  129. package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
  130. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  131. package/build-module/components/editor/index.js +73 -22
  132. package/build-module/components/editor/index.js.map +1 -1
  133. package/build-module/components/global-styles/block-preview-panel.js +14 -5
  134. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  135. package/build-module/components/global-styles/font-families.js +42 -24
  136. package/build-module/components/global-styles/font-families.js.map +1 -1
  137. package/build-module/components/global-styles/font-library-modal/context.js +0 -5
  138. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  139. package/build-module/components/global-styles/font-library-modal/font-collection.js +26 -6
  140. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  141. package/build-module/components/global-styles/font-library-modal/index.js +5 -12
  142. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  143. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +81 -18
  144. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  145. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  146. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  147. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
  148. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  149. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
  150. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  151. package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
  152. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  153. package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
  154. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
  155. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
  156. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  157. package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
  158. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  159. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
  160. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  161. package/build-module/components/global-styles/screen-block.js +10 -8
  162. package/build-module/components/global-styles/screen-block.js.map +1 -1
  163. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  164. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  165. package/build-module/components/global-styles/screen-typeset.js +34 -0
  166. package/build-module/components/global-styles/screen-typeset.js.map +1 -0
  167. package/build-module/components/global-styles/screen-typography-element.js +14 -0
  168. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  169. package/build-module/components/global-styles/screen-typography.js +5 -6
  170. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  171. package/build-module/components/global-styles/shadows-edit-panel.js +51 -60
  172. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  173. package/build-module/components/global-styles/size-control/index.js +79 -0
  174. package/build-module/components/global-styles/size-control/index.js.map +1 -0
  175. package/build-module/components/global-styles/style-variations-container.js +3 -0
  176. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  177. package/build-module/components/global-styles/typeset-button.js +89 -0
  178. package/build-module/components/global-styles/typeset-button.js.map +1 -0
  179. package/build-module/components/global-styles/typeset.js +71 -0
  180. package/build-module/components/global-styles/typeset.js.map +1 -0
  181. package/build-module/components/global-styles/ui.js +12 -0
  182. package/build-module/components/global-styles/ui.js.map +1 -1
  183. package/build-module/components/global-styles/utils.js +10 -1
  184. package/build-module/components/global-styles/utils.js.map +1 -1
  185. package/build-module/components/global-styles/variations/variations-color.js +1 -1
  186. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  187. package/build-module/components/global-styles/variations/variations-typography.js +1 -2
  188. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  189. package/build-module/components/layout/index.js +6 -0
  190. package/build-module/components/layout/index.js.map +1 -1
  191. package/build-module/components/layout/router.js +14 -6
  192. package/build-module/components/layout/router.js.map +1 -1
  193. package/build-module/components/page-patterns/fields.js +223 -0
  194. package/build-module/components/page-patterns/fields.js.map +1 -0
  195. package/build-module/components/page-patterns/header.js +1 -1
  196. package/build-module/components/page-patterns/header.js.map +1 -1
  197. package/build-module/components/page-patterns/index.js +24 -230
  198. package/build-module/components/page-patterns/index.js.map +1 -1
  199. package/build-module/components/page-patterns/use-patterns.js +26 -1
  200. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  201. package/build-module/components/page-templates/fields.js +160 -0
  202. package/build-module/components/page-templates/fields.js.map +1 -0
  203. package/build-module/components/page-templates/index.js +39 -199
  204. package/build-module/components/page-templates/index.js.map +1 -1
  205. package/build-module/components/post-edit/index.js +110 -0
  206. package/build-module/components/post-edit/index.js.map +1 -0
  207. package/build-module/components/post-fields/index.js +310 -0
  208. package/build-module/components/post-fields/index.js.map +1 -0
  209. package/build-module/components/post-list/index.js +333 -0
  210. package/build-module/components/post-list/index.js.map +1 -0
  211. package/build-module/components/posts-app/router.js +3 -3
  212. package/build-module/components/posts-app/router.js.map +1 -1
  213. package/build-module/components/sidebar-dataviews/add-new-view.js +2 -2
  214. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  215. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -3
  216. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  217. package/build-module/components/sidebar-dataviews/default-views.js +102 -90
  218. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  219. package/build-module/components/sidebar-dataviews/index.js +5 -5
  220. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  221. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
  222. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  223. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  224. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  225. package/build-module/components/site-hub/index.js +7 -4
  226. package/build-module/components/site-hub/index.js.map +1 -1
  227. package/build-module/components/style-book/index.js +23 -26
  228. package/build-module/components/style-book/index.js.map +1 -1
  229. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  230. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  231. package/build-module/hooks/push-changes-to-global-styles/index.js +3 -4
  232. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  233. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  234. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  235. package/build-module/index.js +4 -2
  236. package/build-module/index.js.map +1 -1
  237. package/build-module/store/selectors.js +35 -7
  238. package/build-module/store/selectors.js.map +1 -1
  239. package/build-module/utils/get-filtered-template-parts.js +57 -0
  240. package/build-module/utils/get-filtered-template-parts.js.map +1 -0
  241. package/build-style/posts-rtl.css +749 -492
  242. package/build-style/posts.css +749 -492
  243. package/build-style/style-rtl.css +956 -613
  244. package/build-style/style.css +956 -613
  245. package/package.json +41 -41
  246. package/src/components/add-new-pattern/index.js +16 -5
  247. package/src/components/add-new-post/index.js +2 -1
  248. package/src/components/add-new-template/index.js +4 -1
  249. package/src/components/add-new-template/style.scss +4 -6
  250. package/src/components/add-new-template/utils.js +10 -6
  251. package/src/components/block-editor/use-site-editor-settings.js +15 -111
  252. package/src/components/editor/index.js +80 -22
  253. package/src/components/editor/style.scss +59 -1
  254. package/src/components/global-styles/block-preview-panel.js +22 -9
  255. package/src/components/global-styles/font-families.js +65 -32
  256. package/src/components/global-styles/font-library-modal/context.js +0 -5
  257. package/src/components/global-styles/font-library-modal/font-collection.js +34 -10
  258. package/src/components/global-styles/font-library-modal/index.js +6 -9
  259. package/src/components/global-styles/font-library-modal/installed-fonts.js +115 -16
  260. package/src/components/global-styles/font-library-modal/style.scss +9 -0
  261. package/src/components/global-styles/font-library-modal/upload-fonts.js +2 -2
  262. package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
  263. package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
  264. package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
  265. package/src/components/global-styles/font-sizes/font-size.js +250 -0
  266. package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
  267. package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
  268. package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
  269. package/src/components/global-styles/screen-block.js +12 -14
  270. package/src/components/global-styles/screen-style-variations.js +2 -2
  271. package/src/components/global-styles/screen-typeset.js +42 -0
  272. package/src/components/global-styles/screen-typography-element.js +14 -0
  273. package/src/components/global-styles/screen-typography.js +7 -6
  274. package/src/components/global-styles/shadows-edit-panel.js +66 -73
  275. package/src/components/global-styles/size-control/index.js +86 -0
  276. package/src/components/global-styles/style-variations-container.js +4 -0
  277. package/src/components/global-styles/style.scss +17 -10
  278. package/src/components/global-styles/typeset-button.js +93 -0
  279. package/src/components/global-styles/typeset.js +73 -0
  280. package/src/components/global-styles/ui.js +15 -0
  281. package/src/components/global-styles/utils.js +13 -1
  282. package/src/components/global-styles/variations/variations-color.js +1 -1
  283. package/src/components/global-styles/variations/variations-typography.js +1 -2
  284. package/src/components/layout/index.js +11 -0
  285. package/src/components/layout/router.js +13 -5
  286. package/src/components/layout/style.scss +34 -8
  287. package/src/components/page-patterns/fields.js +251 -0
  288. package/src/components/page-patterns/header.js +1 -1
  289. package/src/components/page-patterns/index.js +24 -246
  290. package/src/components/page-patterns/style.scss +82 -85
  291. package/src/components/page-patterns/use-patterns.js +31 -1
  292. package/src/components/page-templates/fields.js +157 -0
  293. package/src/components/page-templates/index.js +46 -192
  294. package/src/components/page-templates/style.scss +19 -8
  295. package/src/components/post-edit/index.js +115 -0
  296. package/src/components/post-edit/style.scss +9 -0
  297. package/src/components/post-fields/index.js +357 -0
  298. package/src/components/post-list/index.js +386 -0
  299. package/src/components/{posts-app → post-list}/style.scss +12 -9
  300. package/src/components/posts-app/router.js +3 -3
  301. package/src/components/sidebar-dataviews/add-new-view.js +2 -4
  302. package/src/components/sidebar-dataviews/dataview-item.js +2 -2
  303. package/src/components/sidebar-dataviews/default-views.js +116 -104
  304. package/src/components/sidebar-dataviews/index.js +4 -3
  305. package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
  306. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
  307. package/src/components/site-hub/index.js +11 -2
  308. package/src/components/site-icon/style.scss +4 -1
  309. package/src/components/style-book/index.js +27 -32
  310. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  311. package/src/hooks/push-changes-to-global-styles/index.js +3 -4
  312. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  313. package/src/index.js +6 -2
  314. package/src/posts.scss +1 -1
  315. package/src/store/selectors.js +53 -14
  316. package/src/store/test/selectors.js +1 -26
  317. package/src/style.scss +2 -1
  318. package/src/utils/get-filtered-template-parts.js +61 -0
  319. package/src/utils/test/get-filtered-template-parts.js +127 -0
  320. package/build/components/global-styles/screen-background.js +0 -36
  321. package/build/components/global-styles/screen-background.js.map +0 -1
  322. package/build/components/posts-app/posts-list.js +0 -568
  323. package/build/components/posts-app/posts-list.js.map +0 -1
  324. package/build/utils/clone-deep.js +0 -15
  325. package/build/utils/clone-deep.js.map +0 -1
  326. package/build-module/components/global-styles/screen-background.js +0 -30
  327. package/build-module/components/global-styles/screen-background.js.map +0 -1
  328. package/build-module/components/posts-app/posts-list.js +0 -560
  329. package/build-module/components/posts-app/posts-list.js.map +0 -1
  330. package/build-module/utils/clone-deep.js +0 -9
  331. package/build-module/utils/clone-deep.js.map +0 -1
  332. package/src/components/global-styles/screen-background.js +0 -29
  333. package/src/components/posts-app/posts-list.js +0 -651
  334. package/src/utils/clone-deep.js +0 -8
@@ -0,0 +1,207 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
+ import { __, sprintf } from '@wordpress/i18n';
6
+ import { __experimentalSpacer as Spacer, __experimentalUseNavigator as useNavigator, __experimentalView as View, __experimentalHStack as HStack, __experimentalVStack as VStack, privateApis as componentsPrivateApis, Button, FlexItem, ToggleControl } from '@wordpress/components';
7
+ import { moreVertical } from '@wordpress/icons';
8
+ import { useState } from '@wordpress/element';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { unlock } from '../../../lock-unlock';
14
+ const {
15
+ DropdownMenuV2: DropdownMenu,
16
+ DropdownMenuItemV2: DropdownMenuItem,
17
+ DropdownMenuItemLabelV2: DropdownMenuItemLabel
18
+ } = unlock(componentsPrivateApis);
19
+ const {
20
+ useGlobalSetting
21
+ } = unlock(blockEditorPrivateApis);
22
+ import ScreenHeader from '../header';
23
+ import FontSizePreview from './font-size-preview';
24
+ import ConfirmDeleteFontSizeDialog from './confirm-delete-font-size-dialog';
25
+ import RenameFontSizeDialog from './rename-font-size-dialog';
26
+ import SizeControl from '../size-control';
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ import { Fragment as _Fragment } from "react/jsx-runtime";
30
+ function FontSize() {
31
+ var _fontSizes$origin, _fontSize$fluid;
32
+ const [isDeleteConfirmOpen, setIsDeleteConfirmOpen] = useState(false);
33
+ const [isRenameDialogOpen, setIsRenameDialogOpen] = useState(false);
34
+ const {
35
+ params: {
36
+ origin,
37
+ slug
38
+ },
39
+ goBack,
40
+ goTo
41
+ } = useNavigator();
42
+ const [fontSizes, setFontSizes] = useGlobalSetting('typography.fontSizes');
43
+
44
+ // Get the font sizes from the origin, default to empty array.
45
+ const sizes = (_fontSizes$origin = fontSizes[origin]) !== null && _fontSizes$origin !== void 0 ? _fontSizes$origin : [];
46
+
47
+ // Get the font size by slug.
48
+ const fontSize = sizes.find(size => size.slug === slug);
49
+
50
+ // Whether fluid is true or an object, set it to true, otherwise false.
51
+ const isFluid = (_fontSize$fluid = !!fontSize.fluid) !== null && _fontSize$fluid !== void 0 ? _fontSize$fluid : false;
52
+
53
+ // Whether custom fluid values are used.
54
+ const isCustomFluid = typeof fontSize.fluid === 'object';
55
+ const handleNameChange = value => {
56
+ updateFontSize('name', value);
57
+ };
58
+ const handleFontSizeChange = value => {
59
+ updateFontSize('size', value);
60
+ };
61
+ const handleFluidChange = value => {
62
+ updateFontSize('fluid', value);
63
+ };
64
+ const handleCustomFluidValues = value => {
65
+ if (value) {
66
+ // If custom values are used, init the values with the current ones.
67
+ updateFontSize('fluid', {
68
+ min: fontSize.size,
69
+ max: fontSize.size
70
+ });
71
+ } else {
72
+ // If custom fluid values are disabled, set fluid to true.
73
+ updateFontSize('fluid', true);
74
+ }
75
+ };
76
+ const handleMinChange = value => {
77
+ updateFontSize('fluid', {
78
+ ...fontSize.fluid,
79
+ min: value
80
+ });
81
+ };
82
+ const handleMaxChange = value => {
83
+ updateFontSize('fluid', {
84
+ ...fontSize.fluid,
85
+ max: value
86
+ });
87
+ };
88
+ const updateFontSize = (key, value) => {
89
+ const newFontSizes = sizes.map(size => {
90
+ if (size.slug === slug) {
91
+ return {
92
+ ...size,
93
+ [key]: value
94
+ }; // Create a new object with updated key
95
+ }
96
+ return size;
97
+ });
98
+ setFontSizes({
99
+ ...fontSizes,
100
+ [origin]: newFontSizes
101
+ });
102
+ };
103
+ const handleRemoveFontSize = () => {
104
+ // Navigate to the font sizes list.
105
+ goBack();
106
+ const newFontSizes = sizes.filter(size => size.slug !== slug);
107
+ setFontSizes({
108
+ ...fontSizes,
109
+ [origin]: newFontSizes
110
+ });
111
+ };
112
+ const toggleDeleteConfirm = () => {
113
+ setIsDeleteConfirmOpen(!isDeleteConfirmOpen);
114
+ };
115
+ const toggleRenameDialog = () => {
116
+ setIsRenameDialogOpen(!isRenameDialogOpen);
117
+ };
118
+ return /*#__PURE__*/_jsxs(_Fragment, {
119
+ children: [/*#__PURE__*/_jsx(ConfirmDeleteFontSizeDialog, {
120
+ fontSize: fontSize,
121
+ isOpen: isDeleteConfirmOpen,
122
+ toggleOpen: toggleDeleteConfirm,
123
+ handleRemoveFontSize: handleRemoveFontSize
124
+ }), isRenameDialogOpen && /*#__PURE__*/_jsx(RenameFontSizeDialog, {
125
+ fontSize: fontSize,
126
+ toggleOpen: toggleRenameDialog,
127
+ handleRename: handleNameChange
128
+ }), /*#__PURE__*/_jsxs(VStack, {
129
+ spacing: 4,
130
+ children: [/*#__PURE__*/_jsxs(HStack, {
131
+ justify: "space-between",
132
+ align: "flex-start",
133
+ children: [/*#__PURE__*/_jsx(ScreenHeader, {
134
+ title: fontSize.name,
135
+ description: sprintf( /* translators: %s: font size preset name. */
136
+ __('Manage the font size %s.'), fontSize.name),
137
+ onBack: () => goTo('/typography/font-sizes/')
138
+ }), origin === 'custom' && /*#__PURE__*/_jsx(FlexItem, {
139
+ children: /*#__PURE__*/_jsx(Spacer, {
140
+ marginTop: 3,
141
+ marginBottom: 0,
142
+ paddingX: 4,
143
+ children: /*#__PURE__*/_jsxs(DropdownMenu, {
144
+ trigger: /*#__PURE__*/_jsx(Button, {
145
+ size: "small",
146
+ icon: moreVertical,
147
+ label: __('Font size options')
148
+ }),
149
+ children: [/*#__PURE__*/_jsx(DropdownMenuItem, {
150
+ onClick: toggleRenameDialog,
151
+ children: /*#__PURE__*/_jsx(DropdownMenuItemLabel, {
152
+ children: __('Rename')
153
+ })
154
+ }), /*#__PURE__*/_jsx(DropdownMenuItem, {
155
+ onClick: toggleDeleteConfirm,
156
+ children: /*#__PURE__*/_jsx(DropdownMenuItemLabel, {
157
+ children: __('Delete')
158
+ })
159
+ })]
160
+ })
161
+ })
162
+ })]
163
+ }), /*#__PURE__*/_jsx(View, {
164
+ children: /*#__PURE__*/_jsx(Spacer, {
165
+ paddingX: 4,
166
+ children: /*#__PURE__*/_jsxs(VStack, {
167
+ spacing: 4,
168
+ children: [/*#__PURE__*/_jsx(FlexItem, {
169
+ children: /*#__PURE__*/_jsx(FontSizePreview, {
170
+ fontSize: fontSize
171
+ })
172
+ }), /*#__PURE__*/_jsx(SizeControl, {
173
+ label: __('Size'),
174
+ value: !isCustomFluid ? fontSize.size : '',
175
+ onChange: handleFontSizeChange,
176
+ disabled: isCustomFluid
177
+ }), /*#__PURE__*/_jsx(ToggleControl, {
178
+ label: __('Fluid typography'),
179
+ help: __('Scale the font size dynamically to fit the screen or viewport.'),
180
+ checked: isFluid,
181
+ onChange: handleFluidChange,
182
+ __nextHasNoMarginBottom: true
183
+ }), isFluid && /*#__PURE__*/_jsx(ToggleControl, {
184
+ label: __('Custom fluid values'),
185
+ help: __('Set custom min and max values for the fluid font size.'),
186
+ checked: isCustomFluid,
187
+ onChange: handleCustomFluidValues,
188
+ __nextHasNoMarginBottom: true
189
+ }), isCustomFluid && /*#__PURE__*/_jsxs(_Fragment, {
190
+ children: [/*#__PURE__*/_jsx(SizeControl, {
191
+ label: __('Minimum'),
192
+ value: fontSize.fluid?.min,
193
+ onChange: handleMinChange
194
+ }), /*#__PURE__*/_jsx(SizeControl, {
195
+ label: __('Maximum'),
196
+ value: fontSize.fluid?.max,
197
+ onChange: handleMaxChange
198
+ })]
199
+ })]
200
+ })
201
+ })
202
+ })]
203
+ })]
204
+ });
205
+ }
206
+ export default FontSize;
207
+ //# sourceMappingURL=font-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["privateApis","blockEditorPrivateApis","__","sprintf","__experimentalSpacer","Spacer","__experimentalUseNavigator","useNavigator","__experimentalView","View","__experimentalHStack","HStack","__experimentalVStack","VStack","componentsPrivateApis","Button","FlexItem","ToggleControl","moreVertical","useState","unlock","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","useGlobalSetting","ScreenHeader","FontSizePreview","ConfirmDeleteFontSizeDialog","RenameFontSizeDialog","SizeControl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FontSize","_fontSizes$origin","_fontSize$fluid","isDeleteConfirmOpen","setIsDeleteConfirmOpen","isRenameDialogOpen","setIsRenameDialogOpen","params","origin","slug","goBack","goTo","fontSizes","setFontSizes","sizes","fontSize","find","size","isFluid","fluid","isCustomFluid","handleNameChange","value","updateFontSize","handleFontSizeChange","handleFluidChange","handleCustomFluidValues","min","max","handleMinChange","handleMaxChange","key","newFontSizes","map","handleRemoveFontSize","filter","toggleDeleteConfirm","toggleRenameDialog","children","isOpen","toggleOpen","handleRename","spacing","justify","align","title","name","description","onBack","marginTop","marginBottom","paddingX","trigger","icon","label","onClick","onChange","disabled","help","checked","__nextHasNoMarginBottom"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-size.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalView as View,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tFlexItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport ScreenHeader from '../header';\nimport FontSizePreview from './font-size-preview';\nimport ConfirmDeleteFontSizeDialog from './confirm-delete-font-size-dialog';\nimport RenameFontSizeDialog from './rename-font-size-dialog';\nimport SizeControl from '../size-control';\n\nfunction FontSize() {\n\tconst [ isDeleteConfirmOpen, setIsDeleteConfirmOpen ] = useState( false );\n\tconst [ isRenameDialogOpen, setIsRenameDialogOpen ] = useState( false );\n\n\tconst {\n\t\tparams: { origin, slug },\n\t\tgoBack,\n\t\tgoTo,\n\t} = useNavigator();\n\n\tconst [ fontSizes, setFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes'\n\t);\n\n\t// Get the font sizes from the origin, default to empty array.\n\tconst sizes = fontSizes[ origin ] ?? [];\n\n\t// Get the font size by slug.\n\tconst fontSize = sizes.find( ( size ) => size.slug === slug );\n\n\t// Whether fluid is true or an object, set it to true, otherwise false.\n\tconst isFluid = !! fontSize.fluid ?? false;\n\n\t// Whether custom fluid values are used.\n\tconst isCustomFluid = typeof fontSize.fluid === 'object';\n\n\tconst handleNameChange = ( value ) => {\n\t\tupdateFontSize( 'name', value );\n\t};\n\n\tconst handleFontSizeChange = ( value ) => {\n\t\tupdateFontSize( 'size', value );\n\t};\n\n\tconst handleFluidChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', value );\n\t};\n\n\tconst handleCustomFluidValues = ( value ) => {\n\t\tif ( value ) {\n\t\t\t// If custom values are used, init the values with the current ones.\n\t\t\tupdateFontSize( 'fluid', {\n\t\t\t\tmin: fontSize.size,\n\t\t\t\tmax: fontSize.size,\n\t\t\t} );\n\t\t} else {\n\t\t\t// If custom fluid values are disabled, set fluid to true.\n\t\t\tupdateFontSize( 'fluid', true );\n\t\t}\n\t};\n\n\tconst handleMinChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', { ...fontSize.fluid, min: value } );\n\t};\n\n\tconst handleMaxChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', { ...fontSize.fluid, max: value } );\n\t};\n\n\tconst updateFontSize = ( key, value ) => {\n\t\tconst newFontSizes = sizes.map( ( size ) => {\n\t\t\tif ( size.slug === slug ) {\n\t\t\t\treturn { ...size, [ key ]: value }; // Create a new object with updated key\n\t\t\t}\n\t\t\treturn size;\n\t\t} );\n\n\t\tsetFontSizes( {\n\t\t\t...fontSizes,\n\t\t\t[ origin ]: newFontSizes,\n\t\t} );\n\t};\n\n\tconst handleRemoveFontSize = () => {\n\t\t// Navigate to the font sizes list.\n\t\tgoBack();\n\n\t\tconst newFontSizes = sizes.filter( ( size ) => size.slug !== slug );\n\t\tsetFontSizes( {\n\t\t\t...fontSizes,\n\t\t\t[ origin ]: newFontSizes,\n\t\t} );\n\t};\n\n\tconst toggleDeleteConfirm = () => {\n\t\tsetIsDeleteConfirmOpen( ! isDeleteConfirmOpen );\n\t};\n\n\tconst toggleRenameDialog = () => {\n\t\tsetIsRenameDialogOpen( ! isRenameDialogOpen );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ConfirmDeleteFontSizeDialog\n\t\t\t\tfontSize={ fontSize }\n\t\t\t\tisOpen={ isDeleteConfirmOpen }\n\t\t\t\ttoggleOpen={ toggleDeleteConfirm }\n\t\t\t\thandleRemoveFontSize={ handleRemoveFontSize }\n\t\t\t/>\n\n\t\t\t{ isRenameDialogOpen && (\n\t\t\t\t<RenameFontSizeDialog\n\t\t\t\t\tfontSize={ fontSize }\n\t\t\t\t\ttoggleOpen={ toggleRenameDialog }\n\t\t\t\t\thandleRename={ handleNameChange }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack justify=\"space-between\" align=\"flex-start\">\n\t\t\t\t\t<ScreenHeader\n\t\t\t\t\t\ttitle={ fontSize.name }\n\t\t\t\t\t\tdescription={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: font size preset name. */\n\t\t\t\t\t\t\t__( 'Manage the font size %s.' ),\n\t\t\t\t\t\t\tfontSize.name\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonBack={ () => goTo( '/typography/font-sizes/' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ origin === 'custom' && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Spacer\n\t\t\t\t\t\t\t\tmarginTop={ 3 }\n\t\t\t\t\t\t\t\tmarginBottom={ 0 }\n\t\t\t\t\t\t\t\tpaddingX={ 4 }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Font size options' ) }\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>\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleRenameDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleDeleteConfirm }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\n\t\t\t\t<View>\n\t\t\t\t\t<Spacer paddingX={ 4 }>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<FontSizePreview fontSize={ fontSize } />\n\t\t\t\t\t\t\t</FlexItem>\n\n\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\t\t\t\tvalue={ ! isCustomFluid ? fontSize.size : '' }\n\t\t\t\t\t\t\t\tonChange={ handleFontSizeChange }\n\t\t\t\t\t\t\t\tdisabled={ isCustomFluid }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Fluid typography' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Scale the font size dynamically to fit the screen or viewport.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ isFluid }\n\t\t\t\t\t\t\t\tonChange={ handleFluidChange }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{ isFluid && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom fluid values' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Set custom min and max values for the fluid font size.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tchecked={ isCustomFluid }\n\t\t\t\t\t\t\t\t\tonChange={ handleCustomFluidValues }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomFluid && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Minimum' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ fontSize.fluid?.min }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleMinChange }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Maximum' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ fontSize.fluid?.max }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleMaxChange }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</View>\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nexport default FontSize;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __, isRTL } from '@wordpress/i18n';
5
+ import { __experimentalItemGroup as ItemGroup, __experimentalVStack as VStack, __experimentalHStack as HStack, FlexItem } from '@wordpress/components';
6
+ import { Icon, chevronLeft, chevronRight } from '@wordpress/icons';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import Subtitle from '../subtitle';
12
+ import { NavigationButtonAsItem } from '../navigation-button';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ function FontSizes() {
16
+ return /*#__PURE__*/_jsxs(VStack, {
17
+ spacing: 2,
18
+ children: [/*#__PURE__*/_jsx(HStack, {
19
+ justify: "space-between",
20
+ children: /*#__PURE__*/_jsx(Subtitle, {
21
+ level: 3,
22
+ children: __('Font Sizes')
23
+ })
24
+ }), /*#__PURE__*/_jsx(ItemGroup, {
25
+ isBordered: true,
26
+ isSeparated: true,
27
+ children: /*#__PURE__*/_jsx(NavigationButtonAsItem, {
28
+ path: "/typography/font-sizes/",
29
+ "aria-label": __('Edit font size presets'),
30
+ children: /*#__PURE__*/_jsxs(HStack, {
31
+ direction: "row",
32
+ children: [/*#__PURE__*/_jsx(FlexItem, {
33
+ children: __('Font size presets')
34
+ }), /*#__PURE__*/_jsx(Icon, {
35
+ icon: isRTL() ? chevronLeft : chevronRight
36
+ })]
37
+ })
38
+ })
39
+ })]
40
+ });
41
+ }
42
+ export default FontSizes;
43
+ //# sourceMappingURL=font-sizes-count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","isRTL","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","Icon","chevronLeft","chevronRight","Subtitle","NavigationButtonAsItem","jsx","_jsx","jsxs","_jsxs","FontSizes","spacing","children","justify","level","isBordered","isSeparated","path","direction","icon"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-sizes-count.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { Icon, chevronLeft, chevronRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Subtitle from '../subtitle';\nimport { NavigationButtonAsItem } from '../navigation-button';\n\nfunction FontSizes() {\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Subtitle level={ 3 }>{ __( 'Font Sizes' ) }</Subtitle>\n\t\t\t</HStack>\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\tpath=\"/typography/font-sizes/\"\n\t\t\t\t\taria-label={ __( 'Edit font size presets' ) }\n\t\t\t\t>\n\t\t\t\t\t<HStack direction=\"row\">\n\t\t\t\t\t\t<FlexItem>{ __( 'Font size presets' ) }</FlexItem>\n\t\t\t\t\t\t<Icon icon={ isRTL() ? chevronLeft : chevronRight } />\n\t\t\t\t\t</HStack>\n\t\t\t\t</NavigationButtonAsItem>\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nexport default FontSizes;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,QAAQ,QACF,uBAAuB;AAC9B,SAASC,IAAI,EAAEC,WAAW,EAAEC,YAAY,QAAQ,kBAAkB;;AAElE;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,sBAAsB,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE9D,SAASC,SAASA,CAAA,EAAG;EACpB,oBACCD,KAAA,CAACZ,MAAM;IAACc,OAAO,EAAG,CAAG;IAAAC,QAAA,gBACpBL,IAAA,CAACR,MAAM;MAACc,OAAO,EAAC,eAAe;MAAAD,QAAA,eAC9BL,IAAA,CAACH,QAAQ;QAACU,KAAK,EAAG,CAAG;QAAAF,QAAA,EAAGpB,EAAE,CAAE,YAAa;MAAC,CAAY;IAAC,CAChD,CAAC,eACTe,IAAA,CAACZ,SAAS;MAACoB,UAAU;MAACC,WAAW;MAAAJ,QAAA,eAChCL,IAAA,CAACF,sBAAsB;QACtBY,IAAI,EAAC,yBAAyB;QAC9B,cAAazB,EAAE,CAAE,wBAAyB,CAAG;QAAAoB,QAAA,eAE7CH,KAAA,CAACV,MAAM;UAACmB,SAAS,EAAC,KAAK;UAAAN,QAAA,gBACtBL,IAAA,CAACP,QAAQ;YAAAY,QAAA,EAAGpB,EAAE,CAAE,mBAAoB;UAAC,CAAY,CAAC,eAClDe,IAAA,CAACN,IAAI;YAACkB,IAAI,EAAG1B,KAAK,CAAC,CAAC,GAAGS,WAAW,GAAGC;UAAc,CAAE,CAAC;QAAA,CAC/C;MAAC,CACc;IAAC,CACf,CAAC;EAAA,CACL,CAAC;AAEX;AAEA,eAAeO,SAAS","ignoreList":[]}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
+ import { __, sprintf, isRTL } from '@wordpress/i18n';
6
+ import { privateApis as componentsPrivateApis, __experimentalSpacer as Spacer, __experimentalView as View, __experimentalItemGroup as ItemGroup, __experimentalVStack as VStack, __experimentalHStack as HStack, FlexItem, FlexBlock, Button } from '@wordpress/components';
7
+ import { Icon, plus, moreVertical, chevronLeft, chevronRight } from '@wordpress/icons';
8
+ import { useState } from '@wordpress/element';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { unlock } from '../../../lock-unlock';
14
+ const {
15
+ DropdownMenuV2: DropdownMenu,
16
+ DropdownMenuItemV2: DropdownMenuItem,
17
+ DropdownMenuItemLabelV2: DropdownMenuItemLabel
18
+ } = unlock(componentsPrivateApis);
19
+ const {
20
+ useGlobalSetting
21
+ } = unlock(blockEditorPrivateApis);
22
+ import Subtitle from '../subtitle';
23
+ import { NavigationButtonAsItem } from '../navigation-button';
24
+ import { getNewIndexFromPresets } from '../utils';
25
+ import ScreenHeader from '../header';
26
+ import ConfirmResetFontSizesDialog from './confirm-reset-font-sizes-dialog';
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ import { Fragment as _Fragment } from "react/jsx-runtime";
30
+ function FontSizeGroup({
31
+ label,
32
+ origin,
33
+ sizes,
34
+ handleAddFontSize,
35
+ handleResetFontSizes
36
+ }) {
37
+ const [isResetDialogOpen, setIsResetDialogOpen] = useState(false);
38
+ const toggleResetDialog = () => setIsResetDialogOpen(!isResetDialogOpen);
39
+ const resetDialogText = origin === 'custom' ? __('Are you sure you want to remove all custom font size presets?') : __('Are you sure you want to reset all font size presets to their default values?');
40
+ return /*#__PURE__*/_jsxs(_Fragment, {
41
+ children: [isResetDialogOpen && /*#__PURE__*/_jsx(ConfirmResetFontSizesDialog, {
42
+ text: resetDialogText,
43
+ confirmButtonText: origin === 'custom' ? __('Remove') : __('Reset'),
44
+ isOpen: isResetDialogOpen,
45
+ toggleOpen: toggleResetDialog,
46
+ onConfirm: handleResetFontSizes
47
+ }), /*#__PURE__*/_jsxs(VStack, {
48
+ spacing: 4,
49
+ children: [/*#__PURE__*/_jsxs(HStack, {
50
+ justify: "space-between",
51
+ align: "center",
52
+ children: [/*#__PURE__*/_jsx(Subtitle, {
53
+ level: 3,
54
+ children: label
55
+ }), /*#__PURE__*/_jsxs(FlexItem, {
56
+ children: [origin === 'custom' && /*#__PURE__*/_jsx(Button, {
57
+ label: __('Add font size'),
58
+ icon: plus,
59
+ size: "small",
60
+ onClick: handleAddFontSize
61
+ }), !!handleResetFontSizes && /*#__PURE__*/_jsx(DropdownMenu, {
62
+ trigger: /*#__PURE__*/_jsx(Button, {
63
+ size: "small",
64
+ icon: moreVertical,
65
+ label: __('Font size presets options')
66
+ }),
67
+ children: /*#__PURE__*/_jsx(DropdownMenuItem, {
68
+ onClick: toggleResetDialog,
69
+ children: /*#__PURE__*/_jsx(DropdownMenuItemLabel, {
70
+ children: origin === 'custom' ? __('Remove font size presets') : __('Reset font size presets')
71
+ })
72
+ })
73
+ })]
74
+ })]
75
+ }), !!sizes.length && /*#__PURE__*/_jsx(ItemGroup, {
76
+ isBordered: true,
77
+ isSeparated: true,
78
+ children: sizes.map(size => /*#__PURE__*/_jsx(NavigationButtonAsItem, {
79
+ path: `/typography/font-sizes/${origin}/${size.slug}`,
80
+ children: /*#__PURE__*/_jsxs(HStack, {
81
+ direction: "row",
82
+ children: [/*#__PURE__*/_jsx(FlexItem, {
83
+ className: "edit-site-font-size__item",
84
+ children: size.name
85
+ }), /*#__PURE__*/_jsx(FlexItem, {
86
+ children: /*#__PURE__*/_jsxs(HStack, {
87
+ justify: "flex-end",
88
+ children: [/*#__PURE__*/_jsx(FlexBlock, {
89
+ className: "edit-site-font-size__item edit-site-font-size__item-value",
90
+ children: size.size
91
+ }), /*#__PURE__*/_jsx(Icon, {
92
+ icon: isRTL() ? chevronLeft : chevronRight
93
+ })]
94
+ })
95
+ })]
96
+ })
97
+ }, size.slug))
98
+ })]
99
+ })]
100
+ });
101
+ }
102
+ function FontSizes() {
103
+ const [themeFontSizes, setThemeFontSizes] = useGlobalSetting('typography.fontSizes.theme');
104
+ const [baseThemeFontSizes] = useGlobalSetting('typography.fontSizes.theme', null, 'base');
105
+ const [defaultFontSizes, setDefaultFontSizes] = useGlobalSetting('typography.fontSizes.default');
106
+ const [baseDefaultFontSizes] = useGlobalSetting('typography.fontSizes.default', null, 'base');
107
+ const [customFontSizes = [], setCustomFontSizes] = useGlobalSetting('typography.fontSizes.custom');
108
+ const [defaultFontSizesEnabled] = useGlobalSetting('typography.defaultFontSizes');
109
+ const handleAddFontSize = () => {
110
+ const index = getNewIndexFromPresets(customFontSizes, 'custom-');
111
+ const newFontSize = {
112
+ /* translators: %d: font size index */
113
+ name: sprintf(__('New Font Size %d'), index),
114
+ size: '16px',
115
+ slug: `custom-${index}`
116
+ };
117
+ setCustomFontSizes([...customFontSizes, newFontSize]);
118
+ };
119
+ const hasSameSizeValues = (arr1, arr2) => arr1.map(item => item.size).join('') === arr2.map(item => item.size).join('');
120
+ return /*#__PURE__*/_jsxs(VStack, {
121
+ spacing: 2,
122
+ children: [/*#__PURE__*/_jsx(ScreenHeader, {
123
+ title: __('Font size presets'),
124
+ description: __('Create and edit the presets used for font sizes across the site.')
125
+ }), /*#__PURE__*/_jsx(View, {
126
+ children: /*#__PURE__*/_jsx(Spacer, {
127
+ paddingX: 4,
128
+ children: /*#__PURE__*/_jsxs(VStack, {
129
+ spacing: 8,
130
+ children: [!!themeFontSizes?.length && /*#__PURE__*/_jsx(FontSizeGroup, {
131
+ label: __('Theme'),
132
+ origin: "theme",
133
+ sizes: themeFontSizes,
134
+ baseSizes: baseThemeFontSizes,
135
+ handleAddFontSize: handleAddFontSize,
136
+ handleResetFontSizes: hasSameSizeValues(themeFontSizes, baseThemeFontSizes) ? null : () => setThemeFontSizes(baseThemeFontSizes)
137
+ }), defaultFontSizesEnabled && !!defaultFontSizes?.length && /*#__PURE__*/_jsx(FontSizeGroup, {
138
+ label: __('Default'),
139
+ origin: "default",
140
+ sizes: defaultFontSizes,
141
+ baseSizes: baseDefaultFontSizes,
142
+ handleAddFontSize: handleAddFontSize,
143
+ handleResetFontSizes: hasSameSizeValues(defaultFontSizes, baseDefaultFontSizes) ? null : () => setDefaultFontSizes(baseDefaultFontSizes)
144
+ }), /*#__PURE__*/_jsx(FontSizeGroup, {
145
+ label: __('Custom'),
146
+ origin: "custom",
147
+ sizes: customFontSizes,
148
+ handleAddFontSize: handleAddFontSize,
149
+ handleResetFontSizes: customFontSizes.length > 0 ? () => setCustomFontSizes([]) : null
150
+ })]
151
+ })
152
+ })
153
+ })]
154
+ });
155
+ }
156
+ export default FontSizes;
157
+ //# sourceMappingURL=font-sizes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["privateApis","blockEditorPrivateApis","__","sprintf","isRTL","componentsPrivateApis","__experimentalSpacer","Spacer","__experimentalView","View","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","FlexBlock","Button","Icon","plus","moreVertical","chevronLeft","chevronRight","useState","unlock","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","useGlobalSetting","Subtitle","NavigationButtonAsItem","getNewIndexFromPresets","ScreenHeader","ConfirmResetFontSizesDialog","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FontSizeGroup","label","origin","sizes","handleAddFontSize","handleResetFontSizes","isResetDialogOpen","setIsResetDialogOpen","toggleResetDialog","resetDialogText","children","text","confirmButtonText","isOpen","toggleOpen","onConfirm","spacing","justify","align","level","icon","size","onClick","trigger","length","isBordered","isSeparated","map","path","slug","direction","className","name","FontSizes","themeFontSizes","setThemeFontSizes","baseThemeFontSizes","defaultFontSizes","setDefaultFontSizes","baseDefaultFontSizes","customFontSizes","setCustomFontSizes","defaultFontSizesEnabled","index","newFontSize","hasSameSizeValues","arr1","arr2","item","join","title","description","paddingX","baseSizes"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__experimentalSpacer as Spacer,\n\t__experimentalView as View,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tIcon,\n\tplus,\n\tmoreVertical,\n\tchevronLeft,\n\tchevronRight,\n} from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport Subtitle from '../subtitle';\nimport { NavigationButtonAsItem } from '../navigation-button';\nimport { getNewIndexFromPresets } from '../utils';\nimport ScreenHeader from '../header';\nimport ConfirmResetFontSizesDialog from './confirm-reset-font-sizes-dialog';\n\nfunction FontSizeGroup( {\n\tlabel,\n\torigin,\n\tsizes,\n\thandleAddFontSize,\n\thandleResetFontSizes,\n} ) {\n\tconst [ isResetDialogOpen, setIsResetDialogOpen ] = useState( false );\n\n\tconst toggleResetDialog = () => setIsResetDialogOpen( ! isResetDialogOpen );\n\n\tconst resetDialogText =\n\t\torigin === 'custom'\n\t\t\t? __(\n\t\t\t\t\t'Are you sure you want to remove all custom font size presets?'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Are you sure you want to reset all font size presets to their default values?'\n\t\t\t );\n\n\treturn (\n\t\t<>\n\t\t\t{ isResetDialogOpen && (\n\t\t\t\t<ConfirmResetFontSizesDialog\n\t\t\t\t\ttext={ resetDialogText }\n\t\t\t\t\tconfirmButtonText={\n\t\t\t\t\t\torigin === 'custom' ? __( 'Remove' ) : __( 'Reset' )\n\t\t\t\t\t}\n\t\t\t\t\tisOpen={ isResetDialogOpen }\n\t\t\t\t\ttoggleOpen={ toggleResetDialog }\n\t\t\t\t\tonConfirm={ handleResetFontSizes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack justify=\"space-between\" align=\"center\">\n\t\t\t\t\t<Subtitle level={ 3 }>{ label }</Subtitle>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ origin === 'custom' && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Add font size' ) }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={ handleAddFontSize }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! handleResetFontSizes && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Font size presets options'\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}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownMenuItem onClick={ toggleResetDialog }>\n\t\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ origin === 'custom'\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Remove font size presets' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset font size presets' ) }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\n\t\t\t\t{ !! sizes.length && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ sizes.map( ( size ) => (\n\t\t\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\t\t\tkey={ size.slug }\n\t\t\t\t\t\t\t\tpath={ `/typography/font-sizes/${ origin }/${ size.slug }` }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack direction=\"row\">\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-font-size__item\">\n\t\t\t\t\t\t\t\t\t\t{ size.name }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-font-size__item edit-site-font-size__item-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ size.size }\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisRTL()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? chevronLeft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: chevronRight\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nfunction FontSizes() {\n\tconst [ themeFontSizes, setThemeFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.theme'\n\t);\n\n\tconst [ baseThemeFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.theme',\n\t\tnull,\n\t\t'base'\n\t);\n\tconst [ defaultFontSizes, setDefaultFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.default'\n\t);\n\n\tconst [ baseDefaultFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.default',\n\t\tnull,\n\t\t'base'\n\t);\n\n\tconst [ customFontSizes = [], setCustomFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.custom'\n\t);\n\n\tconst [ defaultFontSizesEnabled ] = useGlobalSetting(\n\t\t'typography.defaultFontSizes'\n\t);\n\n\tconst handleAddFontSize = () => {\n\t\tconst index = getNewIndexFromPresets( customFontSizes, 'custom-' );\n\t\tconst newFontSize = {\n\t\t\t/* translators: %d: font size index */\n\t\t\tname: sprintf( __( 'New Font Size %d' ), index ),\n\t\t\tsize: '16px',\n\t\t\tslug: `custom-${ index }`,\n\t\t};\n\n\t\tsetCustomFontSizes( [ ...customFontSizes, newFontSize ] );\n\t};\n\n\tconst hasSameSizeValues = ( arr1, arr2 ) =>\n\t\tarr1.map( ( item ) => item.size ).join( '' ) ===\n\t\tarr2.map( ( item ) => item.size ).join( '' );\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Font size presets' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Create and edit the presets used for font sizes across the site.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<View>\n\t\t\t\t<Spacer paddingX={ 4 }>\n\t\t\t\t\t<VStack spacing={ 8 }>\n\t\t\t\t\t\t{ !! themeFontSizes?.length && (\n\t\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\t\torigin=\"theme\"\n\t\t\t\t\t\t\t\tsizes={ themeFontSizes }\n\t\t\t\t\t\t\t\tbaseSizes={ baseThemeFontSizes }\n\t\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\t\thasSameSizeValues(\n\t\t\t\t\t\t\t\t\t\tthemeFontSizes,\n\t\t\t\t\t\t\t\t\t\tbaseThemeFontSizes\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetThemeFontSizes(\n\t\t\t\t\t\t\t\t\t\t\t\t\tbaseThemeFontSizes\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ defaultFontSizesEnabled &&\n\t\t\t\t\t\t\t!! defaultFontSizes?.length && (\n\t\t\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\t\t\t\torigin=\"default\"\n\t\t\t\t\t\t\t\t\tsizes={ defaultFontSizes }\n\t\t\t\t\t\t\t\t\tbaseSizes={ baseDefaultFontSizes }\n\t\t\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\t\t\thasSameSizeValues(\n\t\t\t\t\t\t\t\t\t\t\tdefaultFontSizes,\n\t\t\t\t\t\t\t\t\t\t\tbaseDefaultFontSizes\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetDefaultFontSizes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbaseDefaultFontSizes\n\t\t\t\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/>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\torigin=\"custom\"\n\t\t\t\t\t\t\tsizes={ customFontSizes }\n\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\tcustomFontSizes.length > 0\n\t\t\t\t\t\t\t\t\t? () => setCustomFontSizes( [] )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default FontSizes;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;AAC/E,SAASC,EAAE,EAAEC,OAAO,EAAEC,KAAK,QAAQ,iBAAiB;AACpD,SACCJ,WAAW,IAAIK,qBAAqB,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,kBAAkB,IAAIC,IAAI,EAC1BC,uBAAuB,IAAIC,SAAS,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,QAAQ,EACRC,SAAS,EACTC,MAAM,QACA,uBAAuB;AAC9B,SACCC,IAAI,EACJC,IAAI,EACJC,YAAY,EACZC,WAAW,EACXC,YAAY,QACN,kBAAkB;AACzB,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,MAAM;EACLC,cAAc,EAAEC,YAAY;EAC5BC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,MAAM,CAAEpB,qBAAsB,CAAC;AACnC,MAAM;EAAE2B;AAAiB,CAAC,GAAGP,MAAM,CAAExB,sBAAuB,CAAC;AAC7D,OAAOgC,QAAQ,MAAM,aAAa;AAClC,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,sBAAsB,QAAQ,UAAU;AACjD,OAAOC,YAAY,MAAM,WAAW;AACpC,OAAOC,2BAA2B,MAAM,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE5E,SAASC,aAAaA,CAAE;EACvBC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG3B,QAAQ,CAAE,KAAM,CAAC;EAErE,MAAM4B,iBAAiB,GAAGA,CAAA,KAAMD,oBAAoB,CAAE,CAAED,iBAAkB,CAAC;EAE3E,MAAMG,eAAe,GACpBP,MAAM,KAAK,QAAQ,GAChB5C,EAAE,CACF,+DACA,CAAC,GACDA,EAAE,CACF,+EACA,CAAC;EAEL,oBACCuC,KAAA,CAAAE,SAAA;IAAAW,QAAA,GACGJ,iBAAiB,iBAClBX,IAAA,CAACF,2BAA2B;MAC3BkB,IAAI,EAAGF,eAAiB;MACxBG,iBAAiB,EAChBV,MAAM,KAAK,QAAQ,GAAG5C,EAAE,CAAE,QAAS,CAAC,GAAGA,EAAE,CAAE,OAAQ,CACnD;MACDuD,MAAM,EAAGP,iBAAmB;MAC5BQ,UAAU,EAAGN,iBAAmB;MAChCO,SAAS,EAAGV;IAAsB,CAClC,CACD,eACDR,KAAA,CAAC5B,MAAM;MAAC+C,OAAO,EAAG,CAAG;MAAAN,QAAA,gBACpBb,KAAA,CAAC1B,MAAM;QAAC8C,OAAO,EAAC,eAAe;QAACC,KAAK,EAAC,QAAQ;QAAAR,QAAA,gBAC7Cf,IAAA,CAACN,QAAQ;UAAC8B,KAAK,EAAG,CAAG;UAAAT,QAAA,EAAGT;QAAK,CAAY,CAAC,eAC1CJ,KAAA,CAACzB,QAAQ;UAAAsC,QAAA,GACNR,MAAM,KAAK,QAAQ,iBACpBP,IAAA,CAACrB,MAAM;YACN2B,KAAK,EAAG3C,EAAE,CAAE,eAAgB,CAAG;YAC/B8D,IAAI,EAAG5C,IAAM;YACb6C,IAAI,EAAC,OAAO;YACZC,OAAO,EAAGlB;UAAmB,CAC7B,CACD,EACC,CAAC,CAAEC,oBAAoB,iBACxBV,IAAA,CAACZ,YAAY;YACZwC,OAAO,eACN5B,IAAA,CAACrB,MAAM;cACN+C,IAAI,EAAC,OAAO;cACZD,IAAI,EAAG3C,YAAc;cACrBwB,KAAK,EAAG3C,EAAE,CACT,2BACD;YAAG,CACH,CACD;YAAAoD,QAAA,eAEDf,IAAA,CAACV,gBAAgB;cAACqC,OAAO,EAAGd,iBAAmB;cAAAE,QAAA,eAC9Cf,IAAA,CAACR,qBAAqB;gBAAAuB,QAAA,EACnBR,MAAM,KAAK,QAAQ,GAClB5C,EAAE,CAAE,0BAA2B,CAAC,GAChCA,EAAE,CAAE,yBAA0B;cAAC,CACZ;YAAC,CACP;UAAC,CACN,CACd;QAAA,CACQ,CAAC;MAAA,CACJ,CAAC,EAEP,CAAC,CAAE6C,KAAK,CAACqB,MAAM,iBAChB7B,IAAA,CAAC5B,SAAS;QAAC0D,UAAU;QAACC,WAAW;QAAAhB,QAAA,EAC9BP,KAAK,CAACwB,GAAG,CAAIN,IAAI,iBAClB1B,IAAA,CAACL,sBAAsB;UAEtBsC,IAAI,EAAI,0BAA0B1B,MAAQ,IAAImB,IAAI,CAACQ,IAAM,EAAG;UAAAnB,QAAA,eAE5Db,KAAA,CAAC1B,MAAM;YAAC2D,SAAS,EAAC,KAAK;YAAApB,QAAA,gBACtBf,IAAA,CAACvB,QAAQ;cAAC2D,SAAS,EAAC,2BAA2B;cAAArB,QAAA,EAC5CW,IAAI,CAACW;YAAI,CACF,CAAC,eACXrC,IAAA,CAACvB,QAAQ;cAAAsC,QAAA,eACRb,KAAA,CAAC1B,MAAM;gBAAC8C,OAAO,EAAC,UAAU;gBAAAP,QAAA,gBACzBf,IAAA,CAACtB,SAAS;kBAAC0D,SAAS,EAAC,2DAA2D;kBAAArB,QAAA,EAC7EW,IAAI,CAACA;gBAAI,CACD,CAAC,eACZ1B,IAAA,CAACpB,IAAI;kBACJ6C,IAAI,EACH5D,KAAK,CAAC,CAAC,GACJkB,WAAW,GACXC;gBACH,CACD,CAAC;cAAA,CACK;YAAC,CACA,CAAC;UAAA,CACJ;QAAC,GArBH0C,IAAI,CAACQ,IAsBY,CACvB;MAAC,CACO,CACX;IAAA,CACM,CAAC;EAAA,CACR,CAAC;AAEL;AAEA,SAASI,SAASA,CAAA,EAAG;EACpB,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG/C,gBAAgB,CAC7D,4BACD,CAAC;EAED,MAAM,CAAEgD,kBAAkB,CAAE,GAAGhD,gBAAgB,CAC9C,4BAA4B,EAC5B,IAAI,EACJ,MACD,CAAC;EACD,MAAM,CAAEiD,gBAAgB,EAAEC,mBAAmB,CAAE,GAAGlD,gBAAgB,CACjE,8BACD,CAAC;EAED,MAAM,CAAEmD,oBAAoB,CAAE,GAAGnD,gBAAgB,CAChD,8BAA8B,EAC9B,IAAI,EACJ,MACD,CAAC;EAED,MAAM,CAAEoD,eAAe,GAAG,EAAE,EAAEC,kBAAkB,CAAE,GAAGrD,gBAAgB,CACpE,6BACD,CAAC;EAED,MAAM,CAAEsD,uBAAuB,CAAE,GAAGtD,gBAAgB,CACnD,6BACD,CAAC;EAED,MAAMgB,iBAAiB,GAAGA,CAAA,KAAM;IAC/B,MAAMuC,KAAK,GAAGpD,sBAAsB,CAAEiD,eAAe,EAAE,SAAU,CAAC;IAClE,MAAMI,WAAW,GAAG;MACnB;MACAZ,IAAI,EAAEzE,OAAO,CAAED,EAAE,CAAE,kBAAmB,CAAC,EAAEqF,KAAM,CAAC;MAChDtB,IAAI,EAAE,MAAM;MACZQ,IAAI,EAAG,UAAUc,KAAO;IACzB,CAAC;IAEDF,kBAAkB,CAAE,CAAE,GAAGD,eAAe,EAAEI,WAAW,CAAG,CAAC;EAC1D,CAAC;EAED,MAAMC,iBAAiB,GAAGA,CAAEC,IAAI,EAAEC,IAAI,KACrCD,IAAI,CAACnB,GAAG,CAAIqB,IAAI,IAAMA,IAAI,CAAC3B,IAAK,CAAC,CAAC4B,IAAI,CAAE,EAAG,CAAC,KAC5CF,IAAI,CAACpB,GAAG,CAAIqB,IAAI,IAAMA,IAAI,CAAC3B,IAAK,CAAC,CAAC4B,IAAI,CAAE,EAAG,CAAC;EAE7C,oBACCpD,KAAA,CAAC5B,MAAM;IAAC+C,OAAO,EAAG,CAAG;IAAAN,QAAA,gBACpBf,IAAA,CAACH,YAAY;MACZ0D,KAAK,EAAG5F,EAAE,CAAE,mBAAoB,CAAG;MACnC6F,WAAW,EAAG7F,EAAE,CACf,kEACD;IAAG,CACH,CAAC,eAEFqC,IAAA,CAAC9B,IAAI;MAAA6C,QAAA,eACJf,IAAA,CAAChC,MAAM;QAACyF,QAAQ,EAAG,CAAG;QAAA1C,QAAA,eACrBb,KAAA,CAAC5B,MAAM;UAAC+C,OAAO,EAAG,CAAG;UAAAN,QAAA,GAClB,CAAC,CAAEwB,cAAc,EAAEV,MAAM,iBAC1B7B,IAAA,CAACK,aAAa;YACbC,KAAK,EAAG3C,EAAE,CAAE,OAAQ,CAAG;YACvB4C,MAAM,EAAC,OAAO;YACdC,KAAK,EAAG+B,cAAgB;YACxBmB,SAAS,EAAGjB,kBAAoB;YAChChC,iBAAiB,EAAGA,iBAAmB;YACvCC,oBAAoB,EACnBwC,iBAAiB,CAChBX,cAAc,EACdE,kBACD,CAAC,GACE,IAAI,GACJ,MACAD,iBAAiB,CAChBC,kBACD;UACH,CACD,CACD,EAECM,uBAAuB,IACxB,CAAC,CAAEL,gBAAgB,EAAEb,MAAM,iBAC1B7B,IAAA,CAACK,aAAa;YACbC,KAAK,EAAG3C,EAAE,CAAE,SAAU,CAAG;YACzB4C,MAAM,EAAC,SAAS;YAChBC,KAAK,EAAGkC,gBAAkB;YAC1BgB,SAAS,EAAGd,oBAAsB;YAClCnC,iBAAiB,EAAGA,iBAAmB;YACvCC,oBAAoB,EACnBwC,iBAAiB,CAChBR,gBAAgB,EAChBE,oBACD,CAAC,GACE,IAAI,GACJ,MACAD,mBAAmB,CAClBC,oBACD;UACH,CACD,CACD,eAEF5C,IAAA,CAACK,aAAa;YACbC,KAAK,EAAG3C,EAAE,CAAE,QAAS,CAAG;YACxB4C,MAAM,EAAC,QAAQ;YACfC,KAAK,EAAGqC,eAAiB;YACzBpC,iBAAiB,EAAGA,iBAAmB;YACvCC,oBAAoB,EACnBmC,eAAe,CAAChB,MAAM,GAAG,CAAC,GACvB,MAAMiB,kBAAkB,CAAE,EAAG,CAAC,GAC9B;UACH,CACD,CAAC;QAAA,CACK;MAAC,CACF;IAAC,CACJ,CAAC;EAAA,CACA,CAAC;AAEX;AAEA,eAAeR,SAAS","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __experimentalInputControl as InputControl, __experimentalVStack as VStack, __experimentalHStack as HStack, Button, Modal } from '@wordpress/components';
5
+ import { __ } from '@wordpress/i18n';
6
+ import { useState } from '@wordpress/element';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ function RenameFontSizeDialog({
10
+ fontSize,
11
+ toggleOpen,
12
+ handleRename
13
+ }) {
14
+ const [newName, setNewName] = useState(fontSize.name);
15
+ const handleConfirm = () => {
16
+ // If the new name is not empty, call the handleRename function
17
+ if (newName.trim()) {
18
+ handleRename(newName);
19
+ }
20
+ toggleOpen();
21
+ };
22
+ return /*#__PURE__*/_jsx(Modal, {
23
+ onRequestClose: toggleOpen,
24
+ focusOnMount: "firstContentElement",
25
+ title: __('Rename'),
26
+ size: "small",
27
+ children: /*#__PURE__*/_jsx("form", {
28
+ onSubmit: event => {
29
+ event.preventDefault();
30
+ handleConfirm();
31
+ toggleOpen();
32
+ },
33
+ children: /*#__PURE__*/_jsxs(VStack, {
34
+ spacing: "3",
35
+ children: [/*#__PURE__*/_jsx(InputControl, {
36
+ __next40pxDefaultSize: true,
37
+ autoComplete: "off",
38
+ value: newName,
39
+ onChange: setNewName,
40
+ label: __('Name'),
41
+ placeholder: __('Font size preset name')
42
+ }), /*#__PURE__*/_jsxs(HStack, {
43
+ justify: "right",
44
+ children: [/*#__PURE__*/_jsx(Button, {
45
+ __next40pxDefaultSize: true,
46
+ variant: "tertiary",
47
+ onClick: toggleOpen,
48
+ children: __('Cancel')
49
+ }), /*#__PURE__*/_jsx(Button, {
50
+ __next40pxDefaultSize: true,
51
+ variant: "primary",
52
+ type: "submit",
53
+ children: __('Save')
54
+ })]
55
+ })]
56
+ })
57
+ })
58
+ });
59
+ }
60
+ export default RenameFontSizeDialog;
61
+ //# sourceMappingURL=rename-font-size-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__experimentalInputControl","InputControl","__experimentalVStack","VStack","__experimentalHStack","HStack","Button","Modal","__","useState","jsx","_jsx","jsxs","_jsxs","RenameFontSizeDialog","fontSize","toggleOpen","handleRename","newName","setNewName","name","handleConfirm","trim","onRequestClose","focusOnMount","title","size","children","onSubmit","event","preventDefault","spacing","__next40pxDefaultSize","autoComplete","value","onChange","label","placeholder","justify","variant","onClick","type"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/rename-font-size-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControl as InputControl,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\nfunction RenameFontSizeDialog( { fontSize, toggleOpen, handleRename } ) {\n\tconst [ newName, setNewName ] = useState( fontSize.name );\n\n\tconst handleConfirm = () => {\n\t\t// If the new name is not empty, call the handleRename function\n\t\tif ( newName.trim() ) {\n\t\t\thandleRename( newName );\n\t\t}\n\t\ttoggleOpen();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\tonRequestClose={ toggleOpen }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\thandleConfirm();\n\t\t\t\t\ttoggleOpen();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<InputControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tvalue={ newName }\n\t\t\t\t\t\tonChange={ setNewName }\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Font size preset name' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ toggleOpen }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n\nexport default RenameFontSizeDialog;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,0BAA0B,IAAIC,YAAY,EAC1CC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,MAAM,EACNC,KAAK,QACC,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE9C,SAASC,oBAAoBA,CAAE;EAAEC,QAAQ;EAAEC,UAAU;EAAEC;AAAa,CAAC,EAAG;EACvE,MAAM,CAAEC,OAAO,EAAEC,UAAU,CAAE,GAAGV,QAAQ,CAAEM,QAAQ,CAACK,IAAK,CAAC;EAEzD,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3B;IACA,IAAKH,OAAO,CAACI,IAAI,CAAC,CAAC,EAAG;MACrBL,YAAY,CAAEC,OAAQ,CAAC;IACxB;IACAF,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACCL,IAAA,CAACJ,KAAK;IACLgB,cAAc,EAAGP,UAAY;IAC7BQ,YAAY,EAAC,qBAAqB;IAClCC,KAAK,EAAGjB,EAAE,CAAE,QAAS,CAAG;IACxBkB,IAAI,EAAC,OAAO;IAAAC,QAAA,eAEZhB,IAAA;MACCiB,QAAQ,EAAKC,KAAK,IAAM;QACvBA,KAAK,CAACC,cAAc,CAAC,CAAC;QACtBT,aAAa,CAAC,CAAC;QACfL,UAAU,CAAC,CAAC;MACb,CAAG;MAAAW,QAAA,eAEHd,KAAA,CAACV,MAAM;QAAC4B,OAAO,EAAC,GAAG;QAAAJ,QAAA,gBAClBhB,IAAA,CAACV,YAAY;UACZ+B,qBAAqB;UACrBC,YAAY,EAAC,KAAK;UAClBC,KAAK,EAAGhB,OAAS;UACjBiB,QAAQ,EAAGhB,UAAY;UACvBiB,KAAK,EAAG5B,EAAE,CAAE,MAAO,CAAG;UACtB6B,WAAW,EAAG7B,EAAE,CAAE,uBAAwB;QAAG,CAC7C,CAAC,eACFK,KAAA,CAACR,MAAM;UAACiC,OAAO,EAAC,OAAO;UAAAX,QAAA,gBACtBhB,IAAA,CAACL,MAAM;YACN0B,qBAAqB;YACrBO,OAAO,EAAC,UAAU;YAClBC,OAAO,EAAGxB,UAAY;YAAAW,QAAA,EAEpBnB,EAAE,CAAE,QAAS;UAAC,CACT,CAAC,eACTG,IAAA,CAACL,MAAM;YACN0B,qBAAqB;YACrBO,OAAO,EAAC,SAAS;YACjBE,IAAI,EAAC,QAAQ;YAAAd,QAAA,EAEXnB,EAAE,CAAE,MAAO;UAAC,CACP,CAAC;QAAA,CACF,CAAC;MAAA,CACF;IAAC,CACJ;EAAC,CACD,CAAC;AAEV;AAEA,eAAeM,oBAAoB","ignoreList":[]}
@@ -73,7 +73,8 @@ const {
73
73
  DimensionsPanel: StylesDimensionsPanel,
74
74
  FiltersPanel: StylesFiltersPanel,
75
75
  ImageSettingsPanel,
76
- AdvancedPanel: StylesAdvancedPanel
76
+ AdvancedPanel: StylesAdvancedPanel,
77
+ useGlobalStyleLinks
77
78
  } = unlock(blockEditorPrivateApis);
78
79
  function ScreenBlock({
79
80
  name,
@@ -94,6 +95,7 @@ function ScreenBlock({
94
95
  const [rawSettings, setSettings] = useGlobalSetting('', name);
95
96
  const settings = useSettingsForBlockElement(rawSettings, name);
96
97
  const blockType = getBlockType(name);
98
+ const _links = useGlobalStyleLinks();
97
99
 
98
100
  // Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.
99
101
  if (settings?.spacing?.blockGap && blockType?.supports?.spacing?.blockGap && (blockType?.supports?.spacing?.__experimentalSkipSerialization === true || blockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(spacingType => spacingType === 'blockGap'))) {
@@ -243,6 +245,13 @@ function ScreenBlock({
243
245
  value: style,
244
246
  onChange: setStyle,
245
247
  settings: settings
248
+ }), hasBackgroundPanel && /*#__PURE__*/_jsx(StylesBackgroundPanel, {
249
+ inheritedValue: inheritedStyle,
250
+ value: style,
251
+ onChange: setStyle,
252
+ settings: settings,
253
+ defaultValues: BACKGROUND_BLOCK_DEFAULT_VALUES,
254
+ themeFileURIs: _links?.['wp:theme-file']
246
255
  }), hasTypographyPanel && /*#__PURE__*/_jsx(StylesTypographyPanel, {
247
256
  inheritedValue: inheritedStyle,
248
257
  value: style,
@@ -269,13 +278,6 @@ function ScreenBlock({
269
278
  onChange: onChangeLightbox,
270
279
  value: userSettings,
271
280
  inheritedValue: settings
272
- }), hasBackgroundPanel && /*#__PURE__*/_jsx(StylesBackgroundPanel, {
273
- inheritedValue: inheritedStyle,
274
- value: style,
275
- onChange: setStyle,
276
- settings: settings,
277
- defaultValues: BACKGROUND_BLOCK_DEFAULT_VALUES,
278
- defaultControls: blockType?.supports?.background?.__experimentalDefaultControls
279
281
  }), canEditCSS && /*#__PURE__*/_jsxs(PanelBody, {
280
282
  title: __('Advanced'),
281
283
  initialOpen: false,