@wordpress/edit-site 5.3.3 → 5.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 (172) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/new-template.js +1 -20
  3. package/build/components/add-new-template/new-template.js.map +1 -1
  4. package/build/components/app/index.js.map +1 -1
  5. package/build/components/block-editor/editor-canvas.js +1 -0
  6. package/build/components/block-editor/editor-canvas.js.map +1 -1
  7. package/build/components/editor/index.js +3 -1
  8. package/build/components/editor/index.js.map +1 -1
  9. package/build/components/global-styles/border-panel.js +4 -4
  10. package/build/components/global-styles/border-panel.js.map +1 -1
  11. package/build/components/global-styles/color-palette-panel.js +5 -2
  12. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  13. package/build/components/global-styles/color-utils.js +1 -1
  14. package/build/components/global-styles/color-utils.js.map +1 -1
  15. package/build/components/global-styles/context-menu.js +16 -3
  16. package/build/components/global-styles/context-menu.js.map +1 -1
  17. package/build/components/global-styles/custom-css.js +1 -1
  18. package/build/components/global-styles/custom-css.js.map +1 -1
  19. package/build/components/global-styles/dimensions-panel.js +8 -7
  20. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  21. package/build/components/global-styles/gradients-palette-panel.js +8 -3
  22. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  23. package/build/components/global-styles/header.js +3 -1
  24. package/build/components/global-styles/header.js.map +1 -1
  25. package/build/components/global-styles/hooks.js +14 -51
  26. package/build/components/global-styles/hooks.js.map +1 -1
  27. package/build/components/global-styles/palette.js +3 -1
  28. package/build/components/global-styles/palette.js.map +1 -1
  29. package/build/components/global-styles/screen-background-color.js +3 -2
  30. package/build/components/global-styles/screen-background-color.js.map +1 -1
  31. package/build/components/global-styles/screen-block-list.js +14 -3
  32. package/build/components/global-styles/screen-block-list.js.map +1 -1
  33. package/build/components/global-styles/screen-button-color.js +7 -5
  34. package/build/components/global-styles/screen-button-color.js.map +1 -1
  35. package/build/components/global-styles/screen-colors.js +8 -6
  36. package/build/components/global-styles/screen-colors.js.map +1 -1
  37. package/build/components/global-styles/screen-heading-color.js +8 -6
  38. package/build/components/global-styles/screen-heading-color.js.map +1 -1
  39. package/build/components/global-styles/screen-link-color.js +3 -2
  40. package/build/components/global-styles/screen-link-color.js.map +1 -1
  41. package/build/components/global-styles/screen-text-color.js +3 -2
  42. package/build/components/global-styles/screen-text-color.js.map +1 -1
  43. package/build/components/global-styles/screen-typography.js +3 -1
  44. package/build/components/global-styles/screen-typography.js.map +1 -1
  45. package/build/components/global-styles/shadow-panel.js +2 -3
  46. package/build/components/global-styles/shadow-panel.js.map +1 -1
  47. package/build/components/global-styles/subtitle.js +3 -2
  48. package/build/components/global-styles/subtitle.js.map +1 -1
  49. package/build/components/global-styles/typography-panel.js +23 -300
  50. package/build/components/global-styles/typography-panel.js.map +1 -1
  51. package/build/components/navigation-inspector/index.js +0 -29
  52. package/build/components/navigation-inspector/index.js.map +1 -1
  53. package/build/components/navigation-inspector/navigation-menu.js +4 -2
  54. package/build/components/navigation-inspector/navigation-menu.js.map +1 -1
  55. package/build/components/sidebar/index.js +1 -20
  56. package/build/components/sidebar/index.js.map +1 -1
  57. package/build/components/sidebar-edit-mode/index.js +1 -1
  58. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  59. package/build/components/sidebar-edit-mode/template-card/index.js +9 -2
  60. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  61. package/build/components/sidebar-edit-mode/template-card/last-revision.js +84 -0
  62. package/build/components/sidebar-edit-mode/template-card/last-revision.js.map +1 -0
  63. package/build/components/start-template-options/index.js +175 -0
  64. package/build/components/start-template-options/index.js.map +1 -0
  65. package/build/hooks/push-changes-to-global-styles/index.js +5 -4
  66. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  67. package/build-module/components/add-new-template/new-template.js +1 -18
  68. package/build-module/components/add-new-template/new-template.js.map +1 -1
  69. package/build-module/components/app/index.js.map +1 -1
  70. package/build-module/components/block-editor/editor-canvas.js +1 -0
  71. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  72. package/build-module/components/editor/index.js +2 -1
  73. package/build-module/components/editor/index.js.map +1 -1
  74. package/build-module/components/global-styles/border-panel.js +5 -5
  75. package/build-module/components/global-styles/border-panel.js.map +1 -1
  76. package/build-module/components/global-styles/color-palette-panel.js +5 -2
  77. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  78. package/build-module/components/global-styles/color-utils.js +2 -2
  79. package/build-module/components/global-styles/color-utils.js.map +1 -1
  80. package/build-module/components/global-styles/context-menu.js +13 -2
  81. package/build-module/components/global-styles/context-menu.js.map +1 -1
  82. package/build-module/components/global-styles/custom-css.js +1 -1
  83. package/build-module/components/global-styles/custom-css.js.map +1 -1
  84. package/build-module/components/global-styles/dimensions-panel.js +9 -8
  85. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  86. package/build-module/components/global-styles/gradients-palette-panel.js +8 -3
  87. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  88. package/build-module/components/global-styles/header.js +3 -1
  89. package/build-module/components/global-styles/header.js.map +1 -1
  90. package/build-module/components/global-styles/hooks.js +12 -49
  91. package/build-module/components/global-styles/hooks.js.map +1 -1
  92. package/build-module/components/global-styles/palette.js +3 -1
  93. package/build-module/components/global-styles/palette.js.map +1 -1
  94. package/build-module/components/global-styles/screen-background-color.js +4 -3
  95. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  96. package/build-module/components/global-styles/screen-block-list.js +12 -3
  97. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  98. package/build-module/components/global-styles/screen-button-color.js +8 -6
  99. package/build-module/components/global-styles/screen-button-color.js.map +1 -1
  100. package/build-module/components/global-styles/screen-colors.js +9 -7
  101. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  102. package/build-module/components/global-styles/screen-heading-color.js +9 -7
  103. package/build-module/components/global-styles/screen-heading-color.js.map +1 -1
  104. package/build-module/components/global-styles/screen-link-color.js +4 -3
  105. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  106. package/build-module/components/global-styles/screen-text-color.js +4 -3
  107. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  108. package/build-module/components/global-styles/screen-typography.js +3 -1
  109. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  110. package/build-module/components/global-styles/shadow-panel.js +3 -4
  111. package/build-module/components/global-styles/shadow-panel.js.map +1 -1
  112. package/build-module/components/global-styles/subtitle.js +3 -2
  113. package/build-module/components/global-styles/subtitle.js.map +1 -1
  114. package/build-module/components/global-styles/typography-panel.js +27 -300
  115. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  116. package/build-module/components/navigation-inspector/index.js +0 -27
  117. package/build-module/components/navigation-inspector/index.js.map +1 -1
  118. package/build-module/components/navigation-inspector/navigation-menu.js +4 -2
  119. package/build-module/components/navigation-inspector/navigation-menu.js.map +1 -1
  120. package/build-module/components/sidebar/index.js +1 -18
  121. package/build-module/components/sidebar/index.js.map +1 -1
  122. package/build-module/components/sidebar-edit-mode/index.js +1 -1
  123. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  124. package/build-module/components/sidebar-edit-mode/template-card/index.js +9 -4
  125. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  126. package/build-module/components/sidebar-edit-mode/template-card/last-revision.js +70 -0
  127. package/build-module/components/sidebar-edit-mode/template-card/last-revision.js.map +1 -0
  128. package/build-module/components/start-template-options/index.js +156 -0
  129. package/build-module/components/start-template-options/index.js.map +1 -0
  130. package/build-module/hooks/push-changes-to-global-styles/index.js +6 -5
  131. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  132. package/build-style/style-rtl.css +73 -4
  133. package/build-style/style.css +73 -4
  134. package/package.json +31 -31
  135. package/src/components/add-new-template/new-template.js +1 -16
  136. package/src/components/app/index.js +0 -1
  137. package/src/components/block-editor/editor-canvas.js +1 -0
  138. package/src/components/editor/index.js +2 -0
  139. package/src/components/global-styles/border-panel.js +5 -5
  140. package/src/components/global-styles/color-palette-panel.js +3 -0
  141. package/src/components/global-styles/color-utils.js +2 -3
  142. package/src/components/global-styles/context-menu.js +17 -2
  143. package/src/components/global-styles/custom-css.js +1 -1
  144. package/src/components/global-styles/dimensions-panel.js +12 -8
  145. package/src/components/global-styles/gradients-palette-panel.js +4 -1
  146. package/src/components/global-styles/header.js +7 -1
  147. package/src/components/global-styles/hooks.js +17 -90
  148. package/src/components/global-styles/palette.js +1 -1
  149. package/src/components/global-styles/screen-background-color.js +3 -2
  150. package/src/components/global-styles/screen-block-list.js +19 -3
  151. package/src/components/global-styles/screen-button-color.js +8 -6
  152. package/src/components/global-styles/screen-colors.js +7 -7
  153. package/src/components/global-styles/screen-heading-color.js +9 -7
  154. package/src/components/global-styles/screen-link-color.js +3 -2
  155. package/src/components/global-styles/screen-text-color.js +3 -2
  156. package/src/components/global-styles/screen-typography.js +1 -1
  157. package/src/components/global-styles/shadow-panel.js +6 -3
  158. package/src/components/global-styles/style.scss +5 -0
  159. package/src/components/global-styles/subtitle.js +5 -2
  160. package/src/components/global-styles/typography-panel.js +30 -394
  161. package/src/components/navigation-inspector/index.js +0 -32
  162. package/src/components/navigation-inspector/navigation-menu.js +8 -2
  163. package/src/components/sidebar/index.js +4 -17
  164. package/src/components/sidebar-edit-mode/index.js +1 -1
  165. package/src/components/sidebar-edit-mode/template-card/index.js +24 -14
  166. package/src/components/sidebar-edit-mode/template-card/last-revision.js +75 -0
  167. package/src/components/sidebar-edit-mode/template-card/style.scss +4 -0
  168. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
  169. package/src/components/start-template-options/index.js +171 -0
  170. package/src/components/start-template-options/style.scss +76 -0
  171. package/src/hooks/push-changes-to-global-styles/index.js +26 -21
  172. package/src/style.scss +1 -0
