@wordpress/edit-site 6.3.0 → 6.4.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 (221) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +8 -2
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -1
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +1 -82
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/global-styles/block-preview-panel.js +14 -5
  9. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  10. package/build/components/global-styles/font-families.js +42 -23
  11. package/build/components/global-styles/font-families.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/index.js +4 -4
  13. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/installed-fonts.js +58 -10
  15. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  16. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
  17. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  18. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
  19. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  20. package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
  21. package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  22. package/build/components/global-styles/font-sizes/font-size.js +213 -0
  23. package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
  24. package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
  25. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  26. package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
  27. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  28. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
  29. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  30. package/build/components/global-styles/screen-block.js +10 -8
  31. package/build/components/global-styles/screen-block.js.map +1 -1
  32. package/build/components/global-styles/screen-style-variations.js +2 -2
  33. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  34. package/build/components/global-styles/screen-typography.js +3 -2
  35. package/build/components/global-styles/screen-typography.js.map +1 -1
  36. package/build/components/global-styles/size-control/index.js +85 -0
  37. package/build/components/global-styles/size-control/index.js.map +1 -0
  38. package/build/components/global-styles/style-variations-container.js +3 -0
  39. package/build/components/global-styles/style-variations-container.js.map +1 -1
  40. package/build/components/global-styles/ui.js +8 -0
  41. package/build/components/global-styles/ui.js.map +1 -1
  42. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  43. package/build/components/global-styles/variations/variations-typography.js +1 -1
  44. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  45. package/build/components/layout/index.js +6 -0
  46. package/build/components/layout/index.js.map +1 -1
  47. package/build/components/layout/router.js +14 -6
  48. package/build/components/layout/router.js.map +1 -1
  49. package/build/components/page-patterns/header.js +1 -1
  50. package/build/components/page-patterns/header.js.map +1 -1
  51. package/build/components/page-patterns/index.js +23 -11
  52. package/build/components/page-patterns/index.js.map +1 -1
  53. package/build/components/page-templates/index.js +41 -34
  54. package/build/components/page-templates/index.js.map +1 -1
  55. package/build/components/post-edit/index.js +105 -0
  56. package/build/components/post-edit/index.js.map +1 -0
  57. package/build/components/post-fields/index.js +314 -0
  58. package/build/components/post-fields/index.js.map +1 -0
  59. package/build/components/post-list/index.js +281 -0
  60. package/build/components/post-list/index.js.map +1 -0
  61. package/build/components/posts-app/router.js +3 -3
  62. package/build/components/posts-app/router.js.map +1 -1
  63. package/build/components/sidebar-dataviews/default-views.js +22 -10
  64. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  65. package/build/components/sidebar-dataviews/index.js +40 -1
  66. package/build/components/sidebar-dataviews/index.js.map +1 -1
  67. package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
  68. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  69. package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  70. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  71. package/build/hooks/push-changes-to-global-styles/index.js +1 -1
  72. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  73. package/build/index.js +5 -1
  74. package/build/index.js.map +1 -1
  75. package/build/store/selectors.js +34 -6
  76. package/build/store/selectors.js.map +1 -1
  77. package/build/utils/get-filtered-template-parts.js +64 -0
  78. package/build/utils/get-filtered-template-parts.js.map +1 -0
  79. package/build-module/components/add-new-pattern/index.js +8 -2
  80. package/build-module/components/add-new-pattern/index.js.map +1 -1
  81. package/build-module/components/add-new-template/index.js +3 -1
  82. package/build-module/components/add-new-template/index.js.map +1 -1
  83. package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
  84. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  85. package/build-module/components/global-styles/block-preview-panel.js +14 -5
  86. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  87. package/build-module/components/global-styles/font-families.js +44 -25
  88. package/build-module/components/global-styles/font-families.js.map +1 -1
  89. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  90. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  91. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +61 -13
  92. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  93. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
  94. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  95. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
  96. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  97. package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
  98. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  99. package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
  100. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
  101. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
  102. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  103. package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
  104. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  105. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
  106. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  107. package/build-module/components/global-styles/screen-block.js +10 -8
  108. package/build-module/components/global-styles/screen-block.js.map +1 -1
  109. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  110. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  111. package/build-module/components/global-styles/screen-typography.js +3 -2
  112. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  113. package/build-module/components/global-styles/size-control/index.js +79 -0
  114. package/build-module/components/global-styles/size-control/index.js.map +1 -0
  115. package/build-module/components/global-styles/style-variations-container.js +3 -0
  116. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  117. package/build-module/components/global-styles/ui.js +8 -0
  118. package/build-module/components/global-styles/ui.js.map +1 -1
  119. package/build-module/components/global-styles/variations/variations-color.js +1 -1
  120. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  121. package/build-module/components/global-styles/variations/variations-typography.js +1 -2
  122. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  123. package/build-module/components/layout/index.js +6 -0
  124. package/build-module/components/layout/index.js.map +1 -1
  125. package/build-module/components/layout/router.js +14 -6
  126. package/build-module/components/layout/router.js.map +1 -1
  127. package/build-module/components/page-patterns/header.js +1 -1
  128. package/build-module/components/page-patterns/header.js.map +1 -1
  129. package/build-module/components/page-patterns/index.js +23 -11
  130. package/build-module/components/page-patterns/index.js.map +1 -1
  131. package/build-module/components/page-templates/index.js +43 -37
  132. package/build-module/components/page-templates/index.js.map +1 -1
  133. package/build-module/components/post-edit/index.js +98 -0
  134. package/build-module/components/post-edit/index.js.map +1 -0
  135. package/build-module/components/post-fields/index.js +306 -0
  136. package/build-module/components/post-fields/index.js.map +1 -0
  137. package/build-module/components/post-list/index.js +275 -0
  138. package/build-module/components/post-list/index.js.map +1 -0
  139. package/build-module/components/posts-app/router.js +3 -3
  140. package/build-module/components/posts-app/router.js.map +1 -1
  141. package/build-module/components/sidebar-dataviews/default-views.js +21 -9
  142. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  143. package/build-module/components/sidebar-dataviews/index.js +42 -3
  144. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  145. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
  146. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  147. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  148. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  149. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
  150. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  151. package/build-module/index.js +5 -1
  152. package/build-module/index.js.map +1 -1
  153. package/build-module/store/selectors.js +35 -7
  154. package/build-module/store/selectors.js.map +1 -1
  155. package/build-module/utils/get-filtered-template-parts.js +57 -0
  156. package/build-module/utils/get-filtered-template-parts.js.map +1 -0
  157. package/build-style/posts-rtl.css +581 -503
  158. package/build-style/posts.css +581 -503
  159. package/build-style/style-rtl.css +621 -519
  160. package/build-style/style.css +621 -519
  161. package/package.json +41 -41
  162. package/src/components/add-new-pattern/index.js +8 -2
  163. package/src/components/add-new-template/index.js +4 -1
  164. package/src/components/add-new-template/style.scss +4 -6
  165. package/src/components/block-editor/use-site-editor-settings.js +15 -111
  166. package/src/components/global-styles/block-preview-panel.js +22 -9
  167. package/src/components/global-styles/font-families.js +66 -31
  168. package/src/components/global-styles/font-library-modal/index.js +4 -2
  169. package/src/components/global-styles/font-library-modal/installed-fonts.js +92 -11
  170. package/src/components/global-styles/font-library-modal/style.scss +9 -0
  171. package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
  172. package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
  173. package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
  174. package/src/components/global-styles/font-sizes/font-size.js +250 -0
  175. package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
  176. package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
  177. package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
  178. package/src/components/global-styles/screen-block.js +12 -14
  179. package/src/components/global-styles/screen-style-variations.js +2 -2
  180. package/src/components/global-styles/screen-typography.js +3 -2
  181. package/src/components/global-styles/size-control/index.js +86 -0
  182. package/src/components/global-styles/style-variations-container.js +4 -0
  183. package/src/components/global-styles/style.scss +13 -3
  184. package/src/components/global-styles/ui.js +10 -0
  185. package/src/components/global-styles/variations/variations-color.js +1 -1
  186. package/src/components/global-styles/variations/variations-typography.js +1 -2
  187. package/src/components/layout/index.js +11 -0
  188. package/src/components/layout/router.js +13 -5
  189. package/src/components/layout/style.scss +26 -8
  190. package/src/components/page-patterns/header.js +1 -1
  191. package/src/components/page-patterns/index.js +15 -8
  192. package/src/components/page-templates/index.js +51 -46
  193. package/src/components/page-templates/style.scss +5 -3
  194. package/src/components/post-edit/index.js +96 -0
  195. package/src/components/post-edit/style.scss +9 -0
  196. package/src/components/post-fields/index.js +345 -0
  197. package/src/components/post-list/index.js +326 -0
  198. package/src/components/{posts-app → post-list}/style.scss +12 -9
  199. package/src/components/posts-app/router.js +3 -3
  200. package/src/components/sidebar-dataviews/default-views.js +21 -9
  201. package/src/components/sidebar-dataviews/index.js +36 -1
  202. package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
  203. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
  204. package/src/hooks/push-changes-to-global-styles/index.js +1 -1
  205. package/src/index.js +7 -1
  206. package/src/posts.scss +1 -1
  207. package/src/store/selectors.js +53 -14
  208. package/src/store/test/selectors.js +1 -26
  209. package/src/style.scss +2 -1
  210. package/src/utils/get-filtered-template-parts.js +61 -0
  211. package/src/utils/test/get-filtered-template-parts.js +127 -0
  212. package/build/components/global-styles/screen-background.js +0 -36
  213. package/build/components/global-styles/screen-background.js.map +0 -1
  214. package/build/components/posts-app/posts-list.js +0 -568
  215. package/build/components/posts-app/posts-list.js.map +0 -1
  216. package/build-module/components/global-styles/screen-background.js +0 -30
  217. package/build-module/components/global-styles/screen-background.js.map +0 -1
  218. package/build-module/components/posts-app/posts-list.js +0 -560
  219. package/build-module/components/posts-app/posts-list.js.map +0 -1
  220. package/src/components/global-styles/screen-background.js +0 -29
  221. package/src/components/posts-app/posts-list.js +0 -651
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { Button, __experimentalConfirmDialog as ConfirmDialog, __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalNavigatorProvider as NavigatorProvider, __experimentalNavigatorScreen as NavigatorScreen, __experimentalNavigatorToParentButton as NavigatorToParentButton, __experimentalUseNavigator as useNavigator, __experimentalSpacer as Spacer, __experimentalText as Text, __experimentalVStack as VStack, Flex, Notice, ProgressBar } from '@wordpress/components';
4
+ import { Button, __experimentalConfirmDialog as ConfirmDialog, __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalNavigatorProvider as NavigatorProvider, __experimentalNavigatorScreen as NavigatorScreen, __experimentalNavigatorToParentButton as NavigatorToParentButton, __experimentalUseNavigator as useNavigator, __experimentalSpacer as Spacer, __experimentalText as Text, __experimentalVStack as VStack, Flex, Notice, ProgressBar, CheckboxControl } from '@wordpress/components';
5
5
  import { useEntityRecord, store as coreStore } from '@wordpress/core-data';
