@wordpress/block-editor 15.6.1 → 15.7.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 (158) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/background-image-control/index.js +2 -2
  3. package/build/components/background-image-control/index.js.map +2 -2
  4. package/build/components/block-quick-navigation/index.js +1 -0
  5. package/build/components/block-quick-navigation/index.js.map +2 -2
  6. package/build/components/block-toolbar/switch-section-style.js +2 -5
  7. package/build/components/block-toolbar/switch-section-style.js.map +2 -2
  8. package/build/components/global-styles/border-panel.js +2 -1
  9. package/build/components/global-styles/border-panel.js.map +2 -2
  10. package/build/components/global-styles/color-panel.js +2 -1
  11. package/build/components/global-styles/color-panel.js.map +2 -2
  12. package/build/components/global-styles/dimensions-panel.js +3 -2
  13. package/build/components/global-styles/dimensions-panel.js.map +2 -2
  14. package/build/components/global-styles/filters-panel.js +2 -1
  15. package/build/components/global-styles/filters-panel.js.map +2 -2
  16. package/build/components/global-styles/hooks.js +0 -179
  17. package/build/components/global-styles/hooks.js.map +3 -3
  18. package/build/components/global-styles/index.js +0 -29
  19. package/build/components/global-styles/index.js.map +2 -2
  20. package/build/components/global-styles/typography-panel.js +2 -1
  21. package/build/components/global-styles/typography-panel.js.map +2 -2
  22. package/build/components/global-styles/typography-utils.js +2 -49
  23. package/build/components/global-styles/typography-utils.js.map +2 -2
  24. package/build/components/global-styles/utils.js +0 -396
  25. package/build/components/global-styles/utils.js.map +3 -3
  26. package/build/components/inserter/media-tab/media-tab.js +33 -1
  27. package/build/components/inserter/media-tab/media-tab.js.map +3 -3
  28. package/build/components/inserter/tips.js +0 -2
  29. package/build/components/inserter/tips.js.map +2 -2
  30. package/build/components/media-placeholder/index.js +31 -1
  31. package/build/components/media-placeholder/index.js.map +3 -3
  32. package/build/components/media-replace-flow/index.js +29 -1
  33. package/build/components/media-replace-flow/index.js.map +3 -3
  34. package/build/components/{global-styles/context.js → media-upload-modal/index.js} +8 -23
  35. package/build/components/media-upload-modal/index.js.map +7 -0
  36. package/build/hooks/allowed-blocks.js +3 -8
  37. package/build/hooks/allowed-blocks.js.map +3 -3
  38. package/build/hooks/block-style-variation.js +10 -23
  39. package/build/hooks/block-style-variation.js.map +2 -2
  40. package/build/hooks/duotone.js +3 -3
  41. package/build/hooks/duotone.js.map +2 -2
  42. package/build/hooks/fit-text.js +2 -2
  43. package/build/hooks/fit-text.js.map +2 -2
  44. package/build/hooks/font-size.js +2 -2
  45. package/build/hooks/font-size.js.map +2 -2
  46. package/build/hooks/use-typography-props.js +2 -2
  47. package/build/hooks/use-typography-props.js.map +2 -2
  48. package/build/private-apis.js +3 -1
  49. package/build/private-apis.js.map +3 -3
  50. package/build-module/components/background-image-control/index.js +1 -1
  51. package/build-module/components/background-image-control/index.js.map +2 -2
  52. package/build-module/components/block-quick-navigation/index.js +1 -0
  53. package/build-module/components/block-quick-navigation/index.js.map +2 -2
  54. package/build-module/components/block-toolbar/switch-section-style.js +2 -5
  55. package/build-module/components/block-toolbar/switch-section-style.js.map +2 -2
  56. package/build-module/components/global-styles/border-panel.js +2 -1
  57. package/build-module/components/global-styles/border-panel.js.map +2 -2
  58. package/build-module/components/global-styles/color-panel.js +2 -1
  59. package/build-module/components/global-styles/color-panel.js.map +2 -2
  60. package/build-module/components/global-styles/dimensions-panel.js +2 -1
  61. package/build-module/components/global-styles/dimensions-panel.js.map +2 -2
  62. package/build-module/components/global-styles/filters-panel.js +2 -1
  63. package/build-module/components/global-styles/filters-panel.js.map +2 -2
  64. package/build-module/components/global-styles/hooks.js +1 -167
  65. package/build-module/components/global-styles/hooks.js.map +2 -2
  66. package/build-module/components/global-styles/index.js +1 -29
  67. package/build-module/components/global-styles/index.js.map +2 -2
  68. package/build-module/components/global-styles/typography-panel.js +2 -1
  69. package/build-module/components/global-styles/typography-panel.js.map +2 -2
  70. package/build-module/components/global-styles/typography-utils.js +1 -49
  71. package/build-module/components/global-styles/typography-utils.js.map +2 -2
  72. package/build-module/components/global-styles/utils.js +0 -372
  73. package/build-module/components/global-styles/utils.js.map +2 -2
  74. package/build-module/components/inserter/media-tab/media-tab.js +34 -2
  75. package/build-module/components/inserter/media-tab/media-tab.js.map +2 -2
  76. package/build-module/components/inserter/tips.js +0 -2
  77. package/build-module/components/inserter/tips.js.map +2 -2
  78. package/build-module/components/media-placeholder/index.js +31 -1
  79. package/build-module/components/media-placeholder/index.js.map +2 -2
  80. package/build-module/components/media-replace-flow/index.js +29 -1
  81. package/build-module/components/media-replace-flow/index.js.map +2 -2
  82. package/build-module/components/media-upload-modal/index.js +7 -0
  83. package/build-module/components/media-upload-modal/index.js.map +7 -0
  84. package/build-module/hooks/allowed-blocks.js +3 -8
  85. package/build-module/hooks/allowed-blocks.js.map +2 -2
  86. package/build-module/hooks/block-style-variation.js +8 -25
  87. package/build-module/hooks/block-style-variation.js.map +2 -2
  88. package/build-module/hooks/duotone.js +3 -3
  89. package/build-module/hooks/duotone.js.map +2 -2
  90. package/build-module/hooks/fit-text.js +2 -2
  91. package/build-module/hooks/fit-text.js.map +2 -2
  92. package/build-module/hooks/font-size.js +1 -1
  93. package/build-module/hooks/font-size.js.map +2 -2
  94. package/build-module/hooks/use-typography-props.js +1 -1
  95. package/build-module/hooks/use-typography-props.js.map +2 -2
  96. package/build-module/private-apis.js +3 -1
  97. package/build-module/private-apis.js.map +2 -2
  98. package/build-style/style-rtl.css +10 -6
  99. package/build-style/style.css +10 -6
  100. package/package.json +36 -35
  101. package/src/components/background-image-control/index.js +1 -1
  102. package/src/components/block-card/style.scss +1 -1
  103. package/src/components/block-navigation/style.scss +1 -1
  104. package/src/components/block-quick-navigation/index.js +1 -0
  105. package/src/components/block-quick-navigation/style.scss +5 -0
  106. package/src/components/block-switcher/style.scss +1 -1
  107. package/src/components/block-toolbar/switch-section-style.js +2 -5
  108. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  109. package/src/components/global-styles/border-panel.js +2 -1
  110. package/src/components/global-styles/color-panel.js +2 -1
  111. package/src/components/global-styles/color-panel.native.js +1 -1
  112. package/src/components/global-styles/dimensions-panel.js +2 -1
  113. package/src/components/global-styles/filters-panel.js +2 -1
  114. package/src/components/global-styles/hooks.js +1 -200
  115. package/src/components/global-styles/index.js +1 -17
  116. package/src/components/global-styles/test/typography-utils.js +0 -806
  117. package/src/components/global-styles/typography-panel.js +2 -1
  118. package/src/components/global-styles/typography-utils.js +0 -133
  119. package/src/components/global-styles/utils.js +0 -568
  120. package/src/components/inserter/media-tab/media-tab.js +44 -2
  121. package/src/components/inserter/style.scss +2 -2
  122. package/src/components/inserter/tips.js +0 -2
  123. package/src/components/media-placeholder/index.js +41 -1
  124. package/src/components/media-replace-flow/index.js +39 -1
  125. package/src/components/media-upload-modal/index.js +18 -0
  126. package/src/components/multi-selection-inspector/style.scss +1 -1
  127. package/src/hooks/allowed-blocks.js +3 -11
  128. package/src/hooks/block-style-variation.js +8 -28
  129. package/src/hooks/duotone.js +3 -3
  130. package/src/hooks/fit-text.js +2 -2
  131. package/src/hooks/font-size.js +1 -1
  132. package/src/hooks/use-typography-props.js +1 -1
  133. package/src/private-apis.js +2 -0
  134. package/src/style.scss +1 -0
  135. package/tsconfig.json +2 -0
  136. package/build/components/global-styles/context.js.map +0 -7
  137. package/build/components/global-styles/get-block-css-selector.js +0 -78
  138. package/build/components/global-styles/get-block-css-selector.js.map +0 -7
  139. package/build/components/global-styles/get-global-styles-changes.js +0 -216
  140. package/build/components/global-styles/get-global-styles-changes.js.map +0 -7
  141. package/build/components/global-styles/use-global-styles-output.js +0 -998
  142. package/build/components/global-styles/use-global-styles-output.js.map +0 -7
  143. package/build-module/components/global-styles/context.js +0 -17
  144. package/build-module/components/global-styles/context.js.map +0 -7
  145. package/build-module/components/global-styles/get-block-css-selector.js +0 -54
  146. package/build-module/components/global-styles/get-block-css-selector.js.map +0 -7
  147. package/build-module/components/global-styles/get-global-styles-changes.js +0 -182
  148. package/build-module/components/global-styles/get-global-styles-changes.js.map +0 -7
  149. package/build-module/components/global-styles/use-global-styles-output.js +0 -979
  150. package/build-module/components/global-styles/use-global-styles-output.js.map +0 -7
  151. package/src/components/global-styles/README.md +0 -190
  152. package/src/components/global-styles/context.js +0 -16
  153. package/src/components/global-styles/get-block-css-selector.js +0 -114
  154. package/src/components/global-styles/get-global-styles-changes.js +0 -252
  155. package/src/components/global-styles/test/get-global-styles-changes.js +0 -290
  156. package/src/components/global-styles/test/use-global-styles-output.js +0 -1131
  157. package/src/components/global-styles/test/utils.js +0 -499
  158. package/src/components/global-styles/use-global-styles-output.js +0 -1487