@@ -14,11 +14,12 @@ var _components = require("@wordpress/components");
14
14
  */
15
15
  function Subtitle(_ref) {
16
16
  let {
17
- children
17
+ children,
18
+ level
18
19
  } = _ref;
19
20
  return (0, _element.createElement)(_components.__experimentalHeading, {
20
21
  className: "edit-site-global-styles-subtitle",
21
- level: 2
22
+ level: level !== null && level !== void 0 ? level : 2
22
23
  }, children);
23
24
  }
24
25
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/subtitle.js"],"names":["Subtitle","children"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,SAASA,QAAT,OAAkC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACjC,SACC,4BAAC,iCAAD;AAAS,IAAA,SAAS,EAAC,kCAAnB;AAAsD,IAAA,KAAK,EAAG;AAA9D,KACGA,QADH,CADD;AAKA;;eAEcD,Q","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalHeading as Heading } from '@wordpress/components';\n\nfunction Subtitle( { children } ) {\n\treturn (\n\t\t<Heading className=\"edit-site-global-styles-subtitle\" level={ 2 }>\n\t\t\t{ children }\n\t\t</Heading>\n\t);\n}\n\nexport default Subtitle;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/subtitle.js"],"names":["Subtitle","children","level"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,SAASA,QAAT,OAAyC;AAAA,MAAtB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAsB;AACxC,SACC,4BAAC,iCAAD;AACC,IAAA,SAAS,EAAC,kCADX;AAEC,IAAA,KAAK,EAAGA,KAAH,aAAGA,KAAH,cAAGA,KAAH,GAAY;AAFlB,KAIGD,QAJH,CADD;AAQA;;eAEcD,Q","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalHeading as Heading } from '@wordpress/components';\n\nfunction Subtitle( { children, level } ) {\n\treturn (\n\t\t<Heading\n\t\t\tclassName=\"edit-site-global-styles-subtitle\"\n\t\t\tlevel={ level ?? 2 }\n\t\t>\n\t\t\t{ children }\n\t\t</Heading>\n\t);\n}\n\nexport default Subtitle;\n"]}
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = TypographyPanel;
7
- exports.useHasTypographyPanel = useHasTypographyPanel;
8
7
 
9
8
  var _element = require("@wordpress/element");
10
9
 
11
10
  var _blockEditor = require("@wordpress/block-editor");
12
11
 
13
- var _components = require("@wordpress/components");
14
-
15
- var _i18n = require("@wordpress/i18n");
12
+ var _privateApis = require("../../private-apis");
16
13
 
17
14
  var _hooks = require("./hooks");
18
15
 
19
- var _privateApis = require("../../private-apis");
20
-
21
16
  /**
22
17
  * WordPress dependencies
23
18
  */
@@ -26,149 +21,12 @@ var _privateApis = require("../../private-apis");
26
21
  * Internal dependencies
27
22
  */
28
23
  const {
24
+ useGlobalStyle,
29
25
  useGlobalSetting,
30
- useGlobalStyle
26
+ overrideSettingsWithSupports,
27
+ TypographyPanel: StylesTypographyPanel
31
28
  } = (0, _privateApis.unlock)(_blockEditor.privateApis);
32
29
 