6
6
  import { useSelect } from '@wordpress/data';
7
7
  import { useContext, useEffect, useState } from '@wordpress/element';
8
- import { __, sprintf } from '@wordpress/i18n';
8
+ import { __, _x, sprintf } from '@wordpress/i18n';
9
9
  import { chevronLeft } from '@wordpress/icons';
10
10
  import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
11
11
 
@@ -16,7 +16,7 @@ import { FontLibraryContext } from './context';
16
16
  import FontCard from './font-card';
17
17
  import LibraryFontVariant from './library-font-variant';
18
18
  import { sortFontFaces } from './utils/sort-font-faces';
19
- import { setUIValuesNeeded } from './utils';
19
+ import { setUIValuesNeeded, loadFontFaceInBrowser, unloadFontFaceInBrowser, getDisplaySrcFromFontFace } from './utils';
20
20
  import { unlock } from '../../../lock-unlock';
21
21
  import { jsx as _jsx } from "react/jsx-runtime";
22
22
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -25,6 +25,7 @@ const {
25
25
  useGlobalSetting
26
26
  } = unlock(blockEditorPrivateApis);
27
27
  function InstalledFonts() {
28
+ var _libraryFontSelected$;
28
29
  const {
29
30
  baseCustomFonts,
30
31
  libraryFontSelected,
@@ -36,9 +37,9 @@ function InstalledFonts() {
36
37
  saveFontFamilies,
37
38
  getFontFacesActivated,
38
39
  notice,
39
- setNotice,
40
- fontFamilies
40
+ setNotice
41
41
  } = useContext(FontLibraryContext);
42
+ const [fontFamilies, setFontFamilies] = useGlobalSetting('typography.fontFamilies');
42
43
  const [isConfirmDeleteOpen, setIsConfirmDeleteOpen] = useState(false);
43
44
  const [baseFontFamilies] = useGlobalSetting('typography.fontFamilies', undefined, 'base');
44
45
  const globalStylesId = useSelect(select => {
@@ -61,7 +62,11 @@ function InstalledFonts() {
61
62
  const {
62
63
  canUser
63
64
  } = select(coreStore);
64
- return customFontFamilyId && canUser('delete', 'font-families', customFontFamilyId);
65
+ return customFontFamilyId && canUser('delete', {
66
+ kind: 'postType',
67
+ name: 'wp_font_family',
68
+ id: customFontFamilyId
69
+ });
65
70
  }, [customFontFamilyId]);
66
71
  const shouldDisplayDeleteButton = !!libraryFontSelected && libraryFontSelected?.source !== 'theme' && canUserDelete;
67
72
  const handleUninstallClick = () => {
@@ -90,6 +95,37 @@ function InstalledFonts() {
90
95
  handleSetLibraryFontSelected(libraryFontSelected);
91
96
  refreshLibrary();
92
97
  }, []);
98
+
99
+ // Get activated fonts count.
100
+ const activeFontsCount = libraryFontSelected ? getFontFacesActivated(libraryFontSelected.slug, libraryFontSelected.source).length : 0;
101
+ const selectedFontsCount = (_libraryFontSelected$ = libraryFontSelected?.fontFace?.length) !== null && _libraryFontSelected$ !== void 0 ? _libraryFontSelected$ : libraryFontSelected?.fontFamily ? 1 : 0;
102
+
103
+ // Check if any fonts are selected.
104
+ const isIndeterminate = activeFontsCount > 0 && activeFontsCount !== selectedFontsCount;
105
+
106
+ // Check if all fonts are selected.
107
+ const isSelectAllChecked = activeFontsCount === selectedFontsCount;
108
+
109
+ // Toggle select all fonts.
110
+ const toggleSelectAll = () => {
111
+ var _fontFamilies$library;
112
+ const initialFonts = (_fontFamilies$library = fontFamilies?.[libraryFontSelected.source]?.filter(f => f.slug !== libraryFontSelected.slug)) !== null && _fontFamilies$library !== void 0 ? _fontFamilies$library : [];
113
+ const newFonts = isSelectAllChecked ? initialFonts : [...initialFonts, libraryFontSelected];
114
+ setFontFamilies({
115
+ ...fontFamilies,
116
+ [libraryFontSelected.source]: newFonts
117
+ });
118
+ if (libraryFontSelected.fontFace) {
119
+ libraryFontSelected.fontFace.forEach(face => {
120
+ if (isSelectAllChecked) {
121
+ unloadFontFaceInBrowser(face, 'all');
122
+ } else {
123
+ loadFontFaceInBrowser(face, getDisplaySrcFromFontFace(face?.src), 'all');
124
+ }
125
+ });
126
+ }
127
+ };
128
+ const hasFonts = baseThemeFonts.length > 0 || baseCustomFonts.length > 0;
93
129
  return /*#__PURE__*/_jsxs("div", {
94
130
  className: "font-library-modal__tabpanel-layout",
95
131
  children: [isResolvingLibrary && /*#__PURE__*/_jsx("div", {
@@ -106,14 +142,18 @@ function InstalledFonts() {
106
142
  status: notice.type,
107
143
  onRemove: () => setNotice(null),
108
144
  children: notice.message
109
- }), baseCustomFonts.length > 0 && /*#__PURE__*/_jsxs(VStack, {
145
+ }), !hasFonts && /*#__PURE__*/_jsx(Text, {
146
+ as: "p",
147
+ children: __('No fonts installed.')
148
+ }), baseThemeFonts.length > 0 && /*#__PURE__*/_jsxs(VStack, {
110
149
  children: [/*#__PURE__*/_jsx("h2", {
111
150
  className: "font-library-modal__fonts-title",
112
- children: __('Installed Fonts')
151
+ children: /* translators: Heading for a list of fonts provided by the theme. */
152
+ _x('Theme', 'font source')
113
153
  }), /*#__PURE__*/_jsx("ul", {
114
154
  role: "list",
115
155
  className: "font-library-modal__fonts-list",
116
- children: baseCustomFonts.map(font => /*#__PURE__*/_jsx("li", {
156
+ children: baseThemeFonts.map(font => /*#__PURE__*/_jsx("li", {
117
157
  className: "font-library-modal__fonts-list-item",
118
158
  children: /*#__PURE__*/_jsx(FontCard, {
119
159
  font: font,
@@ -125,14 +165,15 @@ function InstalledFonts() {
125
165
  })
126
166
  }, font.slug))
127
167
  })]
128
- }), baseThemeFonts.length > 0 && /*#__PURE__*/_jsxs(VStack, {
168
+ }), baseCustomFonts.length > 0 && /*#__PURE__*/_jsxs(VStack, {
129
169
  children: [/*#__PURE__*/_jsx("h2", {
130
170
  className: "font-library-modal__fonts-title",
131
- children: __('Theme Fonts')
171
+ children: /* translators: Heading for a list of fonts installed by the user. */
172
+ _x('Custom', 'font source')
132
173
  }), /*#__PURE__*/_jsx("ul", {
133
174
  role: "list",
134
175
  className: "font-library-modal__fonts-list",
135
- children: baseThemeFonts.map(font => /*#__PURE__*/_jsx("li", {
176
+ children: baseCustomFonts.map(font => /*#__PURE__*/_jsx("li", {
136
177
  className: "font-library-modal__fonts-list-item",
137
178
  children: /*#__PURE__*/_jsx(FontCard, {
138
179
  font: font,
@@ -188,7 +229,14 @@ function InstalledFonts() {
188
229
  margin: 4
189
230
  }), /*#__PURE__*/_jsxs(VStack, {
190
231
  spacing: 0,
191
- children: [/*#__PURE__*/_jsx(Spacer, {
232
+ children: [/*#__PURE__*/_jsx(CheckboxControl, {
233
+ className: "font-library-modal__select-all",
234
+ label: __('Select all'),
235
+ checked: isSelectAllChecked,
236
+ onChange: toggleSelectAll,
237
+ indeterminate: isIndeterminate,
238
+ __nextHasNoMarginBottom: true
239
+ }), /*#__PURE__*/_jsx(Spacer, {
192
240
  margin: 8
193
241
  }), getFontFacesToDisplay(libraryFontSelected).map((face, i) => /*#__PURE__*/_jsx(LibraryFontVariant, {
194
242
  font: libraryFontSelected,
@@ -1 +1 @@
1
- {"version":3,"names":["Button","__experimentalConfirmDialog","ConfirmDialog","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalNavigatorToParentButton","NavigatorToParentButton","__experimentalUseNavigator","useNavigator","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalVStack","VStack","Flex","Notice","ProgressBar","useEntityRecord","store","coreStore","useSelect","useContext","useEffect","useState","__","sprintf","chevronLeft","privateApis","blockEditorPrivateApis","FontLibraryContext","FontCard","LibraryFontVariant","sortFontFaces","setUIValuesNeeded","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","InstalledFonts","baseCustomFonts","libraryFontSelected","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","isInstalling","saveFontFamilies","getFontFacesActivated","notice","setNotice","fontFamilies","isConfirmDeleteOpen","setIsConfirmDeleteOpen","baseFontFamilies","undefined","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","fontFamiliesHasChanges","edits","settings","typography","themeFonts","theme","map","f","source","sort","a","b","name","localeCompare","themeFontsSlugs","Set","slug","baseThemeFonts","concat","filter","has","customFontFamilyId","id","canUserDelete","canUser","shouldDisplayDeleteButton","handleUninstallClick","getFontFacesToDisplay","font","fontFace","length","fontFamily","fontStyle","fontWeight","getFontCardVariantsText","variantsInstalled","variantsActive","className","children","initialPath","path","spacing","status","type","onRemove","message","role","navigatorPath","variantsText","onClick","ConfirmDeleteDialog","isOpen","setIsOpen","justify","icon","size","label","level","margin","face","i","isDestructive","variant","disabled","accessibleWhenDisabled","navigator","handleConfirmUninstall","goBack","error","handleCancelUninstall","cancelButtonText","confirmButtonText","onCancel","onConfirm"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorToParentButton as NavigatorToParentButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tNotice,\n\tProgressBar,\n} from '@wordpress/components';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { chevronLeft } from '@wordpress/icons';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport { setUIValuesNeeded } from './utils';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tisInstalling,\n\t\tsaveFontFamilies,\n\t\tgetFontFacesActivated,\n\t\tnotice,\n\t\tsetNotice,\n\t\tfontFamilies,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst globalStylesId = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn __experimentalGetCurrentGlobalStylesId();\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\tconst themeFontsSlugs = new Set( themeFonts.map( ( f ) => f.slug ) );\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? themeFonts.concat(\n\t\t\t\tbaseFontFamilies.theme\n\t\t\t\t\t.filter( ( f ) => ! themeFontsSlugs.has( f.slug ) )\n\t\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t )\n\t\t: [];\n\n\tconst customFontFamilyId =\n\t\tlibraryFontSelected?.source === 'custom' && libraryFontSelected?.id;\n\n\tconst canUserDelete = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\treturn (\n\t\t\t\tcustomFontFamilyId &&\n\t\t\t\tcanUser( 'delete', 'font-families', customFontFamilyId )\n\t\t\t);\n\t\t},\n\t\t[ customFontFamilyId ]\n\t);\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected &&\n\t\tlibraryFontSelected?.source !== 'theme' &&\n\t\tcanUserDelete;\n\n\tconst handleUninstallClick = () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst getFontFacesToDisplay = ( font ) => {\n\t\tif ( ! font ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! font.fontFace || ! font.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( font.fontFace );\n\t};\n\n\tconst getFontCardVariantsText = ( font ) => {\n\t\tconst variantsInstalled =\n\t\t\tfont?.fontFace?.length > 0 ? font.fontFace.length : 1;\n\t\tconst variantsActive = getFontFacesActivated(\n\t\t\tfont.slug,\n\t\t\tfont.source\n\t\t).length;\n\t\treturn sprintf(\n\t\t\t/* translators: 1: Active font variants, 2: Total font variants. */\n\t\t\t__( '%1$s/%2$s variants active' ),\n\t\t\tvariantsActive,\n\t\t\tvariantsInstalled\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\thandleSetLibraryFontSelected( libraryFontSelected );\n\t\trefreshLibrary();\n\t}, [] );\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isResolvingLibrary && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isResolvingLibrary && (\n\t\t\t\t<>\n\t\t\t\t\t<NavigatorProvider\n\t\t\t\t\t\tinitialPath={\n\t\t\t\t\t\t\tlibraryFontSelected ? '/fontFamily' : '/'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Installed Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\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\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Theme Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\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\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\n\t\t\t\t\t\t<NavigatorScreen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<ConfirmDeleteDialog\n\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetIsOpen={ setIsConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetNotice={ setNotice }\n\t\t\t\t\t\t\t\tuninstallFontFamily={ uninstallFontFamily }\n\t\t\t\t\t\t\t\thandleSetLibraryFontSelected={\n\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected\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<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<NavigatorToParentButton\n\t\t\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ libraryFontSelected?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t\t\t{ getFontFacesToDisplay(\n\t\t\t\t\t\t\t\t\tlibraryFontSelected\n\t\t\t\t\t\t\t\t).map( ( face, i ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\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</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\t\t\t\t\t</NavigatorProvider>\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsaveFontFamilies( fontFamilies );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ConfirmDeleteDialog( {\n\tfont,\n\tisOpen,\n\tsetIsOpen,\n\tsetNotice,\n\tuninstallFontFamily,\n\thandleSetLibraryFontSelected,\n} ) {\n\tconst navigator = useNavigator();\n\n\tconst handleConfirmUninstall = async () => {\n\t\tsetNotice( null );\n\t\tsetIsOpen( false );\n\t\ttry {\n\t\t\tawait uninstallFontFamily( font );\n\t\t\tnavigator.goBack();\n\t\t\thandleSetLibraryFontSelected( null );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Font family uninstalled successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage:\n\t\t\t\t\t__( 'There was an error uninstalling the font family. ' ) +\n\t\t\t\t\terror.message,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsOpen( false );\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\tonCancel={ handleCancelUninstall }\n\t\t\tonConfirm={ handleConfirmUninstall }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ font &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font and all its variants and assets?'\n\t\t\t\t\t),\n\t\t\t\t\tfont.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default InstalledFonts;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","__experimentalConfirmDialog","ConfirmDialog","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalNavigatorToParentButton","NavigatorToParentButton","__experimentalUseNavigator","useNavigator","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalVStack","VStack","Flex","Notice","ProgressBar","CheckboxControl","useEntityRecord","store","coreStore","useSelect","useContext","useEffect","useState","__","_x","sprintf","chevronLeft","privateApis","blockEditorPrivateApis","FontLibraryContext","FontCard","LibraryFontVariant","sortFontFaces","setUIValuesNeeded","loadFontFaceInBrowser","unloadFontFaceInBrowser","getDisplaySrcFromFontFace","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","InstalledFonts","_libraryFontSelected$","baseCustomFonts","libraryFontSelected","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","isInstalling","saveFontFamilies","getFontFacesActivated","notice","setNotice","fontFamilies","setFontFamilies","isConfirmDeleteOpen","setIsConfirmDeleteOpen","baseFontFamilies","undefined","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","fontFamiliesHasChanges","edits","settings","typography","themeFonts","theme","map","f","source","sort","a","b","name","localeCompare","themeFontsSlugs","Set","slug","baseThemeFonts","concat","filter","has","customFontFamilyId","id","canUserDelete","canUser","kind","shouldDisplayDeleteButton","handleUninstallClick","getFontFacesToDisplay","font","fontFace","length","fontFamily","fontStyle","fontWeight","getFontCardVariantsText","variantsInstalled","variantsActive","activeFontsCount","selectedFontsCount","isIndeterminate","isSelectAllChecked","toggleSelectAll","_fontFamilies$library","initialFonts","newFonts","forEach","face","src","hasFonts","className","children","initialPath","path","spacing","status","type","onRemove","message","as","role","navigatorPath","variantsText","onClick","ConfirmDeleteDialog","isOpen","setIsOpen","justify","icon","size","label","level","margin","checked","onChange","indeterminate","__nextHasNoMarginBottom","i","isDestructive","variant","disabled","accessibleWhenDisabled","navigator","handleConfirmUninstall","goBack","error","handleCancelUninstall","cancelButtonText","confirmButtonText","onCancel","onConfirm"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorToParentButton as NavigatorToParentButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tNotice,\n\tProgressBar,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { chevronLeft } from '@wordpress/icons';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport {\n\tsetUIValuesNeeded,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n} from './utils';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tisInstalling,\n\t\tsaveFontFamilies,\n\t\tgetFontFacesActivated,\n\t\tnotice,\n\t\tsetNotice,\n\t} = useContext( FontLibraryContext );\n\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst globalStylesId = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn __experimentalGetCurrentGlobalStylesId();\n\t} );\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\tconst themeFontsSlugs = new Set( themeFonts.map( ( f ) => f.slug ) );\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? themeFonts.concat(\n\t\t\t\tbaseFontFamilies.theme\n\t\t\t\t\t.filter( ( f ) => ! themeFontsSlugs.has( f.slug ) )\n\t\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t )\n\t\t: [];\n\n\tconst customFontFamilyId =\n\t\tlibraryFontSelected?.source === 'custom' && libraryFontSelected?.id;\n\n\tconst canUserDelete = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\treturn (\n\t\t\t\tcustomFontFamilyId &&\n\t\t\t\tcanUser( 'delete', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'wp_font_family',\n\t\t\t\t\tid: customFontFamilyId,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ customFontFamilyId ]\n\t);\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected &&\n\t\tlibraryFontSelected?.source !== 'theme' &&\n\t\tcanUserDelete;\n\n\tconst handleUninstallClick = () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst getFontFacesToDisplay = ( font ) => {\n\t\tif ( ! font ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! font.fontFace || ! font.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( font.fontFace );\n\t};\n\n\tconst getFontCardVariantsText = ( font ) => {\n\t\tconst variantsInstalled =\n\t\t\tfont?.fontFace?.length > 0 ? font.fontFace.length : 1;\n\t\tconst variantsActive = getFontFacesActivated(\n\t\t\tfont.slug,\n\t\t\tfont.source\n\t\t).length;\n\t\treturn sprintf(\n\t\t\t/* translators: 1: Active font variants, 2: Total font variants. */\n\t\t\t__( '%1$s/%2$s variants active' ),\n\t\t\tvariantsActive,\n\t\t\tvariantsInstalled\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\thandleSetLibraryFontSelected( libraryFontSelected );\n\t\trefreshLibrary();\n\t}, [] );\n\n\t// Get activated fonts count.\n\tconst activeFontsCount = libraryFontSelected\n\t\t? getFontFacesActivated(\n\t\t\t\tlibraryFontSelected.slug,\n\t\t\t\tlibraryFontSelected.source\n\t\t ).length\n\t\t: 0;\n\n\tconst selectedFontsCount =\n\t\tlibraryFontSelected?.fontFace?.length ??\n\t\t( libraryFontSelected?.fontFamily ? 1 : 0 );\n\n\t// Check if any fonts are selected.\n\tconst isIndeterminate =\n\t\tactiveFontsCount > 0 && activeFontsCount !== selectedFontsCount;\n\n\t// Check if all fonts are selected.\n\tconst isSelectAllChecked = activeFontsCount === selectedFontsCount;\n\n\t// Toggle select all fonts.\n\tconst toggleSelectAll = () => {\n\t\tconst initialFonts =\n\t\t\tfontFamilies?.[ libraryFontSelected.source ]?.filter(\n\t\t\t\t( f ) => f.slug !== libraryFontSelected.slug\n\t\t\t) ?? [];\n\t\tconst newFonts = isSelectAllChecked\n\t\t\t? initialFonts\n\t\t\t: [ ...initialFonts, libraryFontSelected ];\n\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ libraryFontSelected.source ]: newFonts,\n\t\t} );\n\n\t\tif ( libraryFontSelected.fontFace ) {\n\t\t\tlibraryFontSelected.fontFace.forEach( ( face ) => {\n\t\t\t\tif ( isSelectAllChecked ) {\n\t\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t\t} else {\n\t\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\t\tface,\n\t\t\t\t\t\tgetDisplaySrcFromFontFace( face?.src ),\n\t\t\t\t\t\t'all'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst hasFonts = baseThemeFonts.length > 0 || baseCustomFonts.length > 0;\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isResolvingLibrary && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isResolvingLibrary && (\n\t\t\t\t<>\n\t\t\t\t\t<NavigatorProvider\n\t\t\t\t\t\tinitialPath={\n\t\t\t\t\t\t\tlibraryFontSelected ? '/fontFamily' : '/'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! hasFonts && (\n\t\t\t\t\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t\t\t\t\t{ __( 'No fonts installed.' ) }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\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/* translators: Heading for a list of fonts provided by the theme. */\n\t\t\t\t\t\t\t\t\t\t\t\t_x( 'Theme', 'font source' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\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\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\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/* translators: Heading for a list of fonts installed by the user. */\n\t\t\t\t\t\t\t\t\t\t\t\t_x( 'Custom', 'font source' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\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\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\n\t\t\t\t\t\t<NavigatorScreen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<ConfirmDeleteDialog\n\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetIsOpen={ setIsConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetNotice={ setNotice }\n\t\t\t\t\t\t\t\tuninstallFontFamily={ uninstallFontFamily }\n\t\t\t\t\t\t\t\thandleSetLibraryFontSelected={\n\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected\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<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<NavigatorToParentButton\n\t\t\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ libraryFontSelected?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__select-all\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Select all' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isSelectAllChecked }\n\t\t\t\t\t\t\t\t\tonChange={ toggleSelectAll }\n\t\t\t\t\t\t\t\t\tindeterminate={ isIndeterminate }\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\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t\t\t{ getFontFacesToDisplay(\n\t\t\t\t\t\t\t\t\tlibraryFontSelected\n\t\t\t\t\t\t\t\t).map( ( face, i ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\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</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\t\t\t\t\t</NavigatorProvider>\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsaveFontFamilies( fontFamilies );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ConfirmDeleteDialog( {\n\tfont,\n\tisOpen,\n\tsetIsOpen,\n\tsetNotice,\n\tuninstallFontFamily,\n\thandleSetLibraryFontSelected,\n} ) {\n\tconst navigator = useNavigator();\n\n\tconst handleConfirmUninstall = async () => {\n\t\tsetNotice( null );\n\t\tsetIsOpen( false );\n\t\ttry {\n\t\t\tawait uninstallFontFamily( font );\n\t\t\tnavigator.goBack();\n\t\t\thandleSetLibraryFontSelected( null );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Font family uninstalled successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage:\n\t\t\t\t\t__( 'There was an error uninstalling the font family. ' ) +\n\t\t\t\t\terror.message,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsOpen( false );\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\tonCancel={ handleCancelUninstall }\n\t\t\tonConfirm={ handleConfirmUninstall }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ font &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font and all its variants and assets?'\n\t\t\t\t\t),\n\t\t\t\t\tfont.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default InstalledFonts;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
5
+ import { __, sprintf } from '@wordpress/i18n';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ function ConfirmDeleteFontSizeDialog({
8
+ fontSize,
9
+ isOpen,
10
+ toggleOpen,
11
+ handleRemoveFontSize
12
+ }) {
13
+ const handleConfirm = async () => {
14
+ toggleOpen();
15
+ handleRemoveFontSize(fontSize);
16
+ };
17
+ const handleCancel = () => {
18
+ toggleOpen();
19
+ };
20
+ return /*#__PURE__*/_jsx(ConfirmDialog, {
21
+ isOpen: isOpen,
22
+ cancelButtonText: __('Cancel'),
23
+ confirmButtonText: __('Delete'),
24
+ onCancel: handleCancel,
25
+ onConfirm: handleConfirm,
26
+ size: "medium",
27
+ children: fontSize && sprintf( /* translators: %s: Name of the font size preset. */
28
+ __('Are you sure you want to delete "%s" font size preset?'), fontSize.name)
29
+ });
30
+ }
31
+ export default ConfirmDeleteFontSizeDialog;
32
+ //# sourceMappingURL=confirm-delete-font-size-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__experimentalConfirmDialog","ConfirmDialog","__","sprintf","jsx","_jsx","ConfirmDeleteFontSizeDialog","fontSize","isOpen","toggleOpen","handleRemoveFontSize","handleConfirm","handleCancel","cancelButtonText","confirmButtonText","onCancel","onConfirm","size","children","name"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nfunction ConfirmDeleteFontSizeDialog( {\n\tfontSize,\n\tisOpen,\n\ttoggleOpen,\n\thandleRemoveFontSize,\n} ) {\n\tconst handleConfirm = async () => {\n\t\ttoggleOpen();\n\t\thandleRemoveFontSize( fontSize );\n\t};\n\n\tconst handleCancel = () => {\n\t\ttoggleOpen();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\tonCancel={ handleCancel }\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ fontSize &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font size preset. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font size preset?'\n\t\t\t\t\t),\n\t\t\t\t\tfontSize.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default ConfirmDeleteFontSizeDialog;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;AACpF,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9C,SAASC,2BAA2BA,CAAE;EACrCC,QAAQ;EACRC,MAAM;EACNC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCF,UAAU,CAAC,CAAC;IACZC,oBAAoB,CAAEH,QAAS,CAAC;EACjC,CAAC;EAED,MAAMK,YAAY,GAAGA,CAAA,KAAM;IAC1BH,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACCJ,IAAA,CAACJ,aAAa;IACbO,MAAM,EAAGA,MAAQ;IACjBK,gBAAgB,EAAGX,EAAE,CAAE,QAAS,CAAG;IACnCY,iBAAiB,EAAGZ,EAAE,CAAE,QAAS,CAAG;IACpCa,QAAQ,EAAGH,YAAc;IACzBI,SAAS,EAAGL,aAAe;IAC3BM,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXX,QAAQ,IACTJ,OAAO,EACN;IACAD,EAAE,CACD,wDACD,CAAC,EACDK,QAAQ,CAACY,IACV;EAAC,CACY,CAAC;AAElB;AAEA,eAAeb,2BAA2B","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
5
+ import { __ } from '@wordpress/i18n';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ function ConfirmResetFontSizesDialog({
8
+ text,
9
+ confirmButtonText,
10
+ isOpen,
11
+ toggleOpen,
12
+ onConfirm
13
+ }) {
14
+ const handleConfirm = async () => {
15
+ toggleOpen();
16
+ onConfirm();
17
+ };
18
+ const handleCancel = () => {
19
+ toggleOpen();
20
+ };
21
+ return /*#__PURE__*/_jsx(ConfirmDialog, {
22
+ isOpen: isOpen,
23
+ cancelButtonText: __('Cancel'),
24
+ confirmButtonText: confirmButtonText,
25
+ onCancel: handleCancel,
26
+ onConfirm: handleConfirm,
27
+ size: "medium",
28
+ children: text
29
+ });
30
+ }
31
+ export default ConfirmResetFontSizesDialog;
32
+ //# sourceMappingURL=confirm-reset-font-sizes-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__experimentalConfirmDialog","ConfirmDialog","__","jsx","_jsx","ConfirmResetFontSizesDialog","text","confirmButtonText","isOpen","toggleOpen","onConfirm","handleConfirm","handleCancel","cancelButtonText","onCancel","size","children"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nfunction ConfirmResetFontSizesDialog( {\n\ttext,\n\tconfirmButtonText,\n\tisOpen,\n\ttoggleOpen,\n\tonConfirm,\n} ) {\n\tconst handleConfirm = async () => {\n\t\ttoggleOpen();\n\t\tonConfirm();\n\t};\n\n\tconst handleCancel = () => {\n\t\ttoggleOpen();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\tonCancel={ handleCancel }\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ text }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default ConfirmResetFontSizesDialog;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;AACpF,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,SAASC,2BAA2BA,CAAE;EACrCC,IAAI;EACJC,iBAAiB;EACjBC,MAAM;EACNC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCF,UAAU,CAAC,CAAC;IACZC,SAAS,CAAC,CAAC;EACZ,CAAC;EAED,MAAME,YAAY,GAAGA,CAAA,KAAM;IAC1BH,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACCL,IAAA,CAACH,aAAa;IACbO,MAAM,EAAGA,MAAQ;IACjBK,gBAAgB,EAAGX,EAAE,CAAE,QAAS,CAAG;IACnCK,iBAAiB,EAAGA,iBAAmB;IACvCO,QAAQ,EAAGF,YAAc;IACzBF,SAAS,EAAGC,aAAe;IAC3BI,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXV;EAAI,CACQ,CAAC;AAElB;AAEA,eAAeD,2BAA2B","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { getComputedFluidTypographyValue, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
+ import { __ } from '@wordpress/i18n';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { unlock } from '../../../lock-unlock';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ const {
13
+ useGlobalStyle
14
+ } = unlock(blockEditorPrivateApis);
15
+ function FontSizePreview({
16
+ fontSize
17
+ }) {
18
+ var _font$fontFamily;
19
+ const [font] = useGlobalStyle('typography');
20
+ const input = fontSize?.fluid?.min && fontSize?.fluid?.max ? {
21
+ minimumFontSize: fontSize.fluid.min,
22
+ maximumFontSize: fontSize.fluid.max
23
+ } : {
24
+ fontSize: fontSize.size
25
+ };
26
+ const computedFontSize = getComputedFluidTypographyValue(input);
27
+ return /*#__PURE__*/_jsx("div", {
28
+ className: "edit-site-typography-preview",
29
+ style: {
30
+ fontSize: computedFontSize,
31
+ fontFamily: (_font$fontFamily = font?.fontFamily) !== null && _font$fontFamily !== void 0 ? _font$fontFamily : 'serif'
32
+ },
33
+ children: __('Aa')
34
+ });
35
+ }
36
+ export default FontSizePreview;
37
+ //# sourceMappingURL=font-size-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getComputedFluidTypographyValue","privateApis","blockEditorPrivateApis","__","unlock","jsx","_jsx","useGlobalStyle","FontSizePreview","fontSize","_font$fontFamily","font","input","fluid","min","max","minimumFontSize","maximumFontSize","size","computedFontSize","className","style","fontFamily","children"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-size-preview.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetComputedFluidTypographyValue,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction FontSizePreview( { fontSize } ) {\n\tconst [ font ] = useGlobalStyle( 'typography' );\n\n\tconst input =\n\t\tfontSize?.fluid?.min && fontSize?.fluid?.max\n\t\t\t? {\n\t\t\t\t\tminimumFontSize: fontSize.fluid.min,\n\t\t\t\t\tmaximumFontSize: fontSize.fluid.max,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tfontSize: fontSize.size,\n\t\t\t };\n\n\tconst computedFontSize = getComputedFluidTypographyValue( input );\n\treturn (\n\t\t<div\n\t\t\tclassName=\"edit-site-typography-preview\"\n\t\t\tstyle={ {\n\t\t\t\tfontSize: computedFontSize,\n\t\t\t\tfontFamily: font?.fontFamily ?? 'serif',\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Aa' ) }\n\t\t</div>\n\t);\n}\n\nexport default FontSizePreview;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,+BAA+B,EAC/BC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAC9C,MAAM;EAAEC;AAAe,CAAC,GAAGH,MAAM,CAAEF,sBAAuB,CAAC;AAE3D,SAASM,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAAA,IAAAC,gBAAA;EACxC,MAAM,CAAEC,IAAI,CAAE,GAAGJ,cAAc,CAAE,YAAa,CAAC;EAE/C,MAAMK,KAAK,GACVH,QAAQ,EAAEI,KAAK,EAAEC,GAAG,IAAIL,QAAQ,EAAEI,KAAK,EAAEE,GAAG,GACzC;IACAC,eAAe,EAAEP,QAAQ,CAACI,KAAK,CAACC,GAAG;IACnCG,eAAe,EAAER,QAAQ,CAACI,KAAK,CAACE;EAChC,CAAC,GACD;IACAN,QAAQ,EAAEA,QAAQ,CAACS;EACnB,CAAC;EAEL,MAAMC,gBAAgB,GAAGnB,+BAA+B,CAAEY,KAAM,CAAC;EACjE,oBACCN,IAAA;IACCc,SAAS,EAAC,8BAA8B;IACxCC,KAAK,EAAG;MACPZ,QAAQ,EAAEU,gBAAgB;MAC1BG,UAAU,GAAAZ,gBAAA,GAAEC,IAAI,EAAEW,UAAU,cAAAZ,gBAAA,cAAAA,gBAAA,GAAI;IACjC,CAAG;IAAAa,QAAA,EAEDpB,EAAE,CAAE,IAAK;EAAC,CACR,CAAC;AAER;AAEA,eAAeK,eAAe","ignoreList":[]}
@@ -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