@wordpress/edit-site 5.7.0 → 5.8.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/build/components/editor/index.js +6 -4
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +35 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/context-menu.js +6 -8
- package/build/components/global-styles/context-menu.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +11 -1
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +53 -0
- package/build/components/global-styles/effects-panel.js.map +1 -0
- package/build/components/global-styles/filters-panel.js +45 -0
- package/build/components/global-styles/filters-panel.js.map +1 -0
- package/build/components/global-styles/global-styles-provider.js +7 -4
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/preview.js +1 -1
- package/build/components/global-styles/preview.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +14 -8
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-css.js +1 -1
- package/build/components/global-styles/screen-css.js.map +1 -1
- package/build/components/global-styles/screen-effects.js +15 -7
- package/build/components/global-styles/screen-effects.js.map +1 -1
- package/build/components/global-styles/screen-filters.js +2 -2
- package/build/components/global-styles/screen-filters.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +8 -118
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +149 -0
- package/build/components/global-styles/style-variations-container.js.map +1 -0
- package/build/components/global-styles/ui.js +46 -2
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +1 -1
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +0 -137
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +8 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/preferences-modal/index.js +4 -0
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/sidebar/index.js +4 -0
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +8 -6
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +58 -0
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-main/index.js +5 -0
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +114 -9
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
- package/build/components/site-hub/index.js +4 -3
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/welcome-guide/styles.js +1 -1
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/hooks/commands/index.js +19 -0
- package/build/hooks/commands/index.js.map +1 -0
- package/build/hooks/commands/use-navigation-commands.js +117 -0
- package/build/hooks/commands/use-navigation-commands.js.map +1 -0
- package/build/hooks/commands/use-wp-admin-commands.js +94 -0
- package/build/hooks/commands/use-wp-admin-commands.js.map +1 -0
- package/build/hooks/template-part-edit.js +2 -1
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/store/selectors.js +2 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/editor/index.js +6 -4
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +34 -1
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/context-menu.js +6 -6
- package/build-module/components/global-styles/context-menu.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +11 -1
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +43 -0
- package/build-module/components/global-styles/effects-panel.js.map +1 -0
- package/build-module/components/global-styles/filters-panel.js +35 -0
- package/build-module/components/global-styles/filters-panel.js.map +1 -0
- package/build-module/components/global-styles/global-styles-provider.js +8 -5
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/preview.js +1 -1
- package/build-module/components/global-styles/preview.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +13 -8
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +1 -1
- package/build-module/components/global-styles/screen-css.js.map +1 -1
- package/build-module/components/global-styles/screen-effects.js +13 -4
- package/build-module/components/global-styles/screen-effects.js.map +1 -1
- package/build-module/components/global-styles/screen-filters.js +2 -2
- package/build-module/components/global-styles/screen-filters.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +11 -114
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +130 -0
- package/build-module/components/global-styles/style-variations-container.js.map +1 -0
- package/build-module/components/global-styles/ui.js +44 -3
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -135
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +6 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +4 -0
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +3 -0
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +9 -7
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +41 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js +6 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +113 -11
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
- package/build-module/components/site-hub/index.js +3 -3
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +1 -1
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/hooks/commands/index.js +10 -0
- package/build-module/hooks/commands/index.js.map +1 -0
- package/build-module/hooks/commands/use-navigation-commands.js +101 -0
- package/build-module/hooks/commands/use-navigation-commands.js.map +1 -0
- package/build-module/hooks/commands/use-wp-admin-commands.js +79 -0
- package/build-module/hooks/commands/use-wp-admin-commands.js.map +1 -0
- package/build-module/hooks/template-part-edit.js +2 -1
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/store/selectors.js +2 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +20 -46
- package/build-style/style.css +20 -46
- package/package.json +33 -31
- package/src/components/editor/index.js +11 -3
- package/src/components/global-styles/border-panel.js +32 -1
- package/src/components/global-styles/context-menu.js +6 -6
- package/src/components/global-styles/dimensions-panel.js +11 -0
- package/src/components/global-styles/effects-panel.js +40 -0
- package/src/components/global-styles/filters-panel.js +33 -0
- package/src/components/global-styles/global-styles-provider.js +4 -4
- package/src/components/global-styles/preview.js +1 -1
- package/src/components/global-styles/screen-block-list.js +9 -5
- package/src/components/global-styles/screen-css.js +1 -1
- package/src/components/global-styles/screen-effects.js +12 -5
- package/src/components/global-styles/screen-filters.js +2 -2
- package/src/components/global-styles/screen-style-variations.js +10 -129
- package/src/components/global-styles/style-variations-container.js +136 -0
- package/src/components/global-styles/style.scss +0 -39
- package/src/components/global-styles/ui.js +44 -2
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/keyboard-shortcuts/index.js +1 -155
- package/src/components/layout/index.js +4 -0
- package/src/components/preferences-modal/index.js +7 -0
- package/src/components/sidebar/index.js +4 -0
- package/src/components/sidebar-navigation-screen/index.js +10 -5
- package/src/components/sidebar-navigation-screen/style.scss +20 -5
- package/src/components/sidebar-navigation-screen-global-styles/index.js +41 -0
- package/src/components/sidebar-navigation-screen-main/index.js +9 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +134 -9
- package/src/components/site-hub/index.js +3 -3
- package/src/components/start-template-options/style.scss +7 -14
- package/src/components/welcome-guide/styles.js +1 -1
- package/src/hooks/commands/index.js +10 -0
- package/src/hooks/commands/use-navigation-commands.js +103 -0
- package/src/hooks/commands/use-wp-admin-commands.js +77 -0
- package/src/hooks/template-part-edit.js +1 -0
- package/src/index.js +1 -0
- package/src/store/selectors.js +2 -1
- package/build/components/global-styles/duotone-panel.js +0 -78
- package/build/components/global-styles/duotone-panel.js.map +0 -1
- package/build/components/global-styles/filter-utils.js +0 -17
- package/build/components/global-styles/filter-utils.js.map +0 -1
- package/build/components/global-styles/shadow-panel.js +0 -197
- package/build/components/global-styles/shadow-panel.js.map +0 -1
- package/build-module/components/global-styles/duotone-panel.js +0 -67
- package/build-module/components/global-styles/duotone-panel.js.map +0 -1
- package/build-module/components/global-styles/filter-utils.js +0 -9
- package/build-module/components/global-styles/filter-utils.js.map +0 -1
- package/build-module/components/global-styles/shadow-panel.js +0 -178
- package/build-module/components/global-styles/shadow-panel.js.map +0 -1
- package/src/components/global-styles/duotone-panel.js +0 -82
- package/src/components/global-styles/filter-utils.js +0 -9
- package/src/components/global-styles/shadow-panel.js +0 -178
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
margin-top: $grid-unit-05;
|
|
20
20
|
gap: $grid-unit-30;
|
|
21
21
|
grid-template-columns: repeat(auto-fit, minmax(min(100%/2, max(240px, 100%/10)), 1fr));
|
|
22
|
+
|
|
22
23
|
.block-editor-block-patterns-list__list-item {
|
|
23
24
|
break-inside: avoid-column;
|
|
24
25
|
margin-bottom: 0;
|
|
@@ -27,7 +28,6 @@
|
|
|
27
28
|
|
|
28
29
|
.block-editor-block-preview__container {
|
|
29
30
|
height: 100%;
|
|
30
|
-
box-shadow: 0 0 0 1px $gray-300;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
.block-editor-block-preview__content {
|
|
@@ -38,20 +38,13 @@
|
|
|
38
38
|
.block-editor-block-patterns-list__item-title {
|
|
39
39
|
display: none;
|
|
40
40
|
}
|
|
41
|
+
}
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
&:focus {
|
|
49
|
-
.block-editor-block-preview__container {
|
|
50
|
-
box-shadow: inset 0 0 0 1px $white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
51
|
-
|
|
52
|
-
// Windows High Contrast mode will show this outline, but not the box-shadow.
|
|
53
|
-
outline: 2px solid transparent;
|
|
54
|
-
}
|
|
43
|
+
.block-editor-block-patterns-list__item {
|
|
44
|
+
// Avoid to override the BlockPatternList component
|
|
45
|
+
// default hover and focus styles.
|
|
46
|
+
&:not(:focus):not(:hover) .block-editor-block-preview__container {
|
|
47
|
+
box-shadow: 0 0 0 1px $gray-300;
|
|
55
48
|
}
|
|
56
49
|
}
|
|
57
50
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { privateApis } from '@wordpress/commands';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { useMemo } from '@wordpress/element';
|
|
7
|
+
import { useSelect } from '@wordpress/data';
|
|
8
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import { store as editSiteStore } from '../../store';
|
|
14
|
+
import { unlock } from '../../private-apis';
|
|
15
|
+
import { useHistory } from '../../components/routes';
|
|
16
|
+
|
|
17
|
+
const { useCommandLoader } = unlock( privateApis );
|
|
18
|
+
|
|
19
|
+
const getNavigationCommandLoaderPerPostType = ( postType ) =>
|
|
20
|
+
function useNavigationCommandLoader( { search } ) {
|
|
21
|
+
const supportsSearch = ! [ 'wp_template', 'wp_template_part' ].includes(
|
|
22
|
+
postType
|
|
23
|
+
);
|
|
24
|
+
const deps = supportsSearch ? [ search ] : [];
|
|
25
|
+
const history = useHistory();
|
|
26
|
+
const { canvasMode, records, isLoading } = useSelect( ( select ) => {
|
|
27
|
+
const { getEntityRecords } = select( coreStore );
|
|
28
|
+
const query = supportsSearch
|
|
29
|
+
? {
|
|
30
|
+
search: !! search ? search : undefined,
|
|
31
|
+
per_page: 10,
|
|
32
|
+
orderby: search ? 'relevance' : 'date',
|
|
33
|
+
}
|
|
34
|
+
: {
|
|
35
|
+
per_page: -1,
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
records: getEntityRecords( 'postType', postType, query ),
|
|
39
|
+
isLoading: ! select( coreStore ).hasFinishedResolution(
|
|
40
|
+
'getEntityRecords',
|
|
41
|
+
[ 'postType', postType, query ]
|
|
42
|
+
),
|
|
43
|
+
canvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),
|
|
44
|
+
};
|
|
45
|
+
}, deps );
|
|
46
|
+
|
|
47
|
+
const commands = useMemo( () => {
|
|
48
|
+
return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {
|
|
49
|
+
return {
|
|
50
|
+
name: record.title?.rendered + ' ' + record.id,
|
|
51
|
+
label: record.title?.rendered
|
|
52
|
+
? record.title?.rendered
|
|
53
|
+
: __( '(no title)' ),
|
|
54
|
+
callback: ( { close } ) => {
|
|
55
|
+
history.push( {
|
|
56
|
+
postType,
|
|
57
|
+
postId: record.id,
|
|
58
|
+
canvas:
|
|
59
|
+
canvasMode === 'edit' ? canvasMode : undefined,
|
|
60
|
+
} );
|
|
61
|
+
close();
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
} );
|
|
65
|
+
}, [ records, history, canvasMode ] );
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
commands,
|
|
69
|
+
isLoading,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const usePageNavigationCommandLoader =
|
|
74
|
+
getNavigationCommandLoaderPerPostType( 'page' );
|
|
75
|
+
const usePostNavigationCommandLoader =
|
|
76
|
+
getNavigationCommandLoaderPerPostType( 'post' );
|
|
77
|
+
const useTemplateNavigationCommandLoader =
|
|
78
|
+
getNavigationCommandLoaderPerPostType( 'wp_template' );
|
|
79
|
+
const useTemplatePartNavigationCommandLoader =
|
|
80
|
+
getNavigationCommandLoaderPerPostType( 'wp_template_part' );
|
|
81
|
+
|
|
82
|
+
export function useNavigationCommands() {
|
|
83
|
+
useCommandLoader( {
|
|
84
|
+
name: 'core/edit-site/navigate-pages',
|
|
85
|
+
group: __( 'Pages' ),
|
|
86
|
+
hook: usePageNavigationCommandLoader,
|
|
87
|
+
} );
|
|
88
|
+
useCommandLoader( {
|
|
89
|
+
name: 'core/edit-site/navigate-posts',
|
|
90
|
+
group: __( 'Posts' ),
|
|
91
|
+
hook: usePostNavigationCommandLoader,
|
|
92
|
+
} );
|
|
93
|
+
useCommandLoader( {
|
|
94
|
+
name: 'core/edit-site/navigate-templates',
|
|
95
|
+
group: __( 'Templates' ),
|
|
96
|
+
hook: useTemplateNavigationCommandLoader,
|
|
97
|
+
} );
|
|
98
|
+
useCommandLoader( {
|
|
99
|
+
name: 'core/edit-site/navigate-template-parts',
|
|
100
|
+
group: __( 'Template Parts' ),
|
|
101
|
+
hook: useTemplatePartNavigationCommandLoader,
|
|
102
|
+
} );
|
|
103
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { privateApis } from '@wordpress/commands';
|
|
5
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
6
|
+
import { useSelect } from '@wordpress/data';
|
|
7
|
+
import { addQueryArgs } from '@wordpress/url';
|
|
8
|
+
import { useMemo } from '@wordpress/element';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import { store as editSiteStore } from '../../store';
|
|
14
|
+
import { unlock } from '../../private-apis';
|
|
15
|
+
|
|
16
|
+
const { useCommandLoader } = unlock( privateApis );
|
|
17
|
+
|
|
18
|
+
const getWPAdminAddCommandLoader = ( postType ) =>
|
|
19
|
+
function useAddCommandLoader( { search } ) {
|
|
20
|
+
let label;
|
|
21
|
+
if ( postType === 'post' ) {
|
|
22
|
+
label = __( 'Add a new post' );
|
|
23
|
+
} else if ( postType === 'page' ) {
|
|
24
|
+
label = __( 'Add a new page' );
|
|
25
|
+
} else {
|
|
26
|
+
throw 'unsupported post type ' + postType;
|
|
27
|
+
}
|
|
28
|
+
const hasRecordTitle =
|
|
29
|
+
!! search && ! label.toLowerCase().includes( search.toLowerCase() );
|
|
30
|
+
if ( postType === 'post' && hasRecordTitle ) {
|
|
31
|
+
/* translators: %s: Post title placeholder */
|
|
32
|
+
label = sprintf( __( 'Add a new post "%s"' ), search );
|
|
33
|
+
} else if ( postType === 'page' && hasRecordTitle ) {
|
|
34
|
+
/* translators: %s: Page title placeholder */
|
|
35
|
+
label = sprintf( __( 'Add a new page "%s"' ), search );
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const newPostLink = useSelect( ( select ) => {
|
|
39
|
+
const { getSettings } = unlock( select( editSiteStore ) );
|
|
40
|
+
return getSettings().newPostLink ?? 'post-new.php';
|
|
41
|
+
}, [] );
|
|
42
|
+
|
|
43
|
+
const commands = useMemo(
|
|
44
|
+
() => [
|
|
45
|
+
{
|
|
46
|
+
name: 'core/wp-admin/add-' + postType,
|
|
47
|
+
label,
|
|
48
|
+
callback: () => {
|
|
49
|
+
document.location.href = addQueryArgs( newPostLink, {
|
|
50
|
+
post_type: postType,
|
|
51
|
+
post_title: hasRecordTitle ? search : undefined,
|
|
52
|
+
} );
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
[ newPostLink, hasRecordTitle, search, label ]
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
isLoading: false,
|
|
61
|
+
commands,
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const useAddPostLoader = getWPAdminAddCommandLoader( 'post' );
|
|
66
|
+
const useAddPageLoader = getWPAdminAddCommandLoader( 'page' );
|
|
67
|
+
|
|
68
|
+
export function useWPAdminCommands() {
|
|
69
|
+
useCommandLoader( {
|
|
70
|
+
name: 'core/wp-admin/add-post-loader',
|
|
71
|
+
hook: useAddPostLoader,
|
|
72
|
+
} );
|
|
73
|
+
useCommandLoader( {
|
|
74
|
+
name: 'core/wp-admin/add-page-loader',
|
|
75
|
+
hook: useAddPageLoader,
|
|
76
|
+
} );
|
|
77
|
+
}
|
package/src/index.js
CHANGED
package/src/store/selectors.js
CHANGED
|
@@ -39,13 +39,14 @@ export const __unstableGetPreference = createRegistrySelector(
|
|
|
39
39
|
/**
|
|
40
40
|
* Returns whether the given feature is enabled or not.
|
|
41
41
|
*
|
|
42
|
+
* @deprecated
|
|
42
43
|
* @param {Object} state Global application state.
|
|
43
44
|
* @param {string} featureName Feature slug.
|
|
44
45
|
*
|
|
45
46
|
* @return {boolean} Is active.
|
|
46
47
|
*/
|
|
47
48
|
export function isFeatureActive( state, featureName ) {
|
|
48
|
-
deprecated( `select( 'core/
|
|
49
|
+
deprecated( `select( 'core/edit-site' ).isFeatureActive`, {
|
|
49
50
|
since: '6.0',
|
|
50
51
|
alternative: `select( 'core/preferences' ).get`,
|
|
51
52
|
} );
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _element = require("@wordpress/element");
|
|
9
|
-
|
|
10
|
-
var _i18n = require("@wordpress/i18n");
|
|
11
|
-
|
|
12
|
-
var _components = require("@wordpress/components");
|
|
13
|
-
|
|
14
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
15
|
-
|
|
16
|
-
var _privateApis = require("../../private-apis");
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* WordPress dependencies
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Internal dependencies
|
|
24
|
-
*/
|
|
25
|
-
const {
|
|
26
|
-
useGlobalStyle
|
|
27
|
-
} = (0, _privateApis.unlock)(_blockEditor.privateApis);
|
|
28
|
-
const EMPTY_ARRAY = [];
|
|
29
|
-
|
|
30
|
-
function useMultiOriginPresets(_ref) {
|
|
31
|
-
let {
|
|
32
|
-
presetSetting,
|
|
33
|
-
defaultSetting
|
|
34
|
-
} = _ref;
|
|
35
|
-
const disableDefault = !(0, _blockEditor.useSetting)(defaultSetting);
|
|
36
|
-
const userPresets = (0, _blockEditor.useSetting)(`${presetSetting}.custom`) || EMPTY_ARRAY;
|
|
37
|
-
const themePresets = (0, _blockEditor.useSetting)(`${presetSetting}.theme`) || EMPTY_ARRAY;
|
|
38
|
-
const defaultPresets = (0, _blockEditor.useSetting)(`${presetSetting}.default`) || EMPTY_ARRAY;
|
|
39
|
-
return (0, _element.useMemo)(() => [...userPresets, ...themePresets, ...(disableDefault ? EMPTY_ARRAY : defaultPresets)], [disableDefault, userPresets, themePresets, defaultPresets]);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function DuotonePanel(_ref2) {
|
|
43
|
-
let {
|
|
44
|
-
name
|
|
45
|
-
} = _ref2;
|
|
46
|
-
const [themeDuotone, setThemeDuotone] = useGlobalStyle('filter.duotone', name);
|
|
47
|
-
const duotonePalette = useMultiOriginPresets({
|
|
48
|
-
presetSetting: 'color.duotone',
|
|
49
|
-
defaultSetting: 'color.defaultDuotone'
|
|
50
|
-
});
|
|
51
|
-
const colorPalette = useMultiOriginPresets({
|
|
52
|
-
presetSetting: 'color.palette',
|
|
53
|
-
defaultSetting: 'color.defaultPalette'
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
if ((duotonePalette === null || duotonePalette === void 0 ? void 0 : duotonePalette.length) === 0) {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalToolsPanel, {
|
|
61
|
-
label: (0, _i18n.__)('Duotone')
|
|
62
|
-
}, (0, _element.createElement)("span", {
|
|
63
|
-
className: "span-columns"
|
|
64
|
-
}, (0, _i18n.__)('Create a two-tone color effect without losing your original image.')), (0, _element.createElement)("div", {
|
|
65
|
-
className: "span-columns"
|
|
66
|
-
}, (0, _element.createElement)(_components.DuotonePicker, {
|
|
67
|
-
colorPalette: colorPalette,
|
|
68
|
-
duotonePalette: duotonePalette,
|
|
69
|
-
disableCustomColors: true,
|
|
70
|
-
disableCustomDuotone: true,
|
|
71
|
-
value: themeDuotone,
|
|
72
|
-
onChange: setThemeDuotone
|
|
73
|
-
}))));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
var _default = DuotonePanel;
|
|
77
|
-
exports.default = _default;
|
|
78
|
-
//# sourceMappingURL=duotone-panel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/duotone-panel.js"],"names":["useGlobalStyle","blockEditorPrivateApis","EMPTY_ARRAY","useMultiOriginPresets","presetSetting","defaultSetting","disableDefault","userPresets","themePresets","defaultPresets","DuotonePanel","name","themeDuotone","setThemeDuotone","duotonePalette","colorPalette","length"],"mappings":";;;;;;;AAYA;;AATA;;AACA;;AAIA;;AASA;;AAjBA;AACA;AACA;;AAYA;AACA;AACA;AAEA,MAAM;AAAEA,EAAAA;AAAF,IAAqB,yBAAQC,wBAAR,CAA3B;AAEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,qBAAT,OAAoE;AAAA,MAApC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAoC;AACnE,QAAMC,cAAc,GAAG,CAAE,6BAAYD,cAAZ,CAAzB;AACA,QAAME,WAAW,GAChB,6BAAa,GAAGH,aAAe,SAA/B,KAA6CF,WAD9C;AAEA,QAAMM,YAAY,GACjB,6BAAa,GAAGJ,aAAe,QAA/B,KAA4CF,WAD7C;AAEA,QAAMO,cAAc,GACnB,6BAAa,GAAGL,aAAe,UAA/B,KAA8CF,WAD/C;AAEA,SAAO,sBACN,MAAM,CACL,GAAGK,WADE,EAEL,GAAGC,YAFE,EAGL,IAAKF,cAAc,GAAGJ,WAAH,GAAiBO,cAApC,CAHK,CADA,EAMN,CAAEH,cAAF,EAAkBC,WAAlB,EAA+BC,YAA/B,EAA6CC,cAA7C,CANM,CAAP;AAQA;;AAED,SAASC,YAAT,QAAkC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACjC,QAAM,CAAEC,YAAF,EAAgBC,eAAhB,IAAoCb,cAAc,CACvD,gBADuD,EAEvDW,IAFuD,CAAxD;AAKA,QAAMG,cAAc,GAAGX,qBAAqB,CAAE;AAC7CC,IAAAA,aAAa,EAAE,eAD8B;AAE7CC,IAAAA,cAAc,EAAE;AAF6B,GAAF,CAA5C;AAIA,QAAMU,YAAY,GAAGZ,qBAAqB,CAAE;AAC3CC,IAAAA,aAAa,EAAE,eAD4B;AAE3CC,IAAAA,cAAc,EAAE;AAF2B,GAAF,CAA1C;;AAKA,MAAK,CAAAS,cAAc,SAAd,IAAAA,cAAc,WAAd,YAAAA,cAAc,CAAEE,MAAhB,MAA2B,CAAhC,EAAoC;AACnC,WAAO,IAAP;AACA;;AACD,SACC,qDACC,4BAAC,oCAAD;AAAY,IAAA,KAAK,EAAG,cAAI,SAAJ;AAApB,KACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACG,cACD,oEADC,CADH,CADD,EAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,yBAAD;AACC,IAAA,YAAY,EAAGD,YADhB;AAEC,IAAA,cAAc,EAAGD,cAFlB;AAGC,IAAA,mBAAmB,EAAG,IAHvB;AAIC,IAAA,oBAAoB,EAAG,IAJxB;AAKC,IAAA,KAAK,EAAGF,YALT;AAMC,IAAA,QAAQ,EAAGC;AANZ,IADD,CAND,CADD,CADD;AAqBA;;eAEcH,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\tDuotonePicker,\n} from '@wordpress/components';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction useMultiOriginPresets( { presetSetting, defaultSetting } ) {\n\tconst disableDefault = ! useSetting( defaultSetting );\n\tconst userPresets =\n\t\tuseSetting( `${ presetSetting }.custom` ) || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tuseSetting( `${ presetSetting }.theme` ) || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tuseSetting( `${ presetSetting }.default` ) || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nfunction DuotonePanel( { name } ) {\n\tconst [ themeDuotone, setThemeDuotone ] = useGlobalStyle(\n\t\t'filter.duotone',\n\t\tname\n\t);\n\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.palette',\n\t\tdefaultSetting: 'color.defaultPalette',\n\t} );\n\n\tif ( duotonePalette?.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel label={ __( 'Duotone' ) }>\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<div className=\"span-columns\">\n\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\tdisableCustomDuotone={ true }\n\t\t\t\t\t\tvalue={ themeDuotone }\n\t\t\t\t\t\tonChange={ setThemeDuotone }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n\nexport default DuotonePanel;\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useHasFilterPanel = useHasFilterPanel;
|
|
7
|
-
|
|
8
|
-
var _hooks = require("./hooks");
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Internal dependencies
|
|
12
|
-
*/
|
|
13
|
-
function useHasFilterPanel(name) {
|
|
14
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
15
|
-
return supports.includes('filter');
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=filter-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/filter-utils.js"],"names":["useHasFilterPanel","name","supports","includes"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,iBAAT,CAA4BC,IAA5B,EAAmC;AACzC,QAAMC,QAAQ,GAAG,+BAAoBD,IAApB,CAAjB;AACA,SAAOC,QAAQ,CAACC,QAAT,CAAmB,QAAnB,CAAP;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from './hooks';\n\nexport function useHasFilterPanel( name ) {\n\tconst supports = useSupportedStyles( name );\n\treturn supports.includes( 'filter' );\n}\n"]}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = ShadowPanel;
|
|
9
|
-
exports.useHasShadowControl = useHasShadowControl;
|
|
10
|
-
|
|
11
|
-
var _element = require("@wordpress/element");
|
|
12
|
-
|
|
13
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
-
|
|
15
|
-
var _components = require("@wordpress/components");
|
|
16
|
-
|
|
17
|
-
var _i18n = require("@wordpress/i18n");
|
|
18
|
-
|
|
19
|
-
var _icons = require("@wordpress/icons");
|
|
20
|
-
|
|
21
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
22
|
-
|
|
23
|
-
var _hooks = require("./hooks");
|
|
24
|
-
|
|
25
|
-
var _iconWithCurrentColor = require("./icon-with-current-color");
|
|
26
|
-
|
|
27
|
-
var _privateApis = require("../../private-apis");
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* External dependencies
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* WordPress dependencies
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Internal dependencies
|
|
39
|
-
*/
|
|
40
|
-
const {
|
|
41
|
-
useGlobalSetting,
|
|
42
|
-
useGlobalStyle
|
|
43
|
-
} = (0, _privateApis.unlock)(_blockEditor.privateApis);
|
|
44
|
-
|
|
45
|
-
function useHasShadowControl(name) {
|
|
46
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
47
|
-
return supports.includes('shadow');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function ShadowPanel(_ref) {
|
|
51
|
-
let {
|
|
52
|
-
name,
|
|
53
|
-
variation = ''
|
|
54
|
-
} = _ref;
|
|
55
|
-
const prefix = variation ? `variations.${variation}.` : '';
|
|
56
|
-
const [shadow, setShadow] = useGlobalStyle(`${prefix}shadow`, name);
|
|
57
|
-
const [userShadow] = useGlobalStyle(`${prefix}shadow`, name, 'user');
|
|
58
|
-
|
|
59
|
-
const hasShadow = () => !!userShadow;
|
|
60
|
-
|
|
61
|
-
const resetShadow = (0, _element.useCallback)(() => setShadow(undefined), [setShadow]);
|
|
62
|
-
const resetAll = (0, _element.useCallback)(() => resetShadow(undefined), [resetShadow]);
|
|
63
|
-
return (0, _element.createElement)(_components.__experimentalToolsPanel, {
|
|
64
|
-
label: (0, _i18n.__)('Shadow'),
|
|
65
|
-
resetAll: resetAll
|
|
66
|
-
}, (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
67
|
-
label: (0, _i18n.__)('Shadow'),
|
|
68
|
-
hasValue: hasShadow,
|
|
69
|
-
onDeselect: resetShadow,
|
|
70
|
-
isShownByDefault: true
|
|
71
|
-
}, (0, _element.createElement)(_components.__experimentalItemGroup, {
|
|
72
|
-
isBordered: true,
|
|
73
|
-
isSeparated: true
|
|
74
|
-
}, (0, _element.createElement)(ShadowPopover, {
|
|
75
|
-
shadow: shadow,
|
|
76
|
-
onShadowChange: setShadow
|
|
77
|
-
}))));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const ShadowPopover = _ref2 => {
|
|
81
|
-
let {
|
|
82
|
-
shadow,
|
|
83
|
-
onShadowChange
|
|
84
|
-
} = _ref2;
|
|
85
|
-
const popoverProps = {
|
|
86
|
-
placement: 'left-start',
|
|
87
|
-
offset: 36,
|
|
88
|
-
shift: true
|
|
89
|
-
};
|
|
90
|
-
return (0, _element.createElement)(_components.Dropdown, {
|
|
91
|
-
popoverProps: popoverProps,
|
|
92
|
-
className: "edit-site-global-styles__shadow-dropdown",
|
|
93
|
-
renderToggle: renderShadowToggle(),
|
|
94
|
-
renderContent: () => (0, _element.createElement)(_components.__experimentalDropdownContentWrapper, {
|
|
95
|
-
paddingSize: "medium"
|
|
96
|
-
}, (0, _element.createElement)(ShadowPopoverContainer, {
|
|
97
|
-
shadow: shadow,
|
|
98
|
-
onShadowChange: onShadowChange
|
|
99
|
-
}))
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
function renderShadowToggle() {
|
|
104
|
-
return _ref3 => {
|
|
105
|
-
let {
|
|
106
|
-
onToggle,
|
|
107
|
-
isOpen
|
|
108
|
-
} = _ref3;
|
|
109
|
-
const toggleProps = {
|
|
110
|
-
onClick: onToggle,
|
|
111
|
-
className: (0, _classnames.default)({
|
|
112
|
-
'is-open': isOpen
|
|
113
|
-
}),
|
|
114
|
-
'aria-expanded': isOpen
|
|
115
|
-
};
|
|
116
|
-
return (0, _element.createElement)(_components.Button, toggleProps, (0, _element.createElement)(_components.__experimentalHStack, {
|
|
117
|
-
justify: "flex-start"
|
|
118
|
-
}, (0, _element.createElement)(_iconWithCurrentColor.IconWithCurrentColor, {
|
|
119
|
-
icon: _icons.shadow,
|
|
120
|
-
size: 24
|
|
121
|
-
}), (0, _element.createElement)(_components.FlexItem, {
|
|
122
|
-
className: "edit-site-global-styles__shadow-label"
|
|
123
|
-
}, (0, _i18n.__)('Shadow'))));
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
function ShadowPopoverContainer(_ref4) {
|
|
128
|
-
let {
|
|
129
|
-
shadow,
|
|
130
|
-
onShadowChange
|
|
131
|
-
} = _ref4;
|
|
132
|
-
const [defaultShadows] = useGlobalSetting('shadow.presets.default');
|
|
133
|
-
const [themeShadows] = useGlobalSetting('shadow.presets.theme');
|
|
134
|
-
const [defaultPresetsEnabled] = useGlobalSetting('shadow.defaultPresets');
|
|
135
|
-
const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...(themeShadows || [])];
|
|
136
|
-
return (0, _element.createElement)("div", {
|
|
137
|
-
className: "edit-site-global-styles__shadow-panel"
|
|
138
|
-
}, (0, _element.createElement)(_components.__experimentalVStack, {
|
|
139
|
-
spacing: 4
|
|
140
|
-
}, (0, _element.createElement)(_components.__experimentalHeading, {
|
|
141
|
-
level: 5
|
|
142
|
-
}, (0, _i18n.__)('Shadow')), (0, _element.createElement)(ShadowPresets, {
|
|
143
|
-
presets: shadows,
|
|
144
|
-
activeShadow: shadow,
|
|
145
|
-
onSelect: onShadowChange
|
|
146
|
-
})));
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
function ShadowPresets(_ref5) {
|
|
150
|
-
let {
|
|
151
|
-
presets,
|
|
152
|
-
activeShadow,
|
|
153
|
-
onSelect
|
|
154
|
-
} = _ref5;
|
|
155
|
-
return !presets ? null : (0, _element.createElement)(_components.__experimentalGrid, {
|
|
156
|
-
columns: 6,
|
|
157
|
-
gap: 0,
|
|
158
|
-
align: "center",
|
|
159
|
-
justify: "center"
|
|
160
|
-
}, presets.map(_ref6 => {
|
|
161
|
-
let {
|
|
162
|
-
name,
|
|
163
|
-
slug,
|
|
164
|
-
shadow
|
|
165
|
-
} = _ref6;
|
|
166
|
-
return (0, _element.createElement)(ShadowIndicator, {
|
|
167
|
-
key: slug,
|
|
168
|
-
label: name,
|
|
169
|
-
isActive: shadow === activeShadow,
|
|
170
|
-
onSelect: () => onSelect(shadow === activeShadow ? undefined : shadow),
|
|
171
|
-
shadow: shadow
|
|
172
|
-
});
|
|
173
|
-
}));
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
function ShadowIndicator(_ref7) {
|
|
177
|
-
let {
|
|
178
|
-
label,
|
|
179
|
-
isActive,
|
|
180
|
-
onSelect,
|
|
181
|
-
shadow
|
|
182
|
-
} = _ref7;
|
|
183
|
-
return (0, _element.createElement)("div", {
|
|
184
|
-
className: "edit-site-global-styles__shadow-indicator-wrapper"
|
|
185
|
-
}, (0, _element.createElement)(_components.Button, {
|
|
186
|
-
className: "edit-site-global-styles__shadow-indicator",
|
|
187
|
-
onClick: onSelect,
|
|
188
|
-
label: label,
|
|
189
|
-
style: {
|
|
190
|
-
boxShadow: shadow
|
|
191
|
-
},
|
|
192
|
-
showTooltip: true
|
|
193
|
-
}, isActive && (0, _element.createElement)(_icons.Icon, {
|
|
194
|
-
icon: _icons.check
|
|
195
|
-
})));
|
|
196
|
-
}
|
|
197
|
-
//# sourceMappingURL=shadow-panel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/shadow-panel.js"],"names":["useGlobalSetting","useGlobalStyle","blockEditorPrivateApis","useHasShadowControl","name","supports","includes","ShadowPanel","variation","prefix","shadow","setShadow","userShadow","hasShadow","resetShadow","undefined","resetAll","ShadowPopover","onShadowChange","popoverProps","placement","offset","shift","renderShadowToggle","onToggle","isOpen","toggleProps","onClick","className","shadowIcon","ShadowPopoverContainer","defaultShadows","themeShadows","defaultPresetsEnabled","shadows","ShadowPresets","presets","activeShadow","onSelect","map","slug","ShadowIndicator","label","isActive","boxShadow","check"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n\t__experimentalHeading as Heading,\n\tFlexItem,\n\tDropdown,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from './hooks';\nimport { IconWithCurrentColor } from './icon-with-current-color';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting, useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nexport function useHasShadowControl( name ) {\n\tconst supports = useSupportedStyles( name );\n\treturn supports.includes( 'shadow' );\n}\n\nexport default function ShadowPanel( { name, variation = '' } ) {\n\tconst prefix = variation ? `variations.${ variation }.` : '';\n\tconst [ shadow, setShadow ] = useGlobalStyle( `${ prefix }shadow`, name );\n\tconst [ userShadow ] = useGlobalStyle( `${ prefix }shadow`, name, 'user' );\n\tconst hasShadow = () => !! userShadow;\n\n\tconst resetShadow = useCallback(\n\t\t() => setShadow( undefined ),\n\t\t[ setShadow ]\n\t);\n\tconst resetAll = useCallback(\n\t\t() => resetShadow( undefined ),\n\t\t[ resetShadow ]\n\t);\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Shadow' ) } resetAll={ resetAll }>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\thasValue={ hasShadow }\n\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t/>\n\t\t\t\t</ItemGroup>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst ShadowPopover = ( { shadow, onShadowChange } ) => {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<IconWithCurrentColor icon={ shadowIcon } size={ 24 } />\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadow-label\">\n\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nfunction ShadowPopoverContainer( { shadow, onShadowChange } ) {\n\tconst [ defaultShadows ] = useGlobalSetting( 'shadow.presets.default' );\n\tconst [ themeShadows ] = useGlobalSetting( 'shadow.presets.theme' );\n\tconst [ defaultPresetsEnabled ] = useGlobalSetting(\n\t\t'shadow.defaultPresets'\n\t);\n\n\tconst shadows = [\n\t\t...( defaultPresetsEnabled ? defaultShadows : [] ),\n\t\t...( themeShadows || [] ),\n\t];\n\n\treturn (\n\t\t<div className=\"edit-site-global-styles__shadow-panel\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nfunction ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Grid columns={ 6 } gap={ 0 } align=\"center\" justify=\"center\">\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n\nfunction ShadowIndicator( { label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<div className=\"edit-site-global-styles__shadow-indicator-wrapper\">\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-indicator\"\n\t\t\t\tonClick={ onSelect }\n\t\t\t\tlabel={ label }\n\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from "@wordpress/element";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* WordPress dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
7
|
-
import { __experimentalToolsPanel as ToolsPanel, DuotonePicker } from '@wordpress/components';
|
|
8
|
-
import { privateApis as blockEditorPrivateApis, useSetting } from '@wordpress/block-editor';
|
|
9
|
-
import { useMemo } from '@wordpress/element';
|
|
10
|
-
/**
|
|
11
|
-
* Internal dependencies
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { unlock } from '../../private-apis';
|
|
15
|
-
const {
|
|
16
|
-
useGlobalStyle
|
|
17
|
-
} = unlock(blockEditorPrivateApis);
|
|
18
|
-
const EMPTY_ARRAY = [];
|
|
19
|
-
|
|
20
|
-
function useMultiOriginPresets(_ref) {
|
|
21
|
-
let {
|
|
22
|
-
presetSetting,
|
|
23
|
-
defaultSetting
|
|
24
|
-
} = _ref;
|
|
25
|
-
const disableDefault = !useSetting(defaultSetting);
|
|
26
|
-
const userPresets = useSetting(`${presetSetting}.custom`) || EMPTY_ARRAY;
|
|
27
|
-
const themePresets = useSetting(`${presetSetting}.theme`) || EMPTY_ARRAY;
|
|
28
|
-
const defaultPresets = useSetting(`${presetSetting}.default`) || EMPTY_ARRAY;
|
|
29
|
-
return useMemo(() => [...userPresets, ...themePresets, ...(disableDefault ? EMPTY_ARRAY : defaultPresets)], [disableDefault, userPresets, themePresets, defaultPresets]);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function DuotonePanel(_ref2) {
|
|
33
|
-
let {
|
|
34
|
-
name
|
|
35
|
-
} = _ref2;
|
|
36
|
-
const [themeDuotone, setThemeDuotone] = useGlobalStyle('filter.duotone', name);
|
|
37
|
-
const duotonePalette = useMultiOriginPresets({
|
|
38
|
-
presetSetting: 'color.duotone',
|
|
39
|
-
defaultSetting: 'color.defaultDuotone'
|
|
40
|
-
});
|
|
41
|
-
const colorPalette = useMultiOriginPresets({
|
|
42
|
-
presetSetting: 'color.palette',
|
|
43
|
-
defaultSetting: 'color.defaultPalette'
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
if ((duotonePalette === null || duotonePalette === void 0 ? void 0 : duotonePalette.length) === 0) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return createElement(Fragment, null, createElement(ToolsPanel, {
|
|
51
|
-
label: __('Duotone')
|
|
52
|
-
}, createElement("span", {
|
|
53
|
-
className: "span-columns"
|
|
54
|
-
}, __('Create a two-tone color effect without losing your original image.')), createElement("div", {
|
|
55
|
-
className: "span-columns"
|
|
56
|
-
}, createElement(DuotonePicker, {
|
|
57
|
-
colorPalette: colorPalette,
|
|
58
|
-
duotonePalette: duotonePalette,
|
|
59
|
-
disableCustomColors: true,
|
|
60
|
-
disableCustomDuotone: true,
|
|
61
|
-
value: themeDuotone,
|
|
62
|
-
onChange: setThemeDuotone
|
|
63
|
-
}))));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export default DuotonePanel;
|
|
67
|
-
//# sourceMappingURL=duotone-panel.js.map
|