33
- function useHasTypographyPanel(name) {
34
- const hasFontFamily = useHasFontFamilyControl(name);
35
- const hasLineHeight = useHasLineHeightControl(name);
36
- const hasFontAppearance = useHasAppearanceControl(name);
37
- const hasLetterSpacing = useHasLetterSpacingControl(name);
38
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
39
- return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || supports.includes('fontSize');
40
- }
41
-
42
- function useHasFontFamilyControl(name) {
43
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
44
- const [fontFamiliesPerOrigin] = useGlobalSetting('typography.fontFamilies', name);
45
- const fontFamilies = (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.custom) || (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.theme) || (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.default);
46
- return supports.includes('fontFamily') && !!(fontFamilies !== null && fontFamilies !== void 0 && fontFamilies.length);
47
- }
48
-
49
- function useHasLineHeightControl(name) {
50
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
51
- return useGlobalSetting('typography.lineHeight', name)[0] && supports.includes('lineHeight');
52
- }
53
-
54
- function useHasAppearanceControl(name) {
55
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
56
- const hasFontStyles = useGlobalSetting('typography.fontStyle', name)[0] && supports.includes('fontStyle');
57
- const hasFontWeights = useGlobalSetting('typography.fontWeight', name)[0] && supports.includes('fontWeight');
58
- return hasFontStyles || hasFontWeights;
59
- }
60
-
61
- function useAppearanceControlLabel(name) {
62
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
63
- const hasFontStyles = useGlobalSetting('typography.fontStyle', name)[0] && supports.includes('fontStyle');
64
- const hasFontWeights = useGlobalSetting('typography.fontWeight', name)[0] && supports.includes('fontWeight');
65
-
66
- if (!hasFontStyles) {
67
- return (0, _i18n.__)('Font weight');
68
- }
69
-
70
- if (!hasFontWeights) {
71
- return (0, _i18n.__)('Font style');
72
- }
73
-
74
- return (0, _i18n.__)('Appearance');
75
- }
76
-
77
- function useHasLetterSpacingControl(name, element) {
78
- const setting = useGlobalSetting('typography.letterSpacing', name)[0];
79
-
80
- if (!setting) {
81
- return false;
82
- }
83
-
84
- if (!name && element === 'heading') {
85
- return true;
86
- }
87
-
88
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
89
- return supports.includes('letterSpacing');
90
- }
91
-
92
- function useHasTextTransformControl(name, element) {
93
- const setting = useGlobalSetting('typography.textTransform', name)[0];
94
-
95
- if (!setting) {
96
- return false;
97
- }
98
-
99
- if (!name && element === 'heading') {
100
- return true;
101
- }
102
-
103
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
104
- return supports.includes('textTransform');
105
- }
106
-
107
- function useHasTextDecorationControl(name, element) {
108
- // This is an exception for link elements.
109
- // We shouldn't allow other blocks or elements to set textDecoration
110
- // because this will be inherited by their children.
111
- return !name && element === 'link';
112
- }
113
-
114
- function useStyleWithReset(path, blockName) {
115
- const [style, setStyle] = useGlobalStyle(path, blockName);
116
- const [userStyle] = useGlobalStyle(path, blockName, 'user');
117
-
118
- const hasStyle = () => !!userStyle;
119
-
120
- const resetStyle = () => setStyle(undefined);
121
-
122
- return [style, setStyle, hasStyle, resetStyle];
123
- }
124
-
125
- function useFontSizeWithReset(path, blockName) {
126
- const [fontSize, setStyleCallback] = useGlobalStyle(path, blockName);
127
- const [userStyle] = useGlobalStyle(path, blockName, 'user');
128
-
129
- const hasFontSize = () => !!userStyle;
130
-
131
- const resetFontSize = () => setStyleCallback(undefined);
132
-
133
- const setFontSize = (newValue, metadata) => {
134
- if (!!(metadata !== null && metadata !== void 0 && metadata.slug)) {
135
- newValue = `var:preset|font-size|${metadata === null || metadata === void 0 ? void 0 : metadata.slug}`;
136
- }
137
-
138
- setStyleCallback(newValue);
139
- };
140
-
141
- return {
142
- fontSize,
143
- setFontSize,
144
- hasFontSize,
145
- resetFontSize
146
- };
147
- }
148
-
149
- function useFontAppearance(prefix, name) {
150
- const [fontStyle, setFontStyle] = useGlobalStyle(prefix + 'typography.fontStyle', name);
151
- const [userFontStyle] = useGlobalStyle(prefix + 'typography.fontStyle', name, 'user');
152
- const [fontWeight, setFontWeight] = useGlobalStyle(prefix + 'typography.fontWeight', name);
153
- const [userFontWeight] = useGlobalStyle(prefix + 'typography.fontWeight', name, 'user');
154
-
155
- const hasFontAppearance = () => !!userFontStyle || !!userFontWeight;
156
-
157
- const resetFontAppearance = () => {
158
- setFontStyle(undefined);
159
- setFontWeight(undefined);
160
- };
161
-
162
- return {
163
- fontStyle,
164
- setFontStyle,
165
- fontWeight,
166
- setFontWeight,
167
- hasFontAppearance,
168
- resetFontAppearance
169
- };
170
- }
171
-
172
30
  function TypographyPanel(_ref) {
173
31
  let {
174
32
  name,
@@ -176,167 +34,32 @@ function TypographyPanel(_ref) {
176
34
  headingLevel,
177
35
  variation = ''
178
36
  } = _ref;
179
- const supports = (0, _hooks.getSupportedGlobalStylesPanels)(name);
180
- let prefix = '';
37
+ let prefixParts = [];
181
38
 
182
39
  if (element === 'heading') {
183
- prefix = `elements.${headingLevel}.`;
40
+ prefixParts = prefixParts.concat(['elements', headingLevel]);
184
41
  } else if (element && element !== 'text') {
185
- prefix = `elements.${element}.`;
42
+ prefixParts = prefixParts.concat(['elements', element]);
186
43
  }
187
44
 
188
45
  if (variation) {
189
- prefix = prefix ? `variations.${variation}.${prefix}` : `variations.${variation}`;
46
+ prefixParts = ['variations', variation].concat(prefixParts);
190
47
  }
191
48
 
192
- const [fontSizesPerOrigin] = useGlobalSetting('typography.fontSizes', name);
193
- const fontSizes = (fontSizesPerOrigin === null || fontSizesPerOrigin === void 0 ? void 0 : fontSizesPerOrigin.custom) || (fontSizesPerOrigin === null || fontSizesPerOrigin === void 0 ? void 0 : fontSizesPerOrigin.theme) || (fontSizesPerOrigin === null || fontSizesPerOrigin === void 0 ? void 0 : fontSizesPerOrigin.default);
194
- const disableCustomFontSizes = !useGlobalSetting('typography.customFontSize', name)[0];
195
- const [fontFamiliesPerOrigin] = useGlobalSetting('typography.fontFamilies', name);
196
- const fontFamilies = (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.custom) || (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.theme) || (fontFamiliesPerOrigin === null || fontFamiliesPerOrigin === void 0 ? void 0 : fontFamiliesPerOrigin.default);
197
- const hasFontStyles = useGlobalSetting('typography.fontStyle', name)[0] && supports.includes('fontStyle');
198
- const hasFontWeights = useGlobalSetting('typography.fontWeight', name)[0] && supports.includes('fontWeight');
199
- const hasFontFamilyEnabled = useHasFontFamilyControl(name);
200
- const hasLineHeightEnabled = useHasLineHeightControl(name);
201
- const hasAppearanceControl = useHasAppearanceControl(name);
202
- const appearanceControlLabel = useAppearanceControlLabel(name);
203
- const hasLetterSpacingControl = useHasLetterSpacingControl(name, element);
204
- const hasTextTransformControl = useHasTextTransformControl(name, element);
205
- const hasTextDecorationControl = useHasTextDecorationControl(name, element);
206
- /* Disable font size controls when the option to style all headings is selected. */
207
-
208
- let hasFontSizeEnabled = supports.includes('fontSize');
209
-
210
- if (element === 'heading' && headingLevel === 'heading') {
211
- hasFontSizeEnabled = false;
212
- }
213
-
214
- const [fontFamily, setFontFamily, hasFontFamily, resetFontFamily] = useStyleWithReset(prefix + 'typography.fontFamily', name);
215
- const {
216
- fontSize,
217
- setFontSize,
218
- hasFontSize,
219
- resetFontSize
220
- } = useFontSizeWithReset(prefix + 'typography.fontSize', name);
221
- const {
222
- fontStyle,
223
- setFontStyle,
224
- fontWeight,
225
- setFontWeight,
226
- hasFontAppearance,
227
- resetFontAppearance
228
- } = useFontAppearance(prefix, name);
229
- const [lineHeight, setLineHeight, hasLineHeight, resetLineHeight] = useStyleWithReset(prefix + 'typography.lineHeight', name);
230
- const [letterSpacing, setLetterSpacing, hasLetterSpacing, resetLetterSpacing] = useStyleWithReset(prefix + 'typography.letterSpacing', name);
231
- const [textTransform, setTextTransform, hasTextTransform, resetTextTransform] = useStyleWithReset(prefix + 'typography.textTransform', name);
232
- const [textDecoration, setTextDecoration, hasTextDecoration, resetTextDecoration] = useStyleWithReset(prefix + 'typography.textDecoration', name);
233
-
234
- const resetAll = () => {
235
- resetFontFamily();
236
- resetFontSize();
237
- resetFontAppearance();
238
- resetLineHeight();
239
- resetLetterSpacing();
240
- resetTextTransform();
241
- };
242
-
243
- return (0, _element.createElement)(_components.__experimentalToolsPanel, {
244
- label: (0, _i18n.__)('Typography'),
245
- resetAll: resetAll
246
- }, hasFontFamilyEnabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
247
- label: (0, _i18n.__)('Font family'),
248
- hasValue: hasFontFamily,
249
- onDeselect: resetFontFamily,
250
- isShownByDefault: true
251
- }, (0, _element.createElement)(_blockEditor.__experimentalFontFamilyControl, {
252
- fontFamilies: fontFamilies,
253
- value: fontFamily,
254
- onChange: setFontFamily,
255
- size: "__unstable-large",
256
- __nextHasNoMarginBottom: true
257
- })), hasFontSizeEnabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
258
- label: (0, _i18n.__)('Font size'),
259
- hasValue: hasFontSize,
260
- onDeselect: resetFontSize,
261
- isShownByDefault: true
262
- }, (0, _element.createElement)(_components.FontSizePicker, {
263
- value: fontSize,
264
- onChange: setFontSize,
265
- fontSizes: fontSizes,
266
- disableCustomFontSizes: disableCustomFontSizes,
267
- withReset: false,
268
- withSlider: true,
269
- size: "__unstable-large",
270
- __nextHasNoMarginBottom: true
271
- })), hasAppearanceControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
272
- className: "single-column",
273
- label: appearanceControlLabel,
274
- hasValue: hasFontAppearance,
275
- onDeselect: resetFontAppearance,
276
- isShownByDefault: true
277
- }, (0, _element.createElement)(_blockEditor.__experimentalFontAppearanceControl, {
278
- value: {
279
- fontStyle,
280
- fontWeight
281
- },
282
- onChange: _ref2 => {
283
- let {
284
- fontStyle: newFontStyle,
285
- fontWeight: newFontWeight
286
- } = _ref2;
287
- setFontStyle(newFontStyle);
288
- setFontWeight(newFontWeight);
289
- },
290
- hasFontStyles: hasFontStyles,
291
- hasFontWeights: hasFontWeights,
292
- size: "__unstable-large",
293
- __nextHasNoMarginBottom: true
294
- })), hasLineHeightEnabled && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
295
- className: "single-column",
296
- label: (0, _i18n.__)('Line height'),
297
- hasValue: hasLineHeight,
298
- onDeselect: resetLineHeight,
299
- isShownByDefault: true
300
- }, (0, _element.createElement)(_blockEditor.LineHeightControl, {
301
- __nextHasNoMarginBottom: true,
302
- __unstableInputWidth: "auto",
303
- value: lineHeight,
304
- onChange: setLineHeight,
305
- size: "__unstable-large"
306
- })), hasLetterSpacingControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
307
- className: "single-column",
308
- label: (0, _i18n.__)('Letter spacing'),
309
- hasValue: hasLetterSpacing,
310
- onDeselect: resetLetterSpacing,
311
- isShownByDefault: true
312
- }, (0, _element.createElement)(_blockEditor.__experimentalLetterSpacingControl, {
313
- value: letterSpacing,
314
- onChange: setLetterSpacing,
315
- size: "__unstable-large",
316
- __unstableInputWidth: "auto"
317
- })), hasTextTransformControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
318
- label: (0, _i18n.__)('Letter case'),
319
- hasValue: hasTextTransform,
320
- onDeselect: resetTextTransform,
321
- isShownByDefault: true
322
- }, (0, _element.createElement)(_blockEditor.__experimentalTextTransformControl, {
323
- value: textTransform,
324
- onChange: setTextTransform,
325
- showNone: true,
326
- isBlock: true,
327
- size: "__unstable-large",
328
- __nextHasNoMarginBottom: true
329
- })), hasTextDecorationControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
330
- className: "single-column",
331
- label: (0, _i18n.__)('Text decoration'),
332
- hasValue: hasTextDecoration,
333
- onDeselect: resetTextDecoration,
334
- isShownByDefault: true
335
- }, (0, _element.createElement)(_blockEditor.__experimentalTextDecorationControl, {
336
- value: textDecoration,
337
- onChange: setTextDecoration,
338
- size: "__unstable-large",
339
- __unstableInputWidth: "auto"
340
- })));
49
+ const prefix = prefixParts.join('.');
50
+ const [style] = useGlobalStyle(prefix, name, 'user', false);
51
+ const [inheritedStyle, setStyle] = useGlobalStyle(prefix, name, 'all', {
52
+ shouldDecodeEncode: false
53
+ });
54
+ const [rawSettings] = useGlobalSetting('', name);
55
+ const usedElement = element === 'heading' ? headingLevel : element;
56
+ const supports = (0, _hooks.useSupportedStyles)(name, usedElement);
57
+ const settings = (0, _element.useMemo)(() => overrideSettingsWithSupports(rawSettings, supports), [rawSettings, supports]);
58
+ return (0, _element.createElement)(StylesTypographyPanel, {
59
+ inheritedValue: inheritedStyle,
60
+ value: style,
61
+ onChange: setStyle,
62
+ settings: settings
63
+ });
341
64
  }
