@wordpress/edit-site 6.14.0 → 6.15.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.
- package/CHANGELOG.md +2 -0
- package/LICENSE.md +1 -1
- package/build/components/add-new-pattern/index.js +6 -10
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/editor/index.js +1 -9
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/confirm-reset-shadow-dialog.js +39 -0
- package/build/components/global-styles/confirm-reset-shadow-dialog.js.map +1 -0
- package/build/components/global-styles/font-library-modal/index.js +1 -1
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-size.js +17 -14
- package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-sizes.js +17 -20
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build/components/global-styles/screen-block.js +1 -1
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +21 -13
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/shadows-panel.js +43 -5
- package/build/components/global-styles/shadows-panel.js.map +1 -1
- package/build/components/layout/index.js +10 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page-patterns/fields.js +6 -35
- package/build/components/page-patterns/fields.js.map +1 -1
- package/build/components/page-templates/fields.js +6 -19
- package/build/components/page-templates/fields.js.map +1 -1
- package/build/components/post-list/index.js +13 -5
- package/build/components/post-list/index.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +5 -7
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +3 -2
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-global-styles-wrapper/index.js +40 -72
- package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +1 -0
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/site-editor-routes/stylebook.js +6 -2
- package/build/components/site-editor-routes/stylebook.js.map +1 -1
- package/build/components/site-editor-routes/styles.js +7 -1
- package/build/components/site-editor-routes/styles.js.map +1 -1
- package/build/components/style-book/constants.js +36 -2
- package/build/components/style-book/constants.js.map +1 -1
- package/build/components/style-book/index.js +106 -61
- package/build/components/style-book/index.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +6 -10
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/editor/index.js +1 -9
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/confirm-reset-shadow-dialog.js +32 -0
- package/build-module/components/global-styles/confirm-reset-shadow-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/index.js +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-size.js +17 -14
- package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-sizes.js +24 -27
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +1 -1
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +21 -13
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/shadows-panel.js +46 -8
- package/build-module/components/global-styles/shadows-panel.js.map +1 -1
- package/build-module/components/layout/index.js +11 -2
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-patterns/fields.js +7 -36
- package/build-module/components/page-patterns/fields.js.map +1 -1
- package/build-module/components/page-templates/fields.js +6 -19
- package/build-module/components/page-templates/fields.js.map +1 -1
- package/build-module/components/post-list/index.js +13 -5
- package/build-module/components/post-list/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +5 -7
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +3 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-global-styles-wrapper/index.js +41 -75
- package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +1 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/site-editor-routes/stylebook.js +6 -2
- package/build-module/components/site-editor-routes/stylebook.js.map +1 -1
- package/build-module/components/site-editor-routes/styles.js +7 -1
- package/build-module/components/site-editor-routes/styles.js.map +1 -1
- package/build-module/components/style-book/constants.js +35 -1
- package/build-module/components/style-book/constants.js.map +1 -1
- package/build-module/components/style-book/index.js +107 -62
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-style/posts-rtl.css +72 -78
- package/build-style/posts.css +72 -78
- package/build-style/style-rtl.css +163 -184
- package/build-style/style.css +163 -184
- package/package.json +42 -41
- package/src/components/add-new-pattern/index.js +10 -7
- package/src/components/canvas-loader/style.scss +4 -3
- package/src/components/editor/index.js +1 -7
- package/src/components/editor/style.scss +4 -2
- package/src/components/editor-canvas-container/style.scss +7 -1
- package/src/components/global-styles/confirm-reset-shadow-dialog.js +37 -0
- package/src/components/global-styles/font-library-modal/index.js +1 -1
- package/src/components/global-styles/font-library-modal/style.scss +4 -2
- package/src/components/global-styles/font-sizes/font-size.js +28 -19
- package/src/components/global-styles/font-sizes/font-sizes.js +37 -35
- package/src/components/global-styles/screen-block.js +3 -2
- package/src/components/global-styles/shadows-edit-panel.js +38 -28
- package/src/components/global-styles/shadows-panel.js +64 -5
- package/src/components/global-styles/style.scss +9 -1
- package/src/components/global-styles/variations/style.scss +4 -3
- package/src/components/layout/index.js +12 -1
- package/src/components/layout/style.scss +8 -3
- package/src/components/page/style.scss +8 -5
- package/src/components/page-patterns/fields.js +11 -41
- package/src/components/page-patterns/style.scss +4 -25
- package/src/components/page-templates/fields.js +6 -16
- package/src/components/page-templates/style.scss +4 -20
- package/src/components/post-list/index.js +13 -4
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +7 -6
- package/src/components/sidebar-dataviews/default-views.js +3 -2
- package/src/components/sidebar-dataviews/style.scss +4 -1
- package/src/components/sidebar-global-styles-wrapper/index.js +37 -83
- package/src/components/sidebar-global-styles-wrapper/style.scss +22 -0
- package/src/components/sidebar-navigation-item/style.scss +6 -0
- package/src/components/sidebar-navigation-screen-main/index.js +1 -1
- package/src/components/site-editor-routes/stylebook.js +2 -2
- package/src/components/site-editor-routes/styles.js +5 -1
- package/src/components/site-hub/style.scss +4 -2
- package/src/components/style-book/constants.ts +49 -1
- package/src/components/style-book/index.js +151 -77
|
@@ -13,8 +13,10 @@ import { BlockList, privateApis as blockEditorPrivateApis, store as blockEditorS
|
|
|
13
13
|
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
14
14
|
import { useSelect, dispatch } from '@wordpress/data';
|
|
15
15
|
import { useResizeObserver } from '@wordpress/compose';
|
|
16
|
-
import { useMemo, useState, memo, useContext, useRef, useLayoutEffect } from '@wordpress/element';
|
|
16
|
+
import { useMemo, useState, memo, useContext, useRef, useLayoutEffect, useEffect } from '@wordpress/element';
|
|
17
17
|
import { ENTER, SPACE } from '@wordpress/keycodes';
|
|
18
|
+
import { uploadMedia } from '@wordpress/media-utils';
|
|
19
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* Internal dependencies
|
|
@@ -25,6 +27,9 @@ import { STYLE_BOOK_IFRAME_STYLES } from './constants';
|
|
|
25
27
|
import { getExamplesByCategory, getTopLevelStyleBookCategories } from './categories';
|
|
26
28
|
import { getExamples } from './examples';
|
|
27
29
|
import { store as siteEditorStore } from '../../store';
|
|
30
|
+
import { useSection } from '../sidebar-global-styles-wrapper';
|
|
31
|
+
import { GlobalStylesRenderer } from '../global-styles-renderer';
|
|
32
|
+
import { STYLE_BOOK_COLOR_GROUPS, STYLE_BOOK_PREVIEW_CATEGORIES } from '../style-book/constants';
|
|
28
33
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
34
|
const {
|
|
30
35
|
ExperimentalBlockEditorProvider,
|
|
@@ -61,31 +66,19 @@ const scrollToSection = (anchorId, iframe) => {
|
|
|
61
66
|
};
|
|
62
67
|
|
|
63
68
|
/**
|
|
64
|
-
* Parses a Block Editor navigation path to
|
|
65
|
-
*
|
|
66
|
-
* representing a style book tab/section.
|
|
69
|
+
* Parses a Block Editor navigation path to build a style book navigation path.
|
|
70
|
+
* The object can be extended to include a category, representing a style book tab/section.
|
|
67
71
|
*
|
|
68
72
|
* @param {string} path An internal Block Editor navigation path.
|
|
69
73
|
* @return {null|{block: string}} An object containing the example to navigate to.
|
|
70
74
|
*/
|
|
71
75
|
const getStyleBookNavigationFromPath = path => {
|
|
72
76
|
if (path && typeof path === 'string') {
|
|
73
|
-
if (path === '/') {
|
|
77
|
+
if (path === '/' || path.startsWith('/typography') || path.startsWith('/colors') || path.startsWith('/blocks')) {
|
|
74
78
|
return {
|
|
75
79
|
top: true
|
|
76
80
|
};
|
|
77
81
|
}
|
|
78
|
-
if (path.startsWith('/typography')) {
|
|
79
|
-
return {
|
|
80
|
-
block: 'typography'
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
let block = path.includes('/blocks/') ? decodeURIComponent(path.split('/blocks/')[1]) : null;
|
|
84
|
-
// Default to theme-colors if the path ends with /colors.
|
|
85
|
-
block = path.endsWith('/colors') ? 'theme-colors' : block;
|
|
86
|
-
return {
|
|
87
|
-
block
|
|
88
|
-
};
|
|
89
82
|
}
|
|
90
83
|
return null;
|
|
91
84
|
};
|
|
@@ -214,23 +207,31 @@ function StyleBook({
|
|
|
214
207
|
children: tab.title
|
|
215
208
|
}, tab.slug))
|
|
216
209
|
})
|
|
217
|
-
}), tabs.map(tab =>
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
210
|
+
}), tabs.map(tab => {
|
|
211
|
+
const categoryDefinition = tab.slug ? getTopLevelStyleBookCategories().find(_category => _category.slug === tab.slug) : null;
|
|
212
|
+
const filteredExamples = categoryDefinition ? getExamplesByCategory(categoryDefinition, examples) : {
|
|
213
|
+
examples
|
|
214
|
+
};
|
|
215
|
+
return /*#__PURE__*/_jsx(Tabs.TabPanel, {
|
|
216
|
+
tabId: tab.slug,
|
|
217
|
+
focusable: false,
|
|
218
|
+
className: "edit-site-style-book__tabpanel",
|
|
219
|
+
children: /*#__PURE__*/_jsx(StyleBookBody, {
|
|
220
|
+
category: tab.slug,
|
|
221
|
+
examples: filteredExamples,
|
|
222
|
+
isSelected: isSelected,
|
|
223
|
+
onSelect: onSelect,
|
|
224
|
+
settings: settings,
|
|
225
|
+
sizes: sizes,
|
|
226
|
+
title: tab.title,
|
|
227
|
+
goTo: goTo
|
|
228
|
+
})
|
|
229
|
+
}, tab.slug);
|
|
230
|
+
})]
|
|
232
231
|
}) : /*#__PURE__*/_jsx(StyleBookBody, {
|
|
233
|
-
examples:
|
|
232
|
+
examples: {
|
|
233
|
+
examples: examplesForSinglePageUse
|
|
234
|
+
},
|
|
234
235
|
isSelected: isSelected,
|
|
235
236
|
onClick: onClick,
|
|
236
237
|
onSelect: onSelect,
|
|
@@ -245,30 +246,83 @@ function StyleBook({
|
|
|
245
246
|
/**
|
|
246
247
|
* Style Book Preview component renders the stylebook without the Editor dependency.
|
|
247
248
|
*
|
|
248
|
-
* @param {Object}
|
|
249
|
-
* @param {
|
|
250
|
-
* @param {
|
|
251
|
-
* @param {Function} props.isSelected Function to check if a block is selected.
|
|
252
|
-
* @param {Function} props.onSelect Function to select a block.
|
|
249
|
+
* @param {Object} props Component props.
|
|
250
|
+
* @param {Object} props.userConfig User configuration.
|
|
251
|
+
* @param {boolean} props.isStatic Whether the stylebook is static or clickable.
|
|
253
252
|
* @return {Object} Style Book Preview component.
|
|
254
253
|
*/
|
|
255
254
|
export const StyleBookPreview = ({
|
|
256
|
-
path = '',
|
|
257
255
|
userConfig = {},
|
|
258
|
-
|
|
259
|
-
onSelect
|
|
256
|
+
isStatic = false
|
|
260
257
|
}) => {
|
|
261
258
|
const siteEditorSettings = useSelect(select => select(siteEditorStore).getSettings(), []);
|
|
259
|
+
const canUserUploadMedia = useSelect(select => select(coreStore).canUser('create', {
|
|
260
|
+
kind: 'root',
|
|
261
|
+
name: 'media'
|
|
262
|
+
}), []);
|
|
263
|
+
|
|
262
264
|
// Update block editor settings because useMultipleOriginColorsAndGradients fetch colours from there.
|
|
263
|
-
|
|
265
|
+
useEffect(() => {
|
|
266
|
+
dispatch(blockEditorStore).updateSettings({
|
|
267
|
+
...siteEditorSettings,
|
|
268
|
+
mediaUpload: canUserUploadMedia ? uploadMedia : undefined
|
|
269
|
+
});
|
|
270
|
+
}, [siteEditorSettings, canUserUploadMedia]);
|
|
271
|
+
const [section, onChangeSection] = useSection();
|
|
272
|
+
const isSelected = blockName => {
|
|
273
|
+
// Match '/blocks/core%2Fbutton' and
|
|
274
|
+
// '/blocks/core%2Fbutton/typography', but not
|
|
275
|
+
// '/blocks/core%2Fbuttons'.
|
|
276
|
+
return section === `/blocks/${encodeURIComponent(blockName)}` || section.startsWith(`/blocks/${encodeURIComponent(blockName)}/`);
|
|
277
|
+
};
|
|
278
|
+
const onSelect = blockName => {
|
|
279
|
+
if (STYLE_BOOK_COLOR_GROUPS.find(group => group.slug === blockName)) {
|
|
280
|
+
// Go to color palettes Global Styles.
|
|
281
|
+
onChangeSection('/colors/palette');
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
if (blockName === 'typography') {
|
|
285
|
+
// Go to typography Global Styles.
|
|
286
|
+
onChangeSection('/typography');
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// Now go to the selected block.
|
|
291
|
+
onChangeSection(`/blocks/${encodeURIComponent(blockName)}`);
|
|
292
|
+
};
|
|
264
293
|
const [resizeObserver, sizes] = useResizeObserver();
|
|
265
294
|
const colors = useMultiOriginPalettes();
|
|
266
295
|
const examples = getExamples(colors);
|
|
267
296
|
const examplesForSinglePageUse = getExamplesForSinglePageUse(examples);
|
|
297
|
+
let previewCategory = null;
|
|
298
|
+
if (section.includes('/colors')) {
|
|
299
|
+
previewCategory = 'colors';
|
|
300
|
+
} else if (section.includes('/typography')) {
|
|
301
|
+
previewCategory = 'text';
|
|
302
|
+
} else if (section.includes('/blocks')) {
|
|
303
|
+
previewCategory = 'blocks';
|
|
304
|
+
const blockName = decodeURIComponent(section).split('/blocks/')[1];
|
|
305
|
+
if (blockName && examples.find(example => example.name === blockName)) {
|
|
306
|
+
previewCategory = blockName;
|
|
307
|
+
}
|
|
308
|
+
} else if (!isStatic) {
|
|
309
|
+
previewCategory = 'overview';
|
|
310
|
+
}
|
|
311
|
+
const categoryDefinition = STYLE_BOOK_PREVIEW_CATEGORIES.find(category => category.slug === previewCategory);
|
|
312
|
+
|
|
313
|
+
// If there's no category definition there may be a single block.
|
|
314
|
+
const filteredExamples = categoryDefinition ? getExamplesByCategory(categoryDefinition, examples) : {
|
|
315
|
+
examples: [examples.find(example => example.name === previewCategory)]
|
|
316
|
+
};
|
|
317
|
+
|
|
318
|
+
// If there's no preview category, show all examples.
|
|
319
|
+
const displayedExamples = previewCategory ? filteredExamples : {
|
|
320
|
+
examples: examplesForSinglePageUse
|
|
321
|
+
};
|
|
268
322
|
const {
|
|
269
323
|
base: baseConfig
|
|
270
324
|
} = useContext(GlobalStylesContext);
|
|
271
|
-
const goTo = getStyleBookNavigationFromPath(
|
|
325
|
+
const goTo = getStyleBookNavigationFromPath(section);
|
|
272
326
|
const mergedConfig = useMemo(() => {
|
|
273
327
|
if (!isObjectEmpty(userConfig) && !isObjectEmpty(baseConfig)) {
|
|
274
328
|
return mergeBaseAndUserConfigs(baseConfig, userConfig);
|
|
@@ -283,21 +337,22 @@ export const StyleBookPreview = ({
|
|
|
283
337
|
}), [globalStyles, siteEditorSettings, userConfig]);
|
|
284
338
|
return /*#__PURE__*/_jsxs("div", {
|
|
285
339
|
className: "edit-site-style-book",
|
|
286
|
-
children: [resizeObserver, /*#__PURE__*/
|
|
340
|
+
children: [resizeObserver, /*#__PURE__*/_jsxs(BlockEditorProvider, {
|
|
287
341
|
settings: settings,
|
|
288
|
-
children: /*#__PURE__*/_jsx(
|
|
289
|
-
|
|
342
|
+
children: [/*#__PURE__*/_jsx(GlobalStylesRenderer, {
|
|
343
|
+
disableRootPadding: true
|
|
344
|
+
}), /*#__PURE__*/_jsx(StyleBookBody, {
|
|
345
|
+
examples: displayedExamples,
|
|
290
346
|
settings: settings,
|
|
291
347
|
goTo: goTo,
|
|
292
348
|
sizes: sizes,
|
|
293
|
-
isSelected: isSelected,
|
|
294
|
-
onSelect: onSelect
|
|
295
|
-
})
|
|
349
|
+
isSelected: !isStatic ? isSelected : null,
|
|
350
|
+
onSelect: !isStatic ? onSelect : null
|
|
351
|
+
})]
|
|
296
352
|
})]
|
|
297
353
|
});
|
|
298
354
|
};
|
|
299
355
|
export const StyleBookBody = ({
|
|
300
|
-
category,
|
|
301
356
|
examples,
|
|
302
357
|
isSelected,
|
|
303
358
|
onClick,
|
|
@@ -344,10 +399,6 @@ export const StyleBookBody = ({
|
|
|
344
399
|
if (hasIframeLoaded && iframeRef?.current) {
|
|
345
400
|
if (goTo?.top) {
|
|
346
401
|
scrollToSection('top', iframeRef?.current);
|
|
347
|
-
return;
|
|
348
|
-
}
|
|
349
|
-
if (goTo?.block) {
|
|
350
|
-
scrollToSection(`example-${goTo?.block}`, iframeRef?.current);
|
|
351
402
|
}
|
|
352
403
|
}
|
|
353
404
|
}, [iframeRef?.current, goTo, scrollToSection, hasIframeLoaded]);
|
|
@@ -369,28 +420,22 @@ export const StyleBookBody = ({
|
|
|
369
420
|
className: clsx('edit-site-style-book__examples', {
|
|
370
421
|
'is-wide': sizes.width > 600
|
|
371
422
|
}),
|
|
372
|
-
|
|
373
|
-
category: category,
|
|
423
|
+
filteredExamples: examples,
|
|
374
424
|
label: title ? sprintf(
|
|
375
425
|
// translators: %s: Category of blocks, e.g. Text.
|
|
376
426
|
__('Examples of blocks in the %s category'), title) : __('Examples of blocks'),
|
|
377
427
|
isSelected: isSelected,
|
|
378
428
|
onSelect: onSelect
|
|
379
|
-
},
|
|
429
|
+
}, title)]
|
|
380
430
|
});
|
|
381
431
|
};
|
|
382
432
|
const Examples = memo(({
|
|
383
433
|
className,
|
|
384
|
-
|
|
385
|
-
category,
|
|
434
|
+
filteredExamples,
|
|
386
435
|
label,
|
|
387
436
|
isSelected,
|
|
388
437
|
onSelect
|
|
389
438
|
}) => {
|
|
390
|
-
const categoryDefinition = category ? getTopLevelStyleBookCategories().find(_category => _category.slug === category) : null;
|
|
391
|
-
const filteredExamples = categoryDefinition ? getExamplesByCategory(categoryDefinition, examples) : {
|
|
392
|
-
examples
|
|
393
|
-
};
|
|
394
439
|
return /*#__PURE__*/_jsxs(Composite, {
|
|
395
440
|
orientation: "vertical",
|
|
396
441
|
className: className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","Disabled","Composite","privateApis","componentsPrivateApis","__","_x","sprintf","BlockList","blockEditorPrivateApis","store","blockEditorStore","useSettings","BlockEditorProvider","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","editorPrivateApis","useSelect","dispatch","useResizeObserver","useMemo","useState","memo","useContext","useRef","useLayoutEffect","ENTER","SPACE","unlock","EditorCanvasContainer","STYLE_BOOK_IFRAME_STYLES","getExamplesByCategory","getTopLevelStyleBookCategories","getExamples","siteEditorStore","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","mergeBaseAndUserConfigs","Tabs","isObjectEmpty","object","Object","keys","length","scrollToSection","anchorId","iframe","contentDocument","element","body","getElementById","scrollIntoView","behavior","getStyleBookNavigationFromPath","path","top","startsWith","block","includes","decodeURIComponent","split","endsWith","useMultiOriginPalettes","colors","gradients","shouldDisplayDefaultDuotones","customDuotones","themeDuotones","defaultDuotones","palettes","result","duotones","push","name","slug","getExamplesForSinglePageUse","examples","examplesForSinglePageUse","overviewCategoryExamples","otherExamples","filter","example","category","find","overviewExample","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","tabs","some","base","baseConfig","goTo","mergedConfig","originalSettings","select","getSettings","globalStyles","settings","styles","isPreviewMode","closeButtonLabel","children","className","width","style","color","background","TabList","map","tab","Tab","tabId","title","TabPanel","focusable","StyleBookBody","StyleBookPreview","siteEditorSettings","updateSettings","isFocused","setIsFocused","hasIframeLoaded","setHasIframeLoaded","iframeRef","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","handleLoad","current","onLoad","ref","tabIndex","Examples","label","categoryDefinition","_category","filteredExamples","orientation","Example","id","content","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","disabledExamples","focusMode","renderedBlocks","Array","isArray","disabledProps","disabled","accessibleWhenDisabled","Item","undefined","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseSettings,\n\tBlockEditorProvider,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect, dispatch } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport {\n\tuseMemo,\n\tuseState,\n\tmemo,\n\tuseContext,\n\tuseRef,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\nimport { store as siteEditorStore } from '../../store';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Scrolls to a section within an iframe.\n *\n * @param {string} anchorId The id of the element to scroll to.\n * @param {HTMLIFrameElement} iframe The target iframe.\n */\nconst scrollToSection = ( anchorId, iframe ) => {\n\tif ( ! anchorId || ! iframe || ! iframe?.contentDocument ) {\n\t\treturn;\n\t}\n\n\tconst element =\n\t\tanchorId === 'top'\n\t\t\t? iframe.contentDocument.body\n\t\t\t: iframe.contentDocument.getElementById( anchorId );\n\tif ( element ) {\n\t\telement.scrollIntoView( {\n\t\t\tbehavior: 'smooth',\n\t\t} );\n\t}\n};\n\n/**\n * Parses a Block Editor navigation path to extract the block name and\n * build a style book navigation path. The object can be extended to include a category,\n * representing a style book tab/section.\n *\n * @param {string} path An internal Block Editor navigation path.\n * @return {null|{block: string}} An object containing the example to navigate to.\n */\nconst getStyleBookNavigationFromPath = ( path ) => {\n\tif ( path && typeof path === 'string' ) {\n\t\tif ( path === '/' ) {\n\t\t\treturn {\n\t\t\t\ttop: true,\n\t\t\t};\n\t\t}\n\n\t\tif ( path.startsWith( '/typography' ) ) {\n\t\t\treturn {\n\t\t\t\tblock: 'typography',\n\t\t\t};\n\t\t}\n\t\tlet block = path.includes( '/blocks/' )\n\t\t\t? decodeURIComponent( path.split( '/blocks/' )[ 1 ] )\n\t\t\t: null;\n\t\t// Default to theme-colors if the path ends with /colors.\n\t\tblock = path.endsWith( '/colors' ) ? 'theme-colors' : block;\n\n\t\treturn {\n\t\t\tblock,\n\t\t};\n\t}\n\treturn null;\n};\n\n/**\n * Retrieves colors, gradients, and duotone filters from Global Styles.\n * The inclusion of default (Core) palettes is controlled by the relevant\n * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.\n *\n * @return {Object} Object containing properties for each type of palette.\n */\nfunction useMultiOriginPalettes() {\n\tconst { colors, gradients } = useMultipleOriginColorsAndGradients();\n\n\t// Add duotone filters to the palettes data.\n\tconst [\n\t\tshouldDisplayDefaultDuotones,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t] = useSettings(\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default'\n\t);\n\n\tconst palettes = useMemo( () => {\n\t\tconst result = { colors, gradients, duotones: [] };\n\n\t\tif ( themeDuotones && themeDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates these duotone filters come from the theme.'\n\t\t\t\t),\n\t\t\t\tslug: 'theme',\n\t\t\t\tduotones: themeDuotones,\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tshouldDisplayDefaultDuotones &&\n\t\t\tdefaultDuotones &&\n\t\t\tdefaultDuotones.length\n\t\t) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates these duotone filters come from WordPress.'\n\t\t\t\t),\n\t\t\t\tslug: 'default',\n\t\t\t\tduotones: defaultDuotones,\n\t\t\t} );\n\t\t}\n\t\tif ( customDuotones && customDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates these doutone filters are created by the user.'\n\t\t\t\t),\n\t\t\t\tslug: 'custom',\n\t\t\t\tduotones: customDuotones,\n\t\t\t} );\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tcolors,\n\t\tgradients,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t\tshouldDisplayDefaultDuotones,\n\t] );\n\n\treturn palettes;\n}\n\n/**\n * Get deduped examples for single page stylebook.\n * @param {Array} examples Array of examples.\n * @return {Array} Deduped examples.\n */\nexport function getExamplesForSinglePageUse( examples ) {\n\tconst examplesForSinglePageUse = [];\n\tconst overviewCategoryExamples = getExamplesByCategory(\n\t\t{ slug: 'overview' },\n\t\texamples\n\t);\n\texamplesForSinglePageUse.push( ...overviewCategoryExamples.examples );\n\tconst otherExamples = examples.filter( ( example ) => {\n\t\treturn (\n\t\t\texample.category !== 'overview' &&\n\t\t\t! overviewCategoryExamples.examples.find(\n\t\t\t\t( overviewExample ) => overviewExample.name === example.name\n\t\t\t)\n\t\t);\n\t} );\n\texamplesForSinglePageUse.push( ...otherExamples );\n\n\treturn examplesForSinglePageUse;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n\tpath = '',\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = useMemo( () => getExamples( colors ), [ colors ] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\n\tconst examplesForSinglePageUse = getExamplesForSinglePageUse( examples );\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\tconst goTo = getStyleBookNavigationFromPath( path );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: originalSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, originalSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-style-book__tabpanel\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examplesForSinglePageUse }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\n/**\n * Style Book Preview component renders the stylebook without the Editor dependency.\n *\n * @param {Object} props Component props.\n * @param {string} props.path Path to the selected block.\n * @param {Object} props.userConfig User configuration.\n * @param {Function} props.isSelected Function to check if a block is selected.\n * @param {Function} props.onSelect Function to select a block.\n * @return {Object} Style Book Preview component.\n */\nexport const StyleBookPreview = ( {\n\tpath = '',\n\tuserConfig = {},\n\tisSelected,\n\tonSelect,\n} ) => {\n\tconst siteEditorSettings = useSelect(\n\t\t( select ) => select( siteEditorStore ).getSettings(),\n\t\t[]\n\t);\n\t// Update block editor settings because useMultipleOriginColorsAndGradients fetch colours from there.\n\tdispatch( blockEditorStore ).updateSettings( siteEditorSettings );\n\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = getExamples( colors );\n\tconst examplesForSinglePageUse = getExamplesForSinglePageUse( examples );\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\tconst goTo = getStyleBookNavigationFromPath( path );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...siteEditorSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: siteEditorSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, siteEditorSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<div className=\"edit-site-style-book\">\n\t\t\t{ resizeObserver }\n\t\t\t<BlockEditorProvider settings={ settings }>\n\t\t\t\t<StyleBookBody\n\t\t\t\t\texamples={ examplesForSinglePageUse }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t</BlockEditorProvider>\n\t\t</div>\n\t);\n};\n\nexport const StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n\tgoTo,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst [ hasIframeLoaded, setHasIframeLoaded ] = useState( false );\n\tconst iframeRef = useRef( null );\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst handleLoad = () => setHasIframeLoaded( true );\n\tuseLayoutEffect( () => {\n\t\tif ( hasIframeLoaded && iframeRef?.current ) {\n\t\t\tif ( goTo?.top ) {\n\t\t\t\tscrollToSection( 'top', iframeRef?.current );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( goTo?.block ) {\n\t\t\t\tscrollToSection(\n\t\t\t\t\t`example-${ goTo?.block }`,\n\t\t\t\t\tiframeRef?.current\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [ iframeRef?.current, goTo, scrollToSection, hasIframeLoaded ] );\n\n\treturn (\n\t\t<Iframe\n\t\t\tonLoad={ handleLoad }\n\t\t\tref={ iframeRef }\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst categoryDefinition = category\n\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t( _category ) => _category.slug === category\n\t\t\t )\n\t\t\t: null;\n\n\t\tconst filteredExamples = categoryDefinition\n\t\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t\t: { examples };\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tcontent={ example.content }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t!! onSelect\n\t\t\t\t\t\t\t\t\t? () => onSelect( example.name )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tcontent={ example.content }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\tonClick={ !! onSelect ? () => onSelect( example.name ) : null }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst disabledExamples = [ 'example-duotones' ];\n\nconst Example = ( { id, title, blocks, isSelected, onClick, content } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst disabledProps =\n\t\tdisabledExamples.includes( id ) || ! onClick\n\t\t\t? {\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\taccessibleWhenDisabled: !! onClick,\n\t\t\t }\n\t\t\t: {};\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t'is-disabled-example': !! disabledProps?.disabled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={\n\t\t\t\t\t\t!! onClick\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole={ !! onClick ? 'button' : null }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t{ ...disabledProps }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t{ content ? (\n\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EditorStyles />\n\t\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","Disabled","Composite","privateApis","componentsPrivateApis","__","_x","sprintf","BlockList","blockEditorPrivateApis","store","blockEditorStore","useSettings","BlockEditorProvider","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","editorPrivateApis","useSelect","dispatch","useResizeObserver","useMemo","useState","memo","useContext","useRef","useLayoutEffect","useEffect","ENTER","SPACE","uploadMedia","coreStore","unlock","EditorCanvasContainer","STYLE_BOOK_IFRAME_STYLES","getExamplesByCategory","getTopLevelStyleBookCategories","getExamples","siteEditorStore","useSection","GlobalStylesRenderer","STYLE_BOOK_COLOR_GROUPS","STYLE_BOOK_PREVIEW_CATEGORIES","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","mergeBaseAndUserConfigs","Tabs","isObjectEmpty","object","Object","keys","length","scrollToSection","anchorId","iframe","contentDocument","element","body","getElementById","scrollIntoView","behavior","getStyleBookNavigationFromPath","path","startsWith","top","useMultiOriginPalettes","colors","gradients","shouldDisplayDefaultDuotones","customDuotones","themeDuotones","defaultDuotones","palettes","result","duotones","push","name","slug","getExamplesForSinglePageUse","examples","examplesForSinglePageUse","overviewCategoryExamples","otherExamples","filter","example","category","find","overviewExample","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","tabs","some","base","baseConfig","goTo","mergedConfig","originalSettings","select","getSettings","globalStyles","settings","styles","isPreviewMode","closeButtonLabel","children","className","width","style","color","background","TabList","map","tab","Tab","tabId","title","categoryDefinition","_category","filteredExamples","TabPanel","focusable","StyleBookBody","StyleBookPreview","isStatic","siteEditorSettings","canUserUploadMedia","canUser","kind","updateSettings","mediaUpload","undefined","section","onChangeSection","blockName","encodeURIComponent","group","previewCategory","includes","decodeURIComponent","split","displayedExamples","disableRootPadding","isFocused","setIsFocused","hasIframeLoaded","setHasIframeLoaded","iframeRef","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","handleLoad","current","onLoad","ref","tabIndex","Examples","label","orientation","Example","id","content","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","disabledExamples","focusMode","renderedBlocks","Array","isArray","disabledProps","disabled","accessibleWhenDisabled","Item","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseSettings,\n\tBlockEditorProvider,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect, dispatch } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport {\n\tuseMemo,\n\tuseState,\n\tmemo,\n\tuseContext,\n\tuseRef,\n\tuseLayoutEffect,\n\tuseEffect,\n} from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\nimport { store as siteEditorStore } from '../../store';\nimport { useSection } from '../sidebar-global-styles-wrapper';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport {\n\tSTYLE_BOOK_COLOR_GROUPS,\n\tSTYLE_BOOK_PREVIEW_CATEGORIES,\n} from '../style-book/constants';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Scrolls to a section within an iframe.\n *\n * @param {string} anchorId The id of the element to scroll to.\n * @param {HTMLIFrameElement} iframe The target iframe.\n */\nconst scrollToSection = ( anchorId, iframe ) => {\n\tif ( ! anchorId || ! iframe || ! iframe?.contentDocument ) {\n\t\treturn;\n\t}\n\n\tconst element =\n\t\tanchorId === 'top'\n\t\t\t? iframe.contentDocument.body\n\t\t\t: iframe.contentDocument.getElementById( anchorId );\n\tif ( element ) {\n\t\telement.scrollIntoView( {\n\t\t\tbehavior: 'smooth',\n\t\t} );\n\t}\n};\n\n/**\n * Parses a Block Editor navigation path to build a style book navigation path.\n * The object can be extended to include a category, representing a style book tab/section.\n *\n * @param {string} path An internal Block Editor navigation path.\n * @return {null|{block: string}} An object containing the example to navigate to.\n */\nconst getStyleBookNavigationFromPath = ( path ) => {\n\tif ( path && typeof path === 'string' ) {\n\t\tif (\n\t\t\tpath === '/' ||\n\t\t\tpath.startsWith( '/typography' ) ||\n\t\t\tpath.startsWith( '/colors' ) ||\n\t\t\tpath.startsWith( '/blocks' )\n\t\t) {\n\t\t\treturn {\n\t\t\t\ttop: true,\n\t\t\t};\n\t\t}\n\t}\n\treturn null;\n};\n\n/**\n * Retrieves colors, gradients, and duotone filters from Global Styles.\n * The inclusion of default (Core) palettes is controlled by the relevant\n * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.\n *\n * @return {Object} Object containing properties for each type of palette.\n */\nfunction useMultiOriginPalettes() {\n\tconst { colors, gradients } = useMultipleOriginColorsAndGradients();\n\n\t// Add duotone filters to the palettes data.\n\tconst [\n\t\tshouldDisplayDefaultDuotones,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t] = useSettings(\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default'\n\t);\n\n\tconst palettes = useMemo( () => {\n\t\tconst result = { colors, gradients, duotones: [] };\n\n\t\tif ( themeDuotones && themeDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates these duotone filters come from the theme.'\n\t\t\t\t),\n\t\t\t\tslug: 'theme',\n\t\t\t\tduotones: themeDuotones,\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tshouldDisplayDefaultDuotones &&\n\t\t\tdefaultDuotones &&\n\t\t\tdefaultDuotones.length\n\t\t) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates these duotone filters come from WordPress.'\n\t\t\t\t),\n\t\t\t\tslug: 'default',\n\t\t\t\tduotones: defaultDuotones,\n\t\t\t} );\n\t\t}\n\t\tif ( customDuotones && customDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates these doutone filters are created by the user.'\n\t\t\t\t),\n\t\t\t\tslug: 'custom',\n\t\t\t\tduotones: customDuotones,\n\t\t\t} );\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tcolors,\n\t\tgradients,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t\tshouldDisplayDefaultDuotones,\n\t] );\n\n\treturn palettes;\n}\n\n/**\n * Get deduped examples for single page stylebook.\n * @param {Array} examples Array of examples.\n * @return {Array} Deduped examples.\n */\nexport function getExamplesForSinglePageUse( examples ) {\n\tconst examplesForSinglePageUse = [];\n\tconst overviewCategoryExamples = getExamplesByCategory(\n\t\t{ slug: 'overview' },\n\t\texamples\n\t);\n\texamplesForSinglePageUse.push( ...overviewCategoryExamples.examples );\n\tconst otherExamples = examples.filter( ( example ) => {\n\t\treturn (\n\t\t\texample.category !== 'overview' &&\n\t\t\t! overviewCategoryExamples.examples.find(\n\t\t\t\t( overviewExample ) => overviewExample.name === example.name\n\t\t\t)\n\t\t);\n\t} );\n\texamplesForSinglePageUse.push( ...otherExamples );\n\n\treturn examplesForSinglePageUse;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n\tpath = '',\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = useMemo( () => getExamples( colors ), [ colors ] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\n\tconst examplesForSinglePageUse = getExamplesForSinglePageUse( examples );\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\tconst goTo = getStyleBookNavigationFromPath( path );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: originalSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, originalSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\tconst categoryDefinition = tab.slug\n\t\t\t\t\t\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t\t\t\t\t\t( _category ) =>\n\t\t\t\t\t\t\t\t\t\t\t_category.slug === tab.slug\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t\tconst filteredExamples = categoryDefinition\n\t\t\t\t\t\t\t\t? getExamplesByCategory(\n\t\t\t\t\t\t\t\t\t\tcategoryDefinition,\n\t\t\t\t\t\t\t\t\t\texamples\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: { examples };\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-style-book__tabpanel\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\t\texamples={ filteredExamples }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</Tabs>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ { examples: examplesForSinglePageUse } }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\n/**\n * Style Book Preview component renders the stylebook without the Editor dependency.\n *\n * @param {Object} props Component props.\n * @param {Object} props.userConfig User configuration.\n * @param {boolean} props.isStatic Whether the stylebook is static or clickable.\n * @return {Object} Style Book Preview component.\n */\nexport const StyleBookPreview = ( { userConfig = {}, isStatic = false } ) => {\n\tconst siteEditorSettings = useSelect(\n\t\t( select ) => select( siteEditorStore ).getSettings(),\n\t\t[]\n\t);\n\n\tconst canUserUploadMedia = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'media',\n\t\t\t} ),\n\t\t[]\n\t);\n\n\t// Update block editor settings because useMultipleOriginColorsAndGradients fetch colours from there.\n\tuseEffect( () => {\n\t\tdispatch( blockEditorStore ).updateSettings( {\n\t\t\t...siteEditorSettings,\n\t\t\tmediaUpload: canUserUploadMedia ? uploadMedia : undefined,\n\t\t} );\n\t}, [ siteEditorSettings, canUserUploadMedia ] );\n\n\tconst [ section, onChangeSection ] = useSection();\n\n\tconst isSelected = ( blockName ) => {\n\t\t// Match '/blocks/core%2Fbutton' and\n\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t// '/blocks/core%2Fbuttons'.\n\t\treturn (\n\t\t\tsection === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\tsection.startsWith(\n\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t)\n\t\t);\n\t};\n\n\tconst onSelect = ( blockName ) => {\n\t\tif (\n\t\t\tSTYLE_BOOK_COLOR_GROUPS.find(\n\t\t\t\t( group ) => group.slug === blockName\n\t\t\t)\n\t\t) {\n\t\t\t// Go to color palettes Global Styles.\n\t\t\tonChangeSection( '/colors/palette' );\n\t\t\treturn;\n\t\t}\n\t\tif ( blockName === 'typography' ) {\n\t\t\t// Go to typography Global Styles.\n\t\t\tonChangeSection( '/typography' );\n\t\t\treturn;\n\t\t}\n\n\t\t// Now go to the selected block.\n\t\tonChangeSection( `/blocks/${ encodeURIComponent( blockName ) }` );\n\t};\n\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = getExamples( colors );\n\tconst examplesForSinglePageUse = getExamplesForSinglePageUse( examples );\n\n\tlet previewCategory = null;\n\tif ( section.includes( '/colors' ) ) {\n\t\tpreviewCategory = 'colors';\n\t} else if ( section.includes( '/typography' ) ) {\n\t\tpreviewCategory = 'text';\n\t} else if ( section.includes( '/blocks' ) ) {\n\t\tpreviewCategory = 'blocks';\n\t\tconst blockName =\n\t\t\tdecodeURIComponent( section ).split( '/blocks/' )[ 1 ];\n\t\tif (\n\t\t\tblockName &&\n\t\t\texamples.find( ( example ) => example.name === blockName )\n\t\t) {\n\t\t\tpreviewCategory = blockName;\n\t\t}\n\t} else if ( ! isStatic ) {\n\t\tpreviewCategory = 'overview';\n\t}\n\tconst categoryDefinition = STYLE_BOOK_PREVIEW_CATEGORIES.find(\n\t\t( category ) => category.slug === previewCategory\n\t);\n\n\t// If there's no category definition there may be a single block.\n\tconst filteredExamples = categoryDefinition\n\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t: {\n\t\t\t\texamples: [\n\t\t\t\t\texamples.find(\n\t\t\t\t\t\t( example ) => example.name === previewCategory\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t };\n\n\t// If there's no preview category, show all examples.\n\tconst displayedExamples = previewCategory\n\t\t? filteredExamples\n\t\t: { examples: examplesForSinglePageUse };\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\tconst goTo = getStyleBookNavigationFromPath( section );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...siteEditorSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: siteEditorSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, siteEditorSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<div className=\"edit-site-style-book\">\n\t\t\t{ resizeObserver }\n\t\t\t<BlockEditorProvider settings={ settings }>\n\t\t\t\t<GlobalStylesRenderer disableRootPadding />\n\t\t\t\t<StyleBookBody\n\t\t\t\t\texamples={ displayedExamples }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\tisSelected={ ! isStatic ? isSelected : null }\n\t\t\t\t\tonSelect={ ! isStatic ? onSelect : null }\n\t\t\t\t/>\n\t\t\t</BlockEditorProvider>\n\t\t</div>\n\t);\n};\n\nexport const StyleBookBody = ( {\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n\tgoTo,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst [ hasIframeLoaded, setHasIframeLoaded ] = useState( false );\n\tconst iframeRef = useRef( null );\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst handleLoad = () => setHasIframeLoaded( true );\n\tuseLayoutEffect( () => {\n\t\tif ( hasIframeLoaded && iframeRef?.current ) {\n\t\t\tif ( goTo?.top ) {\n\t\t\t\tscrollToSection( 'top', iframeRef?.current );\n\t\t\t}\n\t\t}\n\t}, [ iframeRef?.current, goTo, scrollToSection, hasIframeLoaded ] );\n\n\treturn (\n\t\t<Iframe\n\t\t\tonLoad={ handleLoad }\n\t\t\tref={ iframeRef }\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\tfilteredExamples={ examples }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ title }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, filteredExamples, label, isSelected, onSelect } ) => {\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tcontent={ example.content }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t!! onSelect\n\t\t\t\t\t\t\t\t\t? () => onSelect( example.name )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tcontent={ example.content }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\tonClick={ !! onSelect ? () => onSelect( example.name ) : null }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst disabledExamples = [ 'example-duotones' ];\n\nconst Example = ( { id, title, blocks, isSelected, onClick, content } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst disabledProps =\n\t\tdisabledExamples.includes( id ) || ! onClick\n\t\t\t? {\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\taccessibleWhenDisabled: !! onClick,\n\t\t\t }\n\t\t\t: {};\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t'is-disabled-example': !! disabledProps?.disabled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={\n\t\t\t\t\t\t!! onClick\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole={ !! onClick ? 'button' : null }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t{ ...disabledProps }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t{ content ? (\n\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EditorStyles />\n\t\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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","ignoreList":[]}
|