@@ -1,216 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var get_global_styles_changes_exports = {};
30
- __export(get_global_styles_changes_exports, {
31
- default: () => getGlobalStylesChanges,
32
- getGlobalStylesChangelist: () => getGlobalStylesChangelist
33
- });
34
- module.exports = __toCommonJS(get_global_styles_changes_exports);
35
- var import_memize = __toESM(require("memize"));
36
- var import_i18n = require("@wordpress/i18n");
37
- var import_blocks = require("@wordpress/blocks");
38
- const globalStylesChangesCache = /* @__PURE__ */ new Map();
39
- const EMPTY_ARRAY = [];
40
- const translationMap = {
41
- caption: (0, import_i18n.__)("Caption"),
42
- link: (0, import_i18n.__)("Link"),
43
- button: (0, import_i18n.__)("Button"),
44
- heading: (0, import_i18n.__)("Heading"),
45
- h1: (0, import_i18n.__)("H1"),
46
- h2: (0, import_i18n.__)("H2"),
47
- h3: (0, import_i18n.__)("H3"),
48
- h4: (0, import_i18n.__)("H4"),
49
- h5: (0, import_i18n.__)("H5"),
50
- h6: (0, import_i18n.__)("H6"),
51
- "settings.color": (0, import_i18n.__)("Color"),
52
- "settings.typography": (0, import_i18n.__)("Typography"),
53
- "settings.shadow": (0, import_i18n.__)("Shadow"),
54
- "settings.layout": (0, import_i18n.__)("Layout"),
55
- "styles.color": (0, import_i18n.__)("Colors"),
56
- "styles.spacing": (0, import_i18n.__)("Spacing"),
57
- "styles.background": (0, import_i18n.__)("Background"),
58
- "styles.typography": (0, import_i18n.__)("Typography")
59
- };
60
- const getBlockNames = (0, import_memize.default)(
61
- () => (0, import_blocks.getBlockTypes)().reduce((accumulator, { name, title }) => {
62
- accumulator[name] = title;
63
- return accumulator;
64
- }, {})
65
- );
66
- const isObject = (obj) => obj !== null && typeof obj === "object";
67
- function getTranslation(key) {
68
- if (translationMap[key]) {
69
- return translationMap[key];
70
- }
71
- const keyArray = key.split(".");
72
- if (keyArray?.[0] === "blocks") {
73
- const blockName = getBlockNames()?.[keyArray[1]];
74
- return blockName || keyArray[1];
75
- }
76
- if (keyArray?.[0] === "elements") {
77
- return translationMap[keyArray[1]] || keyArray[1];
78
- }
79
- return void 0;
80
- }
81
- function deepCompare(changedObject, originalObject, parentPath = "") {
82
- if (!isObject(changedObject) && !isObject(originalObject)) {
83
- return changedObject !== originalObject ? parentPath.split(".").slice(0, 2).join(".") : void 0;
84
- }
85
- changedObject = isObject(changedObject) ? changedObject : {};
86
- originalObject = isObject(originalObject) ? originalObject : {};
87
- const allKeys = /* @__PURE__ */ new Set([
88
- ...Object.keys(changedObject),
89
- ...Object.keys(originalObject)
90
- ]);
91
- let diffs = [];
92
- for (const key of allKeys) {
93
- const path = parentPath ? parentPath + "." + key : key;
94
- const changedPath = deepCompare(
95
- changedObject[key],
96
- originalObject[key],
97
- path
98
- );
99
- if (changedPath) {
100
- diffs = diffs.concat(changedPath);
101
- }
102
- }
103
- return diffs;
104
- }
105
- function getGlobalStylesChangelist(next, previous) {
106
- const cacheKey = JSON.stringify({ next, previous });
107
- if (globalStylesChangesCache.has(cacheKey)) {
108
- return globalStylesChangesCache.get(cacheKey);
109
- }
110
- const changedValueTree = deepCompare(
111
- {
112
- styles: {
113
- background: next?.styles?.background,
114
- color: next?.styles?.color,
115
- typography: next?.styles?.typography,
116
- spacing: next?.styles?.spacing
117
- },
118
- blocks: next?.styles?.blocks,
119
- elements: next?.styles?.elements,
120
- settings: next?.settings
121
- },
122
- {
123
- styles: {
124
- background: previous?.styles?.background,
125
- color: previous?.styles?.color,
126
- typography: previous?.styles?.typography,
127
- spacing: previous?.styles?.spacing
128
- },
129
- blocks: previous?.styles?.blocks,
130
- elements: previous?.styles?.elements,
131
- settings: previous?.settings
132
- }
133
- );
134
- if (!changedValueTree.length) {
135
- globalStylesChangesCache.set(cacheKey, EMPTY_ARRAY);
136
- return EMPTY_ARRAY;
137
- }
138
- const result = [...new Set(changedValueTree)].reduce((acc, curr) => {
139
- const translation = getTranslation(curr);
140
- if (translation) {
141
- acc.push([curr.split(".")[0], translation]);
142
- }
143
- return acc;
144
- }, []);
145
- globalStylesChangesCache.set(cacheKey, result);
146
- return result;
147
- }
148
- function getGlobalStylesChanges(next, previous, options = {}) {
149
- let changeList = getGlobalStylesChangelist(next, previous);
150
- const changesLength = changeList.length;
151
- const { maxResults } = options;
152
- if (changesLength) {
153
- if (!!maxResults && changesLength > maxResults) {
154
- changeList = changeList.slice(0, maxResults);
155
- }
156
- return Object.entries(
157
- changeList.reduce((acc, curr) => {
158
- const group = acc[curr[0]] || [];
159
- if (!group.includes(curr[1])) {
160
- acc[curr[0]] = [...group, curr[1]];
161
- }
162
- return acc;
163
- }, {})
164
- ).map(([key, changeValues]) => {
165
- const changeValuesLength = changeValues.length;
166
- const joinedChangesValue = changeValues.join(
167
- /* translators: Used between list items, there is a space after the comma. */
168
- (0, import_i18n.__)(", ")
169
- // eslint-disable-line @wordpress/i18n-no-flanking-whitespace
170
- );
171
- switch (key) {
172
- case "blocks": {
173
- return (0, import_i18n.sprintf)(
174
- // translators: %s: a list of block names separated by a comma.
175
- (0, import_i18n._n)("%s block.", "%s blocks.", changeValuesLength),
176
- joinedChangesValue
177
- );
178
- }
179
- case "elements": {
180
- return (0, import_i18n.sprintf)(
181
- // translators: %s: a list of element names separated by a comma.
182
- (0, import_i18n._n)("%s element.", "%s elements.", changeValuesLength),
183
- joinedChangesValue
184
- );
185
- }
186
- case "settings": {
187
- return (0, import_i18n.sprintf)(
188
- // translators: %s: a list of theme.json setting labels separated by a comma.
189
- (0, import_i18n.__)("%s settings."),
190
- joinedChangesValue
191
- );
192
- }
193
- case "styles": {
194
- return (0, import_i18n.sprintf)(
195
- // translators: %s: a list of theme.json top-level styles labels separated by a comma.
196
- (0, import_i18n.__)("%s styles."),
197
- joinedChangesValue
198
- );
199
- }
200
- default: {
201
- return (0, import_i18n.sprintf)(
202
- // translators: %s: a list of global styles changes separated by a comma.
203
- (0, import_i18n.__)("%s."),
204
- joinedChangesValue
205
- );
206
- }
207
- }
208
- });
209
- }
210
- return EMPTY_ARRAY;
211
- }
212
- // Annotate the CommonJS export names for ESM import in node:
213
- 0 && (module.exports = {
214
- getGlobalStylesChangelist
215
- });
216
- //# sourceMappingURL=get-global-styles-changes.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/global-styles/get-global-styles-changes.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { getBlockTypes } from '@wordpress/blocks';\n\nconst globalStylesChangesCache = new Map();\nconst EMPTY_ARRAY = [];\nconst translationMap = {\n\tcaption: __( 'Caption' ),\n\tlink: __( 'Link' ),\n\tbutton: __( 'Button' ),\n\theading: __( 'Heading' ),\n\th1: __( 'H1' ),\n\th2: __( 'H2' ),\n\th3: __( 'H3' ),\n\th4: __( 'H4' ),\n\th5: __( 'H5' ),\n\th6: __( 'H6' ),\n\t'settings.color': __( 'Color' ),\n\t'settings.typography': __( 'Typography' ),\n\t'settings.shadow': __( 'Shadow' ),\n\t'settings.layout': __( 'Layout' ),\n\t'styles.color': __( 'Colors' ),\n\t'styles.spacing': __( 'Spacing' ),\n\t'styles.background': __( 'Background' ),\n\t'styles.typography': __( 'Typography' ),\n};\nconst getBlockNames = memoize( () =>\n\tgetBlockTypes().reduce( ( accumulator, { name, title } ) => {\n\t\taccumulator[ name ] = title;\n\t\treturn accumulator;\n\t}, {} )\n);\nconst isObject = ( obj ) => obj !== null && typeof obj === 'object';\n\n/**\n * Get the translation for a given global styles key.\n * @param {string} key A key representing a path to a global style property or setting.\n * @return {string|undefined} A translated key or undefined if no translation exists.\n */\nfunction getTranslation( key ) {\n\tif ( translationMap[ key ] ) {\n\t\treturn translationMap[ key ];\n\t}\n\n\tconst keyArray = key.split( '.' );\n\n\tif ( keyArray?.[ 0 ] === 'blocks' ) {\n\t\tconst blockName = getBlockNames()?.[ keyArray[ 1 ] ];\n\t\treturn blockName || keyArray[ 1 ];\n\t}\n\n\tif ( keyArray?.[ 0 ] === 'elements' ) {\n\t\treturn translationMap[ keyArray[ 1 ] ] || keyArray[ 1 ];\n\t}\n\n\treturn undefined;\n}\n\n/**\n * A deep comparison of two objects, optimized for comparing global styles.\n * @param {Object} changedObject The changed object to compare.\n * @param {Object} originalObject The original object to compare against.\n * @param {string} parentPath A key/value pair object of block names and their rendered titles.\n * @return {string[]} An array of paths whose values have changed.\n */\nfunction deepCompare( changedObject, originalObject, parentPath = '' ) {\n\t// We have two non-object values to compare.\n\tif ( ! isObject( changedObject ) && ! isObject( originalObject ) ) {\n\t\t/*\n\t\t * Only return a path if the value has changed.\n\t\t * And then only the path name up to 2 levels deep.\n\t\t */\n\t\treturn changedObject !== originalObject\n\t\t\t? parentPath.split( '.' ).slice( 0, 2 ).join( '.' )\n\t\t\t: undefined;\n\t}\n\n\t// Enable comparison when an object doesn't have a corresponding property to compare.\n\tchangedObject = isObject( changedObject ) ? changedObject : {};\n\toriginalObject = isObject( originalObject ) ? originalObject : {};\n\n\tconst allKeys = new Set( [\n\t\t...Object.keys( changedObject ),\n\t\t...Object.keys( originalObject ),\n\t] );\n\n\tlet diffs = [];\n\tfor ( const key of allKeys ) {\n\t\tconst path = parentPath ? parentPath + '.' + key : key;\n\t\tconst changedPath = deepCompare(\n\t\t\tchangedObject[ key ],\n\t\t\toriginalObject[ key ],\n\t\t\tpath\n\t\t);\n\t\tif ( changedPath ) {\n\t\t\tdiffs = diffs.concat( changedPath );\n\t\t}\n\t}\n\treturn diffs;\n}\n\n/**\n * Returns an array of translated summarized global styles changes.\n * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @return {Array[]} A 2-dimensional array of tuples: [ \"group\", \"translated change\" ].\n */\nexport function getGlobalStylesChangelist( next, previous ) {\n\tconst cacheKey = JSON.stringify( { next, previous } );\n\n\tif ( globalStylesChangesCache.has( cacheKey ) ) {\n\t\treturn globalStylesChangesCache.get( cacheKey );\n\t}\n\n\t/*\n\t * Compare the two changesets with normalized keys.\n\t * The order of these keys determines the order in which\n\t * they'll appear in the results.\n\t */\n\tconst changedValueTree = deepCompare(\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: next?.styles?.background,\n\t\t\t\tcolor: next?.styles?.color,\n\t\t\t\ttypography: next?.styles?.typography,\n\t\t\t\tspacing: next?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: next?.styles?.blocks,\n\t\t\telements: next?.styles?.elements,\n\t\t\tsettings: next?.settings,\n\t\t},\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: previous?.styles?.background,\n\t\t\t\tcolor: previous?.styles?.color,\n\t\t\t\ttypography: previous?.styles?.typography,\n\t\t\t\tspacing: previous?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: previous?.styles?.blocks,\n\t\t\telements: previous?.styles?.elements,\n\t\t\tsettings: previous?.settings,\n\t\t}\n\t);\n\n\tif ( ! changedValueTree.length ) {\n\t\tglobalStylesChangesCache.set( cacheKey, EMPTY_ARRAY );\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\t// Remove duplicate results.\n\tconst result = [ ...new Set( changedValueTree ) ]\n\t\t/*\n\t\t * Translate the keys.\n\t\t * Remove empty translations.\n\t\t */\n\t\t.reduce( ( acc, curr ) => {\n\t\t\tconst translation = getTranslation( curr );\n\t\t\tif ( translation ) {\n\t\t\t\tacc.push( [ curr.split( '.' )[ 0 ], translation ] );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\tglobalStylesChangesCache.set( cacheKey, result );\n\n\treturn result;\n}\n\n/**\n * From a getGlobalStylesChangelist() result, returns an array of translated global styles changes, grouped by type.\n * The types are 'blocks', 'elements', 'settings', and 'styles'.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @param {{maxResults:number}} options Options. maxResults: results to return before truncating.\n * @return {string[]} An array of translated changes.\n */\nexport default function getGlobalStylesChanges( next, previous, options = {} ) {\n\tlet changeList = getGlobalStylesChangelist( next, previous );\n\tconst changesLength = changeList.length;\n\tconst { maxResults } = options;\n\n\tif ( changesLength ) {\n\t\t// Truncate to `n` results if necessary.\n\t\tif ( !! maxResults && changesLength > maxResults ) {\n\t\t\tchangeList = changeList.slice( 0, maxResults );\n\t\t}\n\t\treturn Object.entries(\n\t\t\tchangeList.reduce( ( acc, curr ) => {\n\t\t\t\tconst group = acc[ curr[ 0 ] ] || [];\n\t\t\t\tif ( ! group.includes( curr[ 1 ] ) ) {\n\t\t\t\t\tacc[ curr[ 0 ] ] = [ ...group, curr[ 1 ] ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} )\n\t\t).map( ( [ key, changeValues ] ) => {\n\t\t\tconst changeValuesLength = changeValues.length;\n\t\t\tconst joinedChangesValue = changeValues.join(\n\t\t\t\t/* translators: Used between list items, there is a space after the comma. */\n\t\t\t\t__( ', ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t);\n\t\t\tswitch ( key ) {\n\t\t\t\tcase 'blocks': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of block names separated by a comma.\n\t\t\t\t\t\t_n( '%s block.', '%s blocks.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'elements': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of element names separated by a comma.\n\t\t\t\t\t\t_n( '%s element.', '%s elements.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'settings': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json setting labels separated by a comma.\n\t\t\t\t\t\t__( '%s settings.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'styles': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json top-level styles labels separated by a comma.\n\t\t\t\t\t\t__( '%s styles.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of global styles changes separated by a comma.\n\t\t\t\t\t\t__( '%s.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn EMPTY_ARRAY;\n}\n"],
5
- "mappings": "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",
6
- "names": ["memoize"]
7
- }