342
65
  //# sourceMappingURL=typography-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/typography-panel.js"],"names":["useGlobalSetting","useGlobalStyle","blockEditorPrivateApis","useHasTypographyPanel","name","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","supports","includes","fontFamiliesPerOrigin","fontFamilies","custom","theme","default","length","hasFontStyles","hasFontWeights","useAppearanceControlLabel","element","setting","useHasTextTransformControl","useHasTextDecorationControl","useStyleWithReset","path","blockName","style","setStyle","userStyle","hasStyle","resetStyle","undefined","useFontSizeWithReset","fontSize","setStyleCallback","hasFontSize","resetFontSize","setFontSize","newValue","metadata","slug","useFontAppearance","prefix","fontStyle","setFontStyle","userFontStyle","fontWeight","setFontWeight","userFontWeight","resetFontAppearance","TypographyPanel","headingLevel","variation","fontSizesPerOrigin","fontSizes","disableCustomFontSizes","hasFontFamilyEnabled","hasLineHeightEnabled","hasAppearanceControl","appearanceControlLabel","hasLetterSpacingControl","hasTextTransformControl","hasTextDecorationControl","hasFontSizeEnabled","fontFamily","setFontFamily","resetFontFamily","lineHeight","setLineHeight","resetLineHeight","letterSpacing","setLetterSpacing","resetLetterSpacing","textTransform","setTextTransform","hasTextTransform","resetTextTransform","textDecoration","setTextDecoration","hasTextDecoration","resetTextDecoration","resetAll","newFontStyle","newFontWeight"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tLineHeightControl,\n\t__experimentalFontFamilyControl as FontFamilyControl,\n\t__experimentalFontAppearanceControl as FontAppearanceControl,\n\t__experimentalLetterSpacingControl as LetterSpacingControl,\n\t__experimentalTextTransformControl as TextTransformControl,\n\t__experimentalTextDecorationControl as TextDecorationControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tFontSizePicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels } from './hooks';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting, useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nexport function useHasTypographyPanel( name ) {\n\tconst hasFontFamily = useHasFontFamilyControl( name );\n\tconst hasLineHeight = useHasLineHeightControl( name );\n\tconst hasFontAppearance = useHasAppearanceControl( name );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( name );\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\tsupports.includes( 'fontSize' )\n\t);\n}\n\nfunction useHasFontFamilyControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ fontFamiliesPerOrigin ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tname\n\t);\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ||\n\t\tfontFamiliesPerOrigin?.theme ||\n\t\tfontFamiliesPerOrigin?.default;\n\treturn supports.includes( 'fontFamily' ) && !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn (\n\t\tuseGlobalSetting( 'typography.lineHeight', name )[ 0 ] &&\n\t\tsupports.includes( 'lineHeight' )\n\t);\n}\n\nfunction useHasAppearanceControl( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst hasFontStyles =\n\t\tuseGlobalSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseGlobalSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst hasFontStyles =\n\t\tuseGlobalSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseGlobalSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( name, element ) {\n\tconst setting = useGlobalSetting( 'typography.letterSpacing', name )[ 0 ];\n\tif ( ! setting ) {\n\t\treturn false;\n\t}\n\tif ( ! name && element === 'heading' ) {\n\t\treturn true;\n\t}\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn supports.includes( 'letterSpacing' );\n}\n\nfunction useHasTextTransformControl( name, element ) {\n\tconst setting = useGlobalSetting( 'typography.textTransform', name )[ 0 ];\n\tif ( ! setting ) {\n\t\treturn false;\n\t}\n\tif ( ! name && element === 'heading' ) {\n\t\treturn true;\n\t}\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\treturn supports.includes( 'textTransform' );\n}\n\nfunction useHasTextDecorationControl( name, element ) {\n\t// This is an exception for link elements.\n\t// We shouldn't allow other blocks or elements to set textDecoration\n\t// because this will be inherited by their children.\n\treturn ! name && element === 'link';\n}\n\nfunction useStyleWithReset( path, blockName ) {\n\tconst [ style, setStyle ] = useGlobalStyle( path, blockName );\n\tconst [ userStyle ] = useGlobalStyle( path, blockName, 'user' );\n\tconst hasStyle = () => !! userStyle;\n\tconst resetStyle = () => setStyle( undefined );\n\treturn [ style, setStyle, hasStyle, resetStyle ];\n}\n\nfunction useFontSizeWithReset( path, blockName ) {\n\tconst [ fontSize, setStyleCallback ] = useGlobalStyle( path, blockName );\n\tconst [ userStyle ] = useGlobalStyle( path, blockName, 'user' );\n\tconst hasFontSize = () => !! userStyle;\n\tconst resetFontSize = () => setStyleCallback( undefined );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tif ( !! metadata?.slug ) {\n\t\t\tnewValue = `var:preset|font-size|${ metadata?.slug }`;\n\t\t}\n\t\tsetStyleCallback( newValue );\n\t};\n\n\treturn {\n\t\tfontSize,\n\t\tsetFontSize,\n\t\thasFontSize,\n\t\tresetFontSize,\n\t};\n}\n\nfunction useFontAppearance( prefix, name ) {\n\tconst [ fontStyle, setFontStyle ] = useGlobalStyle(\n\t\tprefix + 'typography.fontStyle',\n\t\tname\n\t);\n\tconst [ userFontStyle ] = useGlobalStyle(\n\t\tprefix + 'typography.fontStyle',\n\t\tname,\n\t\t'user'\n\t);\n\tconst [ fontWeight, setFontWeight ] = useGlobalStyle(\n\t\tprefix + 'typography.fontWeight',\n\t\tname\n\t);\n\tconst [ userFontWeight ] = useGlobalStyle(\n\t\tprefix + 'typography.fontWeight',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasFontAppearance = () => !! userFontStyle || !! userFontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontStyle( undefined );\n\t\tsetFontWeight( undefined );\n\t};\n\treturn {\n\t\tfontStyle,\n\t\tsetFontStyle,\n\t\tfontWeight,\n\t\tsetFontWeight,\n\t\thasFontAppearance,\n\t\tresetFontAppearance,\n\t};\n}\n\nexport default function TypographyPanel( {\n\tname,\n\telement,\n\theadingLevel,\n\tvariation = '',\n} ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tlet prefix = '';\n\tif ( element === 'heading' ) {\n\t\tprefix = `elements.${ headingLevel }.`;\n\t} else if ( element && element !== 'text' ) {\n\t\tprefix = `elements.${ element }.`;\n\t}\n\tif ( variation ) {\n\t\tprefix = prefix\n\t\t\t? `variations.${ variation }.${ prefix }`\n\t\t\t: `variations.${ variation }`;\n\t}\n\tconst [ fontSizesPerOrigin ] = useGlobalSetting(\n\t\t'typography.fontSizes',\n\t\tname\n\t);\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ||\n\t\tfontSizesPerOrigin?.theme ||\n\t\tfontSizesPerOrigin?.default;\n\n\tconst disableCustomFontSizes = ! useGlobalSetting(\n\t\t'typography.customFontSize',\n\t\tname\n\t)[ 0 ];\n\tconst [ fontFamiliesPerOrigin ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tname\n\t);\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ||\n\t\tfontFamiliesPerOrigin?.theme ||\n\t\tfontFamiliesPerOrigin?.default;\n\tconst hasFontStyles =\n\t\tuseGlobalSetting( 'typography.fontStyle', name )[ 0 ] &&\n\t\tsupports.includes( 'fontStyle' );\n\tconst hasFontWeights =\n\t\tuseGlobalSetting( 'typography.fontWeight', name )[ 0 ] &&\n\t\tsupports.includes( 'fontWeight' );\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( name );\n\tconst hasLineHeightEnabled = useHasLineHeightControl( name );\n\tconst hasAppearanceControl = useHasAppearanceControl( name );\n\tconst appearanceControlLabel = useAppearanceControlLabel( name );\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( name, element );\n\tconst hasTextTransformControl = useHasTextTransformControl( name, element );\n\tconst hasTextDecorationControl = useHasTextDecorationControl(\n\t\tname,\n\t\telement\n\t);\n\n\t/* Disable font size controls when the option to style all headings is selected. */\n\tlet hasFontSizeEnabled = supports.includes( 'fontSize' );\n\tif ( element === 'heading' && headingLevel === 'heading' ) {\n\t\thasFontSizeEnabled = false;\n\t}\n\n\tconst [ fontFamily, setFontFamily, hasFontFamily, resetFontFamily ] =\n\t\tuseStyleWithReset( prefix + 'typography.fontFamily', name );\n\tconst { fontSize, setFontSize, hasFontSize, resetFontSize } =\n\t\tuseFontSizeWithReset( prefix + 'typography.fontSize', name );\n\tconst {\n\t\tfontStyle,\n\t\tsetFontStyle,\n\t\tfontWeight,\n\t\tsetFontWeight,\n\t\thasFontAppearance,\n\t\tresetFontAppearance,\n\t} = useFontAppearance( prefix, name );\n\tconst [ lineHeight, setLineHeight, hasLineHeight, resetLineHeight ] =\n\t\tuseStyleWithReset( prefix + 'typography.lineHeight', name );\n\tconst [\n\t\tletterSpacing,\n\t\tsetLetterSpacing,\n\t\thasLetterSpacing,\n\t\tresetLetterSpacing,\n\t] = useStyleWithReset( prefix + 'typography.letterSpacing', name );\n\tconst [\n\t\ttextTransform,\n\t\tsetTextTransform,\n\t\thasTextTransform,\n\t\tresetTextTransform,\n\t] = useStyleWithReset( prefix + 'typography.textTransform', name );\n\tconst [\n\t\ttextDecoration,\n\t\tsetTextDecoration,\n\t\thasTextDecoration,\n\t\tresetTextDecoration,\n\t] = useStyleWithReset( prefix + 'typography.textDecoration', name );\n\n\tconst resetAll = () => {\n\t\tresetFontFamily();\n\t\tresetFontSize();\n\t\tresetFontAppearance();\n\t\tresetLineHeight();\n\t\tresetLetterSpacing();\n\t\tresetTextTransform();\n\t};\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Typography' ) } resetAll={ resetAll }>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\t\t\t\tfontWeight: newFontWeight,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetFontStyle( newFontStyle );\n\t\t\t\t\t\t\tsetFontWeight( newFontWeight );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/typography-panel.js"],"names":["useGlobalStyle","useGlobalSetting","overrideSettingsWithSupports","TypographyPanel","StylesTypographyPanel","blockEditorPrivateApis","name","element","headingLevel","variation","prefixParts","concat","prefix","join","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","usedElement","supports","settings"],"mappings":";;;;;;;AAIA;;AADA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIA,MAAM;AACLA,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,4BAHK;AAILC,EAAAA,eAAe,EAAEC;AAJZ,IAKF,yBAAQC,wBAAR,CALJ;;AAOe,SAASF,eAAT,OAKX;AAAA,MALqC;AACxCG,IAAAA,IADwC;AAExCC,IAAAA,OAFwC;AAGxCC,IAAAA,YAHwC;AAIxCC,IAAAA,SAAS,GAAG;AAJ4B,GAKrC;AACH,MAAIC,WAAW,GAAG,EAAlB;;AACA,MAAKH,OAAO,KAAK,SAAjB,EAA6B;AAC5BG,IAAAA,WAAW,GAAGA,WAAW,CAACC,MAAZ,CAAoB,CAAE,UAAF,EAAcH,YAAd,CAApB,CAAd;AACA,GAFD,MAEO,IAAKD,OAAO,IAAIA,OAAO,KAAK,MAA5B,EAAqC;AAC3CG,IAAAA,WAAW,GAAGA,WAAW,CAACC,MAAZ,CAAoB,CAAE,UAAF,EAAcJ,OAAd,CAApB,CAAd;AACA;;AACD,MAAKE,SAAL,EAAiB;AAChBC,IAAAA,WAAW,GAAG,CAAE,YAAF,EAAgBD,SAAhB,EAA4BE,MAA5B,CAAoCD,WAApC,CAAd;AACA;;AACD,QAAME,MAAM,GAAGF,WAAW,CAACG,IAAZ,CAAkB,GAAlB,CAAf;AAEA,QAAM,CAAEC,KAAF,IAAYd,cAAc,CAAEY,MAAF,EAAUN,IAAV,EAAgB,MAAhB,EAAwB,KAAxB,CAAhC;AACA,QAAM,CAAES,cAAF,EAAkBC,QAAlB,IAA+BhB,cAAc,CAAEY,MAAF,EAAUN,IAAV,EAAgB,KAAhB,EAAuB;AACzEW,IAAAA,kBAAkB,EAAE;AADqD,GAAvB,CAAnD;AAGA,QAAM,CAAEC,WAAF,IAAkBjB,gBAAgB,CAAE,EAAF,EAAMK,IAAN,CAAxC;AACA,QAAMa,WAAW,GAAGZ,OAAO,KAAK,SAAZ,GAAwBC,YAAxB,GAAuCD,OAA3D;AACA,QAAMa,QAAQ,GAAG,+BAAoBd,IAApB,EAA0Ba,WAA1B,CAAjB;AACA,QAAME,QAAQ,GAAG,sBAChB,MAAMnB,4BAA4B,CAAEgB,WAAF,EAAeE,QAAf,CADlB,EAEhB,CAAEF,WAAF,EAAeE,QAAf,CAFgB,CAAjB;AAKA,SACC,4BAAC,qBAAD;AACC,IAAA,cAAc,EAAGL,cADlB;AAEC,IAAA,KAAK,EAAGD,KAFT;AAGC,IAAA,QAAQ,EAAGE,QAHZ;AAIC,IAAA,QAAQ,EAAGK;AAJZ,IADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nimport { useSupportedStyles } from './hooks';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\toverrideSettingsWithSupports,\n\tTypographyPanel: StylesTypographyPanel,\n} = unlock( blockEditorPrivateApis );\n\nexport default function TypographyPanel( {\n\tname,\n\telement,\n\theadingLevel,\n\tvariation = '',\n} ) {\n\tlet prefixParts = [];\n\tif ( element === 'heading' ) {\n\t\tprefixParts = prefixParts.concat( [ 'elements', headingLevel ] );\n\t} else if ( element && element !== 'text' ) {\n\t\tprefixParts = prefixParts.concat( [ 'elements', element ] );\n\t}\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst usedElement = element === 'heading' ? headingLevel : element;\n\tconst supports = useSupportedStyles( name, usedElement );\n\tconst settings = useMemo(\n\t\t() => overrideSettingsWithSupports( rawSettings, supports ),\n\t\t[ rawSettings, supports ]\n\t);\n\n\treturn (\n\t\t<StylesTypographyPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ setStyle }\n\t\t\tsettings={ settings }\n\t\t/>\n\t);\n}\n"]}
@@ -11,16 +11,12 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _data = require("@wordpress/data");
13
13
 
14
- var _components = require("@wordpress/components");
15
-
16
14
  var _coreData = require("@wordpress/core-data");
17
15
 
18
16
  var _blockEditor = require("@wordpress/block-editor");
19
17
 
20
18
  var _a11y = require("@wordpress/a11y");
21
19
 
22
- var _compose = require("@wordpress/compose");
23
-
24
20
  var _i18n = require("@wordpress/i18n");
25
21
 
26
22
  var _navigationMenu = _interopRequireDefault(require("./navigation-menu"));
@@ -83,7 +79,6 @@ function NavigationInspector(_ref) {
83
79
  hasResolvedNavigationMenus: hasFinishedResolution('getEntityRecords', navigationMenusQuery)
84
80
  };
85
81
  }, []);
86
- const navMenuListId = (0, _compose.useInstanceId)(_navigationMenu.default, 'edit-site-navigation-inspector-menu');
87
82
  const firstNavRefInTemplate = clientIdToRef[firstNavigationBlockId];
88
83
  const firstNavigationMenuRef = navigationMenus === null || navigationMenus === void 0 ? void 0 : (_navigationMenus$ = navigationMenus[0]) === null || _navigationMenus$ === void 0 ? void 0 : _navigationMenus$.id; // Default Navigation Menu is either:
89
84
  // - the Navigation Menu referenced by the first Nav block within the template.
@@ -100,21 +95,6 @@ function NavigationInspector(_ref) {
100
95
  setCurrentMenuId(clientIdToRef[selectedNavigationBlockId]);
101
96
  }
102
97
  }, [selectedNavigationBlockId]);
103
- let options = [];
104
-
105
- if (navigationMenus) {
106
- options = navigationMenus.map(_ref2 => {
107
- let {
108
- id,
109
- title
110
- } = _ref2;
111
- return {
112
- value: id,
113
- label: title.rendered
114
- };
115
- });
116
- }
117
-
118
98
  const [innerBlocks, onInput, onChange] = (0, _coreData.useEntityBlockEditor)('postType', 'wp_navigation', {
119
99
  id: currentMenuId || defaultNavigationMenuId
120
100
  });
@@ -132,7 +112,6 @@ function NavigationInspector(_ref) {
132
112
  };
133
113
  }, [currentMenuId, defaultNavigationMenuId]);
134
114
  const isLoading = !(hasResolvedNavigationMenus && hasLoadedInnerBlocks);
135
- const hasMoreThanOneNavigationMenu = (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) > 1;
136
115
  const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length); // Entity block editor will return entities that are not currently published.
137
116
  // Guard by only allowing their usage if there are published Nav Menus.
138
117
 
@@ -162,14 +141,6 @@ function NavigationInspector(_ref) {
162
141
  className: "edit-site-navigation-inspector__empty-msg"
163
142
  }, (0, _i18n.__)('There are no Navigation Menus.')), !hasResolvedNavigationMenus && (0, _element.createElement)("div", {
164
143
  className: "edit-site-navigation-inspector__placeholder"
165
- }), hasResolvedNavigationMenus && hasMoreThanOneNavigationMenu && (0, _element.createElement)(_components.SelectControl, {
166
- __nextHasNoMarginBottom: true,
167
- className: "edit-site-navigation-inspector__select-menu",
168
- "aria-controls": // aria-controls should only apply when referenced element is in DOM
169
- hasLoadedInnerBlocks ? navMenuListId : undefined,
170
- value: currentMenuId || defaultNavigationMenuId,
171
- options: options,
172
- onChange: newMenuId => setCurrentMenuId(Number(newMenuId))
173
144
  }), isLoading && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("div", {
174
145
  className: "edit-site-navigation-inspector__placeholder is-child"
175
146
  }), (0, _element.createElement)("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-inspector/index.js"],"names":["NAVIGATION_MENUS_QUERY","per_page","status","NavigationInspector","onSelect","selectedNavigationBlockId","clientIdToRef","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","firstNavigationBlockId","select","__experimentalGetActiveBlockIdByBlockNames","__experimentalGetGlobalBlocksByName","getBlock","blockEditorStore","getEntityRecords","hasFinishedResolution","isResolving","coreStore","navigationMenusQuery","selectedNavId","navBlockIds","idToRef","forEach","id","attributes","ref","navMenuListId","NavigationMenu","firstNavRefInTemplate","firstNavigationMenuRef","defaultNavigationMenuId","currentMenuId","setCurrentMenuId","options","map","title","value","label","rendered","innerBlocks","onInput","onChange","isLoadingInnerBlocks","hasLoadedInnerBlocks","isLoading","hasMoreThanOneNavigationMenu","length","hasNavigationMenus","publishedInnerBlocks","hasInnerBlocks","undefined","newMenuId","Number"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState, useEffect } from '@wordpress/element';\nimport { SelectControl } from '@wordpress/components';\nimport { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tstore as blockEditorStore,\n\tBlockEditorProvider,\n} from '@wordpress/block-editor';\nimport { speak } from '@wordpress/a11y';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenu from './navigation-menu';\n\nconst NAVIGATION_MENUS_QUERY = [ { per_page: -1, status: 'publish' } ];\n\nexport default function NavigationInspector( { onSelect } ) {\n\tconst {\n\t\tselectedNavigationBlockId,\n\t\tclientIdToRef,\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tfirstNavigationBlockId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetActiveBlockIdByBlockNames,\n\t\t\t__experimentalGetGlobalBlocksByName,\n\t\t\tgetBlock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst { getEntityRecords, hasFinishedResolution, isResolving } =\n\t\t\tselect( coreStore );\n\n\t\tconst navigationMenusQuery = [\n\t\t\t'postType',\n\t\t\t'wp_navigation',\n\t\t\tNAVIGATION_MENUS_QUERY[ 0 ],\n\t\t];\n\n\t\t// Get the active Navigation block (if present).\n\t\tconst selectedNavId =\n\t\t\t__experimentalGetActiveBlockIdByBlockNames( 'core/navigation' );\n\n\t\t// Get all Navigation blocks currently within the editor canvas.\n\t\tconst navBlockIds =\n\t\t\t__experimentalGetGlobalBlocksByName( 'core/navigation' );\n\t\tconst idToRef = {};\n\t\tnavBlockIds.forEach( ( id ) => {\n\t\t\tidToRef[ id ] = getBlock( id )?.attributes?.ref;\n\t\t} );\n\t\treturn {\n\t\t\tselectedNavigationBlockId: selectedNavId,\n\t\t\tfirstNavigationBlockId: navBlockIds?.[ 0 ],\n\t\t\tclientIdToRef: idToRef,\n\t\t\tnavigationMenus: getEntityRecords( ...navigationMenusQuery ),\n\t\t\tisResolvingNavigationMenus: isResolving(\n\t\t\t\t'getEntityRecords',\n\t\t\t\tnavigationMenusQuery\n\t\t\t),\n\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t'getEntityRecords',\n\t\t\t\tnavigationMenusQuery\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst navMenuListId = useInstanceId(\n\t\tNavigationMenu,\n\t\t'edit-site-navigation-inspector-menu'\n\t);\n\n\tconst firstNavRefInTemplate = clientIdToRef[ firstNavigationBlockId ];\n\tconst firstNavigationMenuRef = navigationMenus?.[ 0 ]?.id;\n\n\t// Default Navigation Menu is either:\n\t// - the Navigation Menu referenced by the first Nav block within the template.\n\t// - the first of the available Navigation Menus (`wp_navigation`) posts.\n\tconst defaultNavigationMenuId =\n\t\tfirstNavRefInTemplate || firstNavigationMenuRef;\n\n\t// The Navigation Menu manually selected by the user within the Nav inspector.\n\tconst [ currentMenuId, setCurrentMenuId ] = useState(\n\t\tfirstNavRefInTemplate\n\t);\n\n\t// If a Nav block is selected within the canvas then set the\n\t// Navigation Menu referenced by it's `ref` attribute to be\n\t// active within the Navigation sidebar.\n\tuseEffect( () => {\n\t\tif ( selectedNavigationBlockId ) {\n\t\t\tsetCurrentMenuId( clientIdToRef[ selectedNavigationBlockId ] );\n\t\t}\n\t}, [ selectedNavigationBlockId ] );\n\n\tlet options = [];\n\tif ( navigationMenus ) {\n\t\toptions = navigationMenus.map( ( { id, title } ) => ( {\n\t\t\tvalue: id,\n\t\t\tlabel: title.rendered,\n\t\t} ) );\n\t}\n\n\tconst [ innerBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t{ id: currentMenuId || defaultNavigationMenuId }\n\t);\n\n\tconst { isLoadingInnerBlocks, hasLoadedInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isResolving, hasFinishedResolution } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tisLoadingInnerBlocks: isResolving( 'getEntityRecord', [\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_navigation',\n\t\t\t\t\tcurrentMenuId || defaultNavigationMenuId,\n\t\t\t\t] ),\n\t\t\t\thasLoadedInnerBlocks: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecord',\n\t\t\t\t\t[\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_navigation',\n\t\t\t\t\t\tcurrentMenuId || defaultNavigationMenuId,\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ currentMenuId, defaultNavigationMenuId ]\n\t);\n\n\tconst isLoading = ! ( hasResolvedNavigationMenus && hasLoadedInnerBlocks );\n\n\tconst hasMoreThanOneNavigationMenu = navigationMenus?.length > 1;\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\t// Entity block editor will return entities that are not currently published.\n\t// Guard by only allowing their usage if there are published Nav Menus.\n\tconst publishedInnerBlocks = hasNavigationMenus ? innerBlocks : [];\n\n\tconst hasInnerBlocks = !! publishedInnerBlocks?.length;\n\n\tuseEffect( () => {\n\t\tif ( isResolvingNavigationMenus ) {\n\t\t\tspeak( 'Loading Navigation sidebar menus.' );\n\t\t}\n\n\t\tif ( hasResolvedNavigationMenus ) {\n\t\t\tspeak( 'Navigation sidebar menus have loaded.' );\n\t\t}\n\t}, [ isResolvingNavigationMenus, hasResolvedNavigationMenus ] );\n\n\tuseEffect( () => {\n\t\tif ( isLoadingInnerBlocks ) {\n\t\t\tspeak( 'Loading Navigation sidebar selected menu items.' );\n\t\t}\n\n\t\tif ( hasLoadedInnerBlocks ) {\n\t\t\tspeak( 'Navigation sidebar selected menu items have loaded.' );\n\t\t}\n\t}, [ isLoadingInnerBlocks, hasLoadedInnerBlocks ] );\n\n\treturn (\n\t\t<div className=\"edit-site-navigation-inspector\">\n\t\t\t{ hasResolvedNavigationMenus && ! hasNavigationMenus && (\n\t\t\t\t<p className=\"edit-site-navigation-inspector__empty-msg\">\n\t\t\t\t\t{ __( 'There are no Navigation Menus.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\n\t\t\t{ ! hasResolvedNavigationMenus && (\n\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder\" />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && hasMoreThanOneNavigationMenu && (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"edit-site-navigation-inspector__select-menu\"\n\t\t\t\t\taria-controls={\n\t\t\t\t\t\t// aria-controls should only apply when referenced element is in DOM\n\t\t\t\t\t\thasLoadedInnerBlocks ? navMenuListId : undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ currentMenuId || defaultNavigationMenuId }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( newMenuId ) =>\n\t\t\t\t\t\tsetCurrentMenuId( Number( newMenuId ) )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isLoading && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder is-child\" />\n\t\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder is-child\" />\n\t\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder is-child\" />\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ hasInnerBlocks && ! isLoading && (\n\t\t\t\t<BlockEditorProvider\n\t\t\t\t\tvalue={ publishedInnerBlocks }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tonInput={ onInput }\n\t\t\t\t>\n\t\t\t\t\t<NavigationMenu\n\t\t\t\t\t\tinnerBlocks={ publishedInnerBlocks }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</BlockEditorProvider>\n\t\t\t) }\n\n\t\t\t{ ! hasInnerBlocks && ! isLoading && (\n\t\t\t\t<p className=\"edit-site-navigation-inspector__empty-msg\">\n\t\t\t\t\t{ __( 'Navigation Menu is empty.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-inspector/index.js"],"names":["NAVIGATION_MENUS_QUERY","per_page","status","NavigationInspector","onSelect","selectedNavigationBlockId","clientIdToRef","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","firstNavigationBlockId","select","__experimentalGetActiveBlockIdByBlockNames","__experimentalGetGlobalBlocksByName","getBlock","blockEditorStore","getEntityRecords","hasFinishedResolution","isResolving","coreStore","navigationMenusQuery","selectedNavId","navBlockIds","idToRef","forEach","id","attributes","ref","firstNavRefInTemplate","firstNavigationMenuRef","defaultNavigationMenuId","currentMenuId","setCurrentMenuId","innerBlocks","onInput","onChange","isLoadingInnerBlocks","hasLoadedInnerBlocks","isLoading","hasNavigationMenus","length","publishedInnerBlocks","hasInnerBlocks"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState, useEffect } from '@wordpress/element';\nimport { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tstore as blockEditorStore,\n\tBlockEditorProvider,\n} from '@wordpress/block-editor';\nimport { speak } from '@wordpress/a11y';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenu from './navigation-menu';\n\nconst NAVIGATION_MENUS_QUERY = [ { per_page: -1, status: 'publish' } ];\n\nexport default function NavigationInspector( { onSelect } ) {\n\tconst {\n\t\tselectedNavigationBlockId,\n\t\tclientIdToRef,\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tfirstNavigationBlockId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetActiveBlockIdByBlockNames,\n\t\t\t__experimentalGetGlobalBlocksByName,\n\t\t\tgetBlock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst { getEntityRecords, hasFinishedResolution, isResolving } =\n\t\t\tselect( coreStore );\n\n\t\tconst navigationMenusQuery = [\n\t\t\t'postType',\n\t\t\t'wp_navigation',\n\t\t\tNAVIGATION_MENUS_QUERY[ 0 ],\n\t\t];\n\n\t\t// Get the active Navigation block (if present).\n\t\tconst selectedNavId =\n\t\t\t__experimentalGetActiveBlockIdByBlockNames( 'core/navigation' );\n\n\t\t// Get all Navigation blocks currently within the editor canvas.\n\t\tconst navBlockIds =\n\t\t\t__experimentalGetGlobalBlocksByName( 'core/navigation' );\n\t\tconst idToRef = {};\n\t\tnavBlockIds.forEach( ( id ) => {\n\t\t\tidToRef[ id ] = getBlock( id )?.attributes?.ref;\n\t\t} );\n\t\treturn {\n\t\t\tselectedNavigationBlockId: selectedNavId,\n\t\t\tfirstNavigationBlockId: navBlockIds?.[ 0 ],\n\t\t\tclientIdToRef: idToRef,\n\t\t\tnavigationMenus: getEntityRecords( ...navigationMenusQuery ),\n\t\t\tisResolvingNavigationMenus: isResolving(\n\t\t\t\t'getEntityRecords',\n\t\t\t\tnavigationMenusQuery\n\t\t\t),\n\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t'getEntityRecords',\n\t\t\t\tnavigationMenusQuery\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst firstNavRefInTemplate = clientIdToRef[ firstNavigationBlockId ];\n\tconst firstNavigationMenuRef = navigationMenus?.[ 0 ]?.id;\n\n\t// Default Navigation Menu is either:\n\t// - the Navigation Menu referenced by the first Nav block within the template.\n\t// - the first of the available Navigation Menus (`wp_navigation`) posts.\n\tconst defaultNavigationMenuId =\n\t\tfirstNavRefInTemplate || firstNavigationMenuRef;\n\n\t// The Navigation Menu manually selected by the user within the Nav inspector.\n\tconst [ currentMenuId, setCurrentMenuId ] = useState(\n\t\tfirstNavRefInTemplate\n\t);\n\n\t// If a Nav block is selected within the canvas then set the\n\t// Navigation Menu referenced by it's `ref` attribute to be\n\t// active within the Navigation sidebar.\n\tuseEffect( () => {\n\t\tif ( selectedNavigationBlockId ) {\n\t\t\tsetCurrentMenuId( clientIdToRef[ selectedNavigationBlockId ] );\n\t\t}\n\t}, [ selectedNavigationBlockId ] );\n\n\tconst [ innerBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t{ id: currentMenuId || defaultNavigationMenuId }\n\t);\n\n\tconst { isLoadingInnerBlocks, hasLoadedInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isResolving, hasFinishedResolution } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tisLoadingInnerBlocks: isResolving( 'getEntityRecord', [\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_navigation',\n\t\t\t\t\tcurrentMenuId || defaultNavigationMenuId,\n\t\t\t\t] ),\n\t\t\t\thasLoadedInnerBlocks: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecord',\n\t\t\t\t\t[\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_navigation',\n\t\t\t\t\t\tcurrentMenuId || defaultNavigationMenuId,\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ currentMenuId, defaultNavigationMenuId ]\n\t);\n\n\tconst isLoading = ! ( hasResolvedNavigationMenus && hasLoadedInnerBlocks );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\t// Entity block editor will return entities that are not currently published.\n\t// Guard by only allowing their usage if there are published Nav Menus.\n\tconst publishedInnerBlocks = hasNavigationMenus ? innerBlocks : [];\n\n\tconst hasInnerBlocks = !! publishedInnerBlocks?.length;\n\n\tuseEffect( () => {\n\t\tif ( isResolvingNavigationMenus ) {\n\t\t\tspeak( 'Loading Navigation sidebar menus.' );\n\t\t}\n\n\t\tif ( hasResolvedNavigationMenus ) {\n\t\t\tspeak( 'Navigation sidebar menus have loaded.' );\n\t\t}\n\t}, [ isResolvingNavigationMenus, hasResolvedNavigationMenus ] );\n\n\tuseEffect( () => {\n\t\tif ( isLoadingInnerBlocks ) {\n\t\t\tspeak( 'Loading Navigation sidebar selected menu items.' );\n\t\t}\n\n\t\tif ( hasLoadedInnerBlocks ) {\n\t\t\tspeak( 'Navigation sidebar selected menu items have loaded.' );\n\t\t}\n\t}, [ isLoadingInnerBlocks, hasLoadedInnerBlocks ] );\n\n\treturn (\n\t\t<div className=\"edit-site-navigation-inspector\">\n\t\t\t{ hasResolvedNavigationMenus && ! hasNavigationMenus && (\n\t\t\t\t<p className=\"edit-site-navigation-inspector__empty-msg\">\n\t\t\t\t\t{ __( 'There are no Navigation Menus.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\n\t\t\t{ ! hasResolvedNavigationMenus && (\n\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder\" />\n\t\t\t) }\n\t\t\t{ isLoading && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder is-child\" />\n\t\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder is-child\" />\n\t\t\t\t\t<div className=\"edit-site-navigation-inspector__placeholder is-child\" />\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ hasInnerBlocks && ! isLoading && (\n\t\t\t\t<BlockEditorProvider\n\t\t\t\t\tvalue={ publishedInnerBlocks }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tonInput={ onInput }\n\t\t\t\t>\n\t\t\t\t\t<NavigationMenu\n\t\t\t\t\t\tinnerBlocks={ publishedInnerBlocks }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</BlockEditorProvider>\n\t\t\t) }\n\n\t\t\t{ ! hasInnerBlocks && ! isLoading && (\n\t\t\t\t<p className=\"edit-site-navigation-inspector__empty-msg\">\n\t\t\t\t\t{ __( 'Navigation Menu is empty.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
@@ -36,7 +36,8 @@ function NavigationMenu(_ref) {
36
36
  updateBlockListSettings
37
37
  } = (0, _data.useDispatch)(_blockEditor.store);
38
38
  const {
39
- OffCanvasEditor
39
+ OffCanvasEditor,
40
+ LeafMoreMenu
40
41
  } = (0, _privateApis.unlock)(_blockEditor.privateApis); //TODO: Block settings are normally updated as a side effect of rendering InnerBlocks in BlockList
41
42
  //Think through a better way of doing this, possible with adding allowed blocks to block library metadata
42
43
 
@@ -54,7 +55,8 @@ function NavigationMenu(_ref) {
54
55
  }, [updateBlockListSettings, innerBlocks]);
55
56
  return (0, _element.createElement)(OffCanvasEditor, {
56
57
  blocks: innerBlocks,
57
- onSelect: onSelect
58
+ onSelect: onSelect,
59
+ LeafMoreMenu: LeafMoreMenu
58
60
  });
59
61
  }
60
62
  //# sourceMappingURL=navigation-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-inspector/navigation-menu.js"],"names":["ALLOWED_BLOCKS","NavigationMenu","innerBlocks","onSelect","updateBlockListSettings","blockEditorStore","OffCanvasEditor","blockEditorPrivateApis","allowedBlocks","forEach","block","name","clientId"],"mappings":";;;;;;;AAOA;;AAJA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG;AACtB,qBAAmB,CAClB,sBADkB,EAElB,aAFkB,EAGlB,mBAHkB,EAIlB,gBAJkB,EAKlB,aALkB,EAMlB,gBANkB,EAOlB,iBAPkB,EAQlB,gBARkB,EASlB,yBATkB,CADG;AAYtB,uBAAqB,CAAE,kBAAF,CAZC;AAatB,6BAA2B,CAC1B,sBAD0B,EAE1B,yBAF0B,CAbL;AAiBtB,0BAAwB,CACvB,sBADuB,EAEvB,yBAFuB;AAjBF,CAAvB;;AAuBe,SAASC,cAAT,OAAqD;AAAA,MAA5B;AAAEC,IAAAA,WAAF;AAAeC,IAAAA;AAAf,GAA4B;AACnE,QAAM;AAAEC,IAAAA;AAAF,MAA8B,uBAAaC,kBAAb,CAApC;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAsB,yBAAQC,wBAAR,CAA5B,CAHmE,CAKnE;AACA;;AACA,0BAAW,MAAM;AAChBH,IAAAA,uBAAuB,CAAE,EAAF,EAAM;AAC5BI,MAAAA,aAAa,EAAER,cAAc,CAAE,iBAAF;AADD,KAAN,CAAvB;AAGAE,IAAAA,WAAW,CAACO,OAAZ,CAAuBC,KAAF,IAAa;AACjC,UAAKV,cAAc,CAAEU,KAAK,CAACC,IAAR,CAAnB,EAAoC;AACnCP,QAAAA,uBAAuB,CAAEM,KAAK,CAACE,QAAR,EAAkB;AACxCJ,UAAAA,aAAa,EAAER,cAAc,CAAEU,KAAK,CAACC,IAAR;AADW,SAAlB,CAAvB;AAGA;AACD,KAND;AAOA,GAXD,EAWG,CAAEP,uBAAF,EAA2BF,WAA3B,CAXH;AAaA,SAAO,4BAAC,eAAD;AAAiB,IAAA,MAAM,EAAGA,WAA1B;AAAwC,IAAA,QAAQ,EAAGC;AAAnD,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst ALLOWED_BLOCKS = {\n\t'core/navigation': [\n\t\t'core/navigation-link',\n\t\t'core/search',\n\t\t'core/social-links',\n\t\t'core/page-list',\n\t\t'core/spacer',\n\t\t'core/home-link',\n\t\t'core/site-title',\n\t\t'core/site-logo',\n\t\t'core/navigation-submenu',\n\t],\n\t'core/social-links': [ 'core/social-link' ],\n\t'core/navigation-submenu': [\n\t\t'core/navigation-link',\n\t\t'core/navigation-submenu',\n\t],\n\t'core/navigation-link': [\n\t\t'core/navigation-link',\n\t\t'core/navigation-submenu',\n\t],\n};\n\nexport default function NavigationMenu( { innerBlocks, onSelect } ) {\n\tconst { updateBlockListSettings } = useDispatch( blockEditorStore );\n\n\tconst { OffCanvasEditor } = unlock( blockEditorPrivateApis );\n\n\t//TODO: Block settings are normally updated as a side effect of rendering InnerBlocks in BlockList\n\t//Think through a better way of doing this, possible with adding allowed blocks to block library metadata\n\tuseEffect( () => {\n\t\tupdateBlockListSettings( '', {\n\t\t\tallowedBlocks: ALLOWED_BLOCKS[ 'core/navigation' ],\n\t\t} );\n\t\tinnerBlocks.forEach( ( block ) => {\n\t\t\tif ( ALLOWED_BLOCKS[ block.name ] ) {\n\t\t\t\tupdateBlockListSettings( block.clientId, {\n\t\t\t\t\tallowedBlocks: ALLOWED_BLOCKS[ block.name ],\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}, [ updateBlockListSettings, innerBlocks ] );\n\n\treturn <OffCanvasEditor blocks={ innerBlocks } onSelect={ onSelect } />;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-inspector/navigation-menu.js"],"names":["ALLOWED_BLOCKS","NavigationMenu","innerBlocks","onSelect","updateBlockListSettings","blockEditorStore","OffCanvasEditor","LeafMoreMenu","blockEditorPrivateApis","allowedBlocks","forEach","block","name","clientId"],"mappings":";;;;;;;AAOA;;AAJA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG;AACtB,qBAAmB,CAClB,sBADkB,EAElB,aAFkB,EAGlB,mBAHkB,EAIlB,gBAJkB,EAKlB,aALkB,EAMlB,gBANkB,EAOlB,iBAPkB,EAQlB,gBARkB,EASlB,yBATkB,CADG;AAYtB,uBAAqB,CAAE,kBAAF,CAZC;AAatB,6BAA2B,CAC1B,sBAD0B,EAE1B,yBAF0B,CAbL;AAiBtB,0BAAwB,CACvB,sBADuB,EAEvB,yBAFuB;AAjBF,CAAvB;;AAuBe,SAASC,cAAT,OAAqD;AAAA,MAA5B;AAAEC,IAAAA,WAAF;AAAeC,IAAAA;AAAf,GAA4B;AACnE,QAAM;AAAEC,IAAAA;AAAF,MAA8B,uBAAaC,kBAAb,CAApC;AAEA,QAAM;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,MAAoC,yBAAQC,wBAAR,CAA1C,CAHmE,CAKnE;AACA;;AACA,0BAAW,MAAM;AAChBJ,IAAAA,uBAAuB,CAAE,EAAF,EAAM;AAC5BK,MAAAA,aAAa,EAAET,cAAc,CAAE,iBAAF;AADD,KAAN,CAAvB;AAGAE,IAAAA,WAAW,CAACQ,OAAZ,CAAuBC,KAAF,IAAa;AACjC,UAAKX,cAAc,CAAEW,KAAK,CAACC,IAAR,CAAnB,EAAoC;AACnCR,QAAAA,uBAAuB,CAAEO,KAAK,CAACE,QAAR,EAAkB;AACxCJ,UAAAA,aAAa,EAAET,cAAc,CAAEW,KAAK,CAACC,IAAR;AADW,SAAlB,CAAvB;AAGA;AACD,KAND;AAOA,GAXD,EAWG,CAAER,uBAAF,EAA2BF,WAA3B,CAXH;AAaA,SACC,4BAAC,eAAD;AACC,IAAA,MAAM,EAAGA,WADV;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,YAAY,EAAGI;AAHhB,IADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst ALLOWED_BLOCKS = {\n\t'core/navigation': [\n\t\t'core/navigation-link',\n\t\t'core/search',\n\t\t'core/social-links',\n\t\t'core/page-list',\n\t\t'core/spacer',\n\t\t'core/home-link',\n\t\t'core/site-title',\n\t\t'core/site-logo',\n\t\t'core/navigation-submenu',\n\t],\n\t'core/social-links': [ 'core/social-link' ],\n\t'core/navigation-submenu': [\n\t\t'core/navigation-link',\n\t\t'core/navigation-submenu',\n\t],\n\t'core/navigation-link': [\n\t\t'core/navigation-link',\n\t\t'core/navigation-submenu',\n\t],\n};\n\nexport default function NavigationMenu( { innerBlocks, onSelect } ) {\n\tconst { updateBlockListSettings } = useDispatch( blockEditorStore );\n\n\tconst { OffCanvasEditor, LeafMoreMenu } = unlock( blockEditorPrivateApis );\n\n\t//TODO: Block settings are normally updated as a side effect of rendering InnerBlocks in BlockList\n\t//Think through a better way of doing this, possible with adding allowed blocks to block library metadata\n\tuseEffect( () => {\n\t\tupdateBlockListSettings( '', {\n\t\t\tallowedBlocks: ALLOWED_BLOCKS[ 'core/navigation' ],\n\t\t} );\n\t\tinnerBlocks.forEach( ( block ) => {\n\t\t\tif ( ALLOWED_BLOCKS[ block.name ] ) {\n\t\t\t\tupdateBlockListSettings( block.clientId, {\n\t\t\t\t\tallowedBlocks: ALLOWED_BLOCKS[ block.name ],\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}, [ updateBlockListSettings, innerBlocks ] );\n\n\treturn (\n\t\t<OffCanvasEditor\n\t\t\tblocks={ innerBlocks }\n\t\t\tonSelect={ onSelect }\n\t\t\tLeafMoreMenu={ LeafMoreMenu }\n\t\t/>\n\t);\n}\n"]}