@wordpress/block-library 8.31.0 → 8.32.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/block/edit.js +5 -8
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/image/edit.js +10 -39
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +27 -6
- package/build/image/image.js.map +1 -1
- package/build/navigation/view.js +12 -2
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +41 -18
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +27 -9
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +3 -1
- package/build/pattern/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +12 -3
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +8 -3
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-featured-image/overlay-controls.js +82 -0
- package/build/post-featured-image/overlay-controls.js.map +1 -0
- package/build/post-featured-image/overlay.js +5 -54
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/quote/edit.js +18 -23
- package/build/quote/edit.js.map +1 -1
- package/build/site-tagline/edit.js +13 -4
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-tagline/index.js +4 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/template-part/edit/index.js +55 -47
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +106 -10
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +1 -9
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/utils/caption.js +19 -13
- package/build/utils/caption.js.map +1 -1
- package/build/utils/hooks.js +1 -0
- package/build/utils/hooks.js.map +1 -1
- package/build-module/block/edit.js +5 -8
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.native.js +1 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/image/edit.js +11 -40
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +27 -6
- package/build-module/image/image.js.map +1 -1
- package/build-module/navigation/view.js +12 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +43 -20
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +27 -9
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +3 -1
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +12 -3
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +8 -3
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-featured-image/overlay-controls.js +75 -0
- package/build-module/post-featured-image/overlay-controls.js.map +1 -0
- package/build-module/post-featured-image/overlay.js +7 -56
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/quote/edit.js +20 -25
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +14 -5
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +4 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/template-part/edit/index.js +58 -50
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +108 -12
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -10
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/utils/caption.js +19 -13
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/hooks.js +1 -0
- package/build-module/utils/hooks.js.map +1 -1
- package/build-style/audio/theme-rtl.css +1 -1
- package/build-style/audio/theme.css +1 -1
- package/build-style/cover/style-rtl.css +5 -2
- package/build-style/cover/style.css +5 -2
- package/build-style/editor-rtl.css +12 -8
- package/build-style/editor.css +12 -8
- package/build-style/embed/theme-rtl.css +1 -1
- package/build-style/embed/theme.css +1 -1
- package/build-style/image/theme-rtl.css +1 -1
- package/build-style/image/theme.css +1 -1
- package/build-style/pullquote/theme-rtl.css +2 -1
- package/build-style/pullquote/theme.css +2 -1
- package/build-style/quote/theme-rtl.css +6 -6
- package/build-style/quote/theme.css +6 -6
- package/build-style/search/style-rtl.css +10 -0
- package/build-style/search/style.css +10 -0
- package/build-style/social-links/editor-rtl.css +0 -4
- package/build-style/social-links/editor.css +0 -4
- package/build-style/style-rtl.css +15 -2
- package/build-style/style.css +15 -2
- package/build-style/table/theme-rtl.css +4 -3
- package/build-style/table/theme.css +4 -3
- package/build-style/template-part/editor-rtl.css +12 -4
- package/build-style/template-part/editor.css +12 -4
- package/build-style/template-part/theme-rtl.css +1 -1
- package/build-style/template-part/theme.css +1 -1
- package/build-style/theme-rtl.css +17 -15
- package/build-style/theme.css +17 -15
- package/build-style/video/theme-rtl.css +1 -1
- package/build-style/video/theme.css +1 -1
- package/package.json +34 -34
- package/src/audio/theme.scss +1 -1
- package/src/block/edit.js +5 -17
- package/src/button/edit.native.js +1 -1
- package/src/cover/style.scss +6 -2
- package/src/embed/theme.scss +1 -1
- package/src/gallery/editor.scss +1 -1
- package/src/gallery/index.php +1 -1
- package/src/image/edit.js +11 -40
- package/src/image/editor.scss +2 -2
- package/src/image/image.js +25 -7
- package/src/image/theme.scss +1 -1
- package/src/navigation/index.php +8 -0
- package/src/navigation/view.js +11 -2
- package/src/navigation-link/edit.js +53 -27
- package/src/navigation-submenu/edit.js +30 -10
- package/src/pattern/edit.js +4 -0
- package/src/post-featured-image/block.json +8 -3
- package/src/post-featured-image/edit.js +12 -1
- package/src/post-featured-image/editor.scss +1 -1
- package/src/post-featured-image/overlay-controls.js +88 -0
- package/src/post-featured-image/overlay.js +17 -84
- package/src/pullquote/theme.scss +3 -1
- package/src/query-no-results/index.php +2 -0
- package/src/query-pagination-next/index.php +2 -0
- package/src/query-pagination-numbers/index.php +2 -0
- package/src/quote/edit.js +27 -43
- package/src/quote/test/edit.native.js +4 -6
- package/src/quote/theme.scss +1 -2
- package/src/search/style.scss +11 -0
- package/src/site-logo/editor.scss +2 -2
- package/src/site-tagline/block.json +4 -0
- package/src/site-tagline/edit.js +16 -3
- package/src/site-tagline/index.php +9 -1
- package/src/social-links/editor.scss +1 -9
- package/src/table/theme.scss +4 -2
- package/src/template-part/edit/index.js +87 -79
- package/src/template-part/edit/inner-blocks.js +126 -13
- package/src/template-part/edit/selection-modal.js +1 -22
- package/src/template-part/editor.scss +11 -3
- package/src/template-part/index.php +2 -0
- package/src/template-part/theme.scss +1 -1
- package/src/utils/caption.js +19 -16
- package/src/utils/hooks.js +1 -0
- package/src/video/editor.scss +2 -2
- package/src/video/theme.scss +1 -1
|
@@ -2,16 +2,25 @@ import { createElement } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { useEntityBlockEditor } from '@wordpress/core-data';
|
|
6
|
-
import { InnerBlocks, useInnerBlocksProps, useSettings, store as blockEditorStore } from '@wordpress/block-editor';
|
|
5
|
+
import { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';
|
|
6
|
+
import { InnerBlocks, useInnerBlocksProps, useSettings, store as blockEditorStore, useBlockEditingMode } from '@wordpress/block-editor';
|
|
7
7
|
import { useSelect } from '@wordpress/data';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
import { useMemo } from '@wordpress/element';
|
|
9
|
+
import { parse } from '@wordpress/blocks';
|
|
10
|
+
function useRenderAppender(hasInnerBlocks) {
|
|
11
|
+
const blockEditingMode = useBlockEditingMode();
|
|
12
|
+
// Disable appending when the editing mode is 'contentOnly'. This is so that the user can't
|
|
13
|
+
// append into a template part when editing a page in the site editor. See
|
|
14
|
+
// DisableNonPageContentBlocks. Ideally instead of (mis)using editing mode there would be a
|
|
15
|
+
// block editor API for achieving this.
|
|
16
|
+
if (blockEditingMode === 'contentOnly') {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (!hasInnerBlocks) {
|
|
20
|
+
return InnerBlocks.ButtonBlockAppender;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function useLayout(layout) {
|
|
15
24
|
const themeSupportsLayout = useSelect(select => {
|
|
16
25
|
const {
|
|
17
26
|
getSettings
|
|
@@ -19,7 +28,65 @@ export default function TemplatePartInnerBlocks({
|
|
|
19
28
|
return getSettings()?.supportsLayout;
|
|
20
29
|
}, []);
|
|
21
30
|
const [defaultLayout] = useSettings('layout');
|
|
22
|
-
|
|
31
|
+
if (themeSupportsLayout) {
|
|
32
|
+
return layout?.inherit ? defaultLayout || {} : layout;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function NonEditableTemplatePartPreview({
|
|
36
|
+
postId: id,
|
|
37
|
+
layout,
|
|
38
|
+
tagName: TagName,
|
|
39
|
+
blockProps
|
|
40
|
+
}) {
|
|
41
|
+
useBlockEditingMode('disabled');
|
|
42
|
+
const {
|
|
43
|
+
content,
|
|
44
|
+
editedBlocks
|
|
45
|
+
} = useSelect(select => {
|
|
46
|
+
if (!id) {
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
const {
|
|
50
|
+
getEditedEntityRecord
|
|
51
|
+
} = select(coreStore);
|
|
52
|
+
const editedRecord = getEditedEntityRecord('postType', 'wp_template_part', id, {
|
|
53
|
+
context: 'view'
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
editedBlocks: editedRecord.blocks,
|
|
57
|
+
content: editedRecord.content
|
|
58
|
+
};
|
|
59
|
+
}, [id]);
|
|
60
|
+
const blocks = useMemo(() => {
|
|
61
|
+
if (!id) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
if (editedBlocks) {
|
|
65
|
+
return editedBlocks;
|
|
66
|
+
}
|
|
67
|
+
if (!content || typeof content !== 'string') {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
return parse(content);
|
|
71
|
+
}, [id, editedBlocks, content]);
|
|
72
|
+
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
73
|
+
value: blocks,
|
|
74
|
+
onInput: () => {},
|
|
75
|
+
onChange: () => {},
|
|
76
|
+
renderAppender: false,
|
|
77
|
+
layout: useLayout(layout)
|
|
78
|
+
});
|
|
79
|
+
return createElement(TagName, {
|
|
80
|
+
...innerBlocksProps
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function EditableTemplatePartInnerBlocks({
|
|
84
|
+
postId: id,
|
|
85
|
+
hasInnerBlocks,
|
|
86
|
+
layout,
|
|
87
|
+
tagName: TagName,
|
|
88
|
+
blockProps
|
|
89
|
+
}) {
|
|
23
90
|
const [blocks, onInput, onChange] = useEntityBlockEditor('postType', 'wp_template_part', {
|
|
24
91
|
id
|
|
25
92
|
});
|
|
@@ -27,11 +94,40 @@ export default function TemplatePartInnerBlocks({
|
|
|
27
94
|
value: blocks,
|
|
28
95
|
onInput,
|
|
29
96
|
onChange,
|
|
30
|
-
renderAppender: hasInnerBlocks
|
|
31
|
-
layout:
|
|
97
|
+
renderAppender: useRenderAppender(hasInnerBlocks),
|
|
98
|
+
layout: useLayout(layout)
|
|
32
99
|
});
|
|
33
100
|
return createElement(TagName, {
|
|
34
101
|
...innerBlocksProps
|
|
35
102
|
});
|
|
36
103
|
}
|
|
104
|
+
export default function TemplatePartInnerBlocks({
|
|
105
|
+
postId: id,
|
|
106
|
+
hasInnerBlocks,
|
|
107
|
+
layout,
|
|
108
|
+
tagName: TagName,
|
|
109
|
+
blockProps
|
|
110
|
+
}) {
|
|
111
|
+
const {
|
|
112
|
+
canViewTemplatePart,
|
|
113
|
+
canEditTemplatePart
|
|
114
|
+
} = useSelect(select => {
|
|
115
|
+
var _select$canUser, _select$canUser2;
|
|
116
|
+
return {
|
|
117
|
+
canViewTemplatePart: (_select$canUser = select(coreStore).canUser('read', 'templates')) !== null && _select$canUser !== void 0 ? _select$canUser : false,
|
|
118
|
+
canEditTemplatePart: (_select$canUser2 = select(coreStore).canUser('create', 'templates')) !== null && _select$canUser2 !== void 0 ? _select$canUser2 : false
|
|
119
|
+
};
|
|
120
|
+
}, []);
|
|
121
|
+
if (!canViewTemplatePart) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
const TemplatePartInnerBlocksComponent = canEditTemplatePart ? EditableTemplatePartInnerBlocks : NonEditableTemplatePartPreview;
|
|
125
|
+
return createElement(TemplatePartInnerBlocksComponent, {
|
|
126
|
+
postId: id,
|
|
127
|
+
hasInnerBlocks: hasInnerBlocks,
|
|
128
|
+
layout: layout,
|
|
129
|
+
tagName: TagName,
|
|
130
|
+
blockProps: blockProps
|
|
131
|
+
});
|
|
132
|
+
}
|
|
37
133
|
//# sourceMappingURL=inner-blocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEntityBlockEditor","InnerBlocks","useInnerBlocksProps","useSettings","
|
|
1
|
+
{"version":3,"names":["useEntityBlockEditor","store","coreStore","InnerBlocks","useInnerBlocksProps","useSettings","blockEditorStore","useBlockEditingMode","useSelect","useMemo","parse","useRenderAppender","hasInnerBlocks","blockEditingMode","ButtonBlockAppender","useLayout","layout","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","inherit","NonEditableTemplatePartPreview","postId","id","tagName","TagName","blockProps","content","editedBlocks","getEditedEntityRecord","editedRecord","context","blocks","undefined","innerBlocksProps","value","onInput","onChange","renderAppender","createElement","EditableTemplatePartInnerBlocks","TemplatePartInnerBlocks","canViewTemplatePart","canEditTemplatePart","_select$canUser","_select$canUser2","canUser","TemplatePartInnerBlocksComponent"],"sources":["@wordpress/block-library/src/template-part/edit/inner-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';\nimport {\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { parse } from '@wordpress/blocks';\n\nfunction useRenderAppender( hasInnerBlocks ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\t// Disable appending when the editing mode is 'contentOnly'. This is so that the user can't\n\t// append into a template part when editing a page in the site editor. See\n\t// DisableNonPageContentBlocks. Ideally instead of (mis)using editing mode there would be a\n\t// block editor API for achieving this.\n\tif ( blockEditingMode === 'contentOnly' ) {\n\t\treturn false;\n\t}\n\tif ( ! hasInnerBlocks ) {\n\t\treturn InnerBlocks.ButtonBlockAppender;\n\t}\n}\n\nfunction useLayout( layout ) {\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings()?.supportsLayout;\n\t}, [] );\n\tconst [ defaultLayout ] = useSettings( 'layout' );\n\tif ( themeSupportsLayout ) {\n\t\treturn layout?.inherit ? defaultLayout || {} : layout;\n\t}\n}\n\nfunction NonEditableTemplatePartPreview( {\n\tpostId: id,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tuseBlockEditingMode( 'disabled' );\n\n\tconst { content, editedBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! id ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst editedRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tid,\n\t\t\t\t{ context: 'view' }\n\t\t\t);\n\t\t\treturn {\n\t\t\t\teditedBlocks: editedRecord.blocks,\n\t\t\t\tcontent: editedRecord.content,\n\t\t\t};\n\t\t},\n\t\t[ id ]\n\t);\n\n\tconst blocks = useMemo( () => {\n\t\tif ( ! id ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif ( editedBlocks ) {\n\t\t\treturn editedBlocks;\n\t\t}\n\n\t\tif ( ! content || typeof content !== 'string' ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn parse( content );\n\t}, [ id, editedBlocks, content ] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput: () => {},\n\t\tonChange: () => {},\n\t\trenderAppender: false,\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nfunction EditableTemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{ id }\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: useRenderAppender( hasInnerBlocks ),\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nexport default function TemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst { canViewTemplatePart, canEditTemplatePart } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcanViewTemplatePart:\n\t\t\t\t\tselect( coreStore ).canUser( 'read', 'templates' ) ?? false,\n\t\t\t\tcanEditTemplatePart:\n\t\t\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ??\n\t\t\t\t\tfalse,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif ( ! canViewTemplatePart ) {\n\t\treturn null;\n\t}\n\n\tconst TemplatePartInnerBlocksComponent = canEditTemplatePart\n\t\t? EditableTemplatePartInnerBlocks\n\t\t: NonEditableTemplatePartPreview;\n\n\treturn (\n\t\t<TemplatePartInnerBlocksComponent\n\t\t\tpostId={ id }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tlayout={ layout }\n\t\t\ttagName={ TagName }\n\t\t\tblockProps={ blockProps }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { SearchControl, __experimentalHStack as HStack } from '@wordpress/compon
|
|
|
13
13
|
/**
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
|
-
import { useAlternativeBlockPatterns, useAlternativeTemplateParts
|
|
16
|
+
import { useAlternativeBlockPatterns, useAlternativeTemplateParts } from './utils/hooks';
|
|
17
17
|
import { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';
|
|
18
18
|
import { searchPatterns } from '../../utils/search-patterns';
|
|
19
19
|
export default function TemplatePartSelectionModal({
|
|
@@ -27,6 +27,7 @@ export default function TemplatePartSelectionModal({
|
|
|
27
27
|
const {
|
|
28
28
|
templateParts
|
|
29
29
|
} = useAlternativeTemplateParts(area, templatePartId);
|
|
30
|
+
|
|
30
31
|
// We can map template parts to block patters to reuse the BlockPatternsList UI
|
|
31
32
|
const filteredTemplateParts = useMemo(() => {
|
|
32
33
|
const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
|
|
@@ -37,7 +38,6 @@ export default function TemplatePartSelectionModal({
|
|
|
37
38
|
const filteredBlockPatterns = useMemo(() => {
|
|
38
39
|
return searchPatterns(blockPatterns, searchValue);
|
|
39
40
|
}, [blockPatterns, searchValue]);
|
|
40
|
-
const shownBlockPatterns = useAsyncList(filteredBlockPatterns);
|
|
41
41
|
const {
|
|
42
42
|
createSuccessNotice
|
|
43
43
|
} = useDispatch(noticesStore);
|
|
@@ -53,7 +53,6 @@ export default function TemplatePartSelectionModal({
|
|
|
53
53
|
});
|
|
54
54
|
onClose();
|
|
55
55
|
};
|
|
56
|
-
const createFromBlocks = useCreateTemplatePartFromBlocks(area, setAttributes);
|
|
57
56
|
const hasTemplateParts = !!filteredTemplateParts.length;
|
|
58
57
|
const hasBlockPatterns = !!filteredBlockPatterns.length;
|
|
59
58
|
return createElement("div", {
|
|
@@ -72,13 +71,6 @@ export default function TemplatePartSelectionModal({
|
|
|
72
71
|
onClickPattern: pattern => {
|
|
73
72
|
onTemplatePartSelect(pattern.templatePart);
|
|
74
73
|
}
|
|
75
|
-
})), hasBlockPatterns && createElement("div", null, createElement("h2", null, __('Patterns')), createElement(BlockPatternsList, {
|
|
76
|
-
blockPatterns: filteredBlockPatterns,
|
|
77
|
-
shownPatterns: shownBlockPatterns,
|
|
78
|
-
onClickPattern: (pattern, blocks) => {
|
|
79
|
-
createFromBlocks(blocks, pattern.title);
|
|
80
|
-
onClose();
|
|
81
|
-
}
|
|
82
74
|
})), !hasTemplateParts && !hasBlockPatterns && createElement(HStack, {
|
|
83
75
|
alignment: "center"
|
|
84
76
|
}, createElement("p", null, __('No results found.'))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","useAsyncList","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","
|
|
1
|
+
{"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","useAsyncList","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","mapTemplatePartToBlockPattern","searchPatterns","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","templateParts","filteredTemplateParts","partsAsPatterns","map","templatePart","shownTemplateParts","blockPatterns","filteredBlockPatterns","createSuccessNotice","onTemplatePartSelect","slug","theme","undefined","title","rendered","type","hasTemplateParts","length","hasBlockPatterns","createElement","className","__nextHasNoMarginBottom","onChange","value","label","placeholder","shownPatterns","onClickPattern","pattern","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst shownTemplateParts = useAsyncList( filteredTemplateParts );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" inserted.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\tonClose();\n\t};\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search for replacements' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tshownPatterns={ shownTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -19,11 +19,8 @@ import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
|
19
19
|
* Internal dependencies
|
|
20
20
|
*/
|
|
21
21
|
import { unlock } from '../lock-unlock';
|
|
22
|
-
const {
|
|
23
|
-
PrivateRichText: RichText
|
|
24
|
-
} = unlock(blockEditorPrivateApis);
|
|
25
22
|
export function Caption({
|
|
26
|
-
|
|
23
|
+
attributeKey = 'caption',
|
|
27
24
|
attributes,
|
|
28
25
|
setAttributes,
|
|
29
26
|
isSelected,
|
|
@@ -32,10 +29,18 @@ export function Caption({
|
|
|
32
29
|
label = __('Caption text'),
|
|
33
30
|
showToolbarButton = true,
|
|
34
31
|
className,
|
|
35
|
-
|
|
32
|
+
readOnly,
|
|
33
|
+
tagName = 'figcaption',
|
|
34
|
+
addLabel = __('Add caption'),
|
|
35
|
+
removeLabel = __('Remove caption'),
|
|
36
|
+
icon = captionIcon,
|
|
37
|
+
...props
|
|
36
38
|
}) {
|
|
37
|
-
const caption = attributes[
|
|
39
|
+
const caption = attributes[attributeKey];
|
|
38
40
|
const prevCaption = usePrevious(caption);
|
|
41
|
+
const {
|
|
42
|
+
PrivateRichText: RichText
|
|
43
|
+
} = unlock(blockEditorPrivateApis);
|
|
39
44
|
const isCaptionEmpty = RichText.isEmpty(caption);
|
|
40
45
|
const isPrevCaptionEmpty = RichText.isEmpty(prevCaption);
|
|
41
46
|
const [showCaption, setShowCaption] = useState(!isCaptionEmpty);
|
|
@@ -66,27 +71,28 @@ export function Caption({
|
|
|
66
71
|
setShowCaption(!showCaption);
|
|
67
72
|
if (showCaption && caption) {
|
|
68
73
|
setAttributes({
|
|
69
|
-
|
|
74
|
+
[attributeKey]: undefined
|
|
70
75
|
});
|
|
71
76
|
}
|
|
72
77
|
},
|
|
73
|
-
icon:
|
|
78
|
+
icon: icon,
|
|
74
79
|
isPressed: showCaption,
|
|
75
|
-
label: showCaption ?
|
|
80
|
+
label: showCaption ? removeLabel : addLabel
|
|
76
81
|
})), showCaption && (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
|
|
77
|
-
identifier:
|
|
78
|
-
tagName:
|
|
82
|
+
identifier: attributeKey,
|
|
83
|
+
tagName: tagName,
|
|
79
84
|
className: classnames(className, __experimentalGetElementClassName('caption')),
|
|
80
85
|
ref: ref,
|
|
81
86
|
"aria-label": label,
|
|
82
87
|
placeholder: placeholder,
|
|
83
88
|
value: caption,
|
|
84
89
|
onChange: value => setAttributes({
|
|
85
|
-
|
|
90
|
+
[attributeKey]: value
|
|
86
91
|
}),
|
|
87
92
|
inlineToolbar: true,
|
|
88
93
|
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName())),
|
|
89
|
-
|
|
94
|
+
readOnly: readOnly,
|
|
95
|
+
...props
|
|
90
96
|
}));
|
|
91
97
|
}
|
|
92
98
|
//# sourceMappingURL=caption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useState","useEffect","useCallback","usePrevious","__","BlockControls","__experimentalGetElementClassName","privateApis","blockEditorPrivateApis","ToolbarButton","caption","captionIcon","createBlock","getDefaultBlockName","unlock","
|
|
1
|
+
{"version":3,"names":["classnames","useState","useEffect","useCallback","usePrevious","__","BlockControls","__experimentalGetElementClassName","privateApis","blockEditorPrivateApis","ToolbarButton","caption","captionIcon","createBlock","getDefaultBlockName","unlock","Caption","attributeKey","attributes","setAttributes","isSelected","insertBlocksAfter","placeholder","label","showToolbarButton","className","readOnly","tagName","addLabel","removeLabel","icon","props","prevCaption","PrivateRichText","RichText","isCaptionEmpty","isEmpty","isPrevCaptionEmpty","showCaption","setShowCaption","ref","node","focus","createElement","Fragment","group","onClick","undefined","isPressed","identifier","value","onChange","inlineToolbar","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/utils/caption.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\t__experimentalGetElementClassName,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nexport function Caption( {\n\tattributeKey = 'caption',\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tplaceholder = __( 'Add caption' ),\n\tlabel = __( 'Caption text' ),\n\tshowToolbarButton = true,\n\tclassName,\n\treadOnly,\n\ttagName = 'figcaption',\n\taddLabel = __( 'Add caption' ),\n\tremoveLabel = __( 'Remove caption' ),\n\ticon = captionIcon,\n\t...props\n} ) {\n\tconst caption = attributes[ attributeKey ];\n\tconst prevCaption = usePrevious( caption );\n\tconst { PrivateRichText: RichText } = unlock( blockEditorPrivateApis );\n\tconst isCaptionEmpty = RichText.isEmpty( caption );\n\tconst isPrevCaptionEmpty = RichText.isEmpty( prevCaption );\n\tconst [ showCaption, setShowCaption ] = useState( ! isCaptionEmpty );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( ! isCaptionEmpty && isPrevCaptionEmpty ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ isCaptionEmpty, isPrevCaptionEmpty ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && isCaptionEmpty ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, isCaptionEmpty ] );\n\n\t// Focus the caption when we click to add one.\n\tconst ref = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && isCaptionEmpty ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ isCaptionEmpty ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ showToolbarButton && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t[ attributeKey ]: undefined,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={ showCaption ? removeLabel : addLabel }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier={ attributeKey }\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { [ attributeKey ]: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treadOnly={ readOnly }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useCanEditEntity","kind","name","recordId","select","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\tonError( message );\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOb,SAAS,CACbc,MAAM,IACPA,MAAM,CAAEL,SAAU,CAAC,CAACM,uBAAuB,CAAEJ,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGf,MAAM,CAAEc,IAAK,CAAC;EACjC,MAAM;IAAEE;EAAY,CAAC,GAAGnB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBiB,UAAU,CAACE,OAAO,GAAGH,IAAI;EAC1B,CAAE,CAAC;EAEHf,SAAS,CAAE,MAAM;IAChB,IACC,CAAEgB,UAAU,CAACE,OAAO,CAACC,GAAG,IACxB,CAAEhB,SAAS,CAAEa,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGlB,YAAY,CAAEc,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGP,UAAU,CAACE,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCO,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAKxB,SAAS,CAAEwB,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAf,aAAa,CAAEe,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;MAClB,CAAC;MACDJ,OAAO,EAAIK,OAAO,IAAM;
|
|
1
|
+
{"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useCanEditEntity","kind","name","recordId","select","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOb,SAAS,CACbc,MAAM,IACPA,MAAM,CAAEL,SAAU,CAAC,CAACM,uBAAuB,CAAEJ,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGf,MAAM,CAAEc,IAAK,CAAC;EACjC,MAAM;IAAEE;EAAY,CAAC,GAAGnB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBiB,UAAU,CAACE,OAAO,GAAGH,IAAI;EAC1B,CAAE,CAAC;EAEHf,SAAS,CAAE,MAAM;IAChB,IACC,CAAEgB,UAAU,CAACE,OAAO,CAACC,GAAG,IACxB,CAAEhB,SAAS,CAAEa,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGlB,YAAY,CAAEc,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGP,UAAU,CAACE,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCO,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAKxB,SAAS,CAAEwB,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAf,aAAa,CAAEe,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;MAClB,CAAC;MACDJ,OAAO,EAAIK,OAAO,IAAM;QACvBxB,aAAa,CAAEe,GAAI,CAAC;QACpBI,OAAO,CAAEK,OAAQ,CAAC;MACnB;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEX,WAAW,CAAG,CAAC;AACrB"}
|
|
@@ -86,15 +86,18 @@
|
|
|
86
86
|
/**
|
|
87
87
|
* Reset the WP Admin page styles for Gutenberg-like pages.
|
|
88
88
|
*/
|
|
89
|
+
:where(.wp-block-cover-image, .wp-block-cover) {
|
|
90
|
+
min-height: 430px;
|
|
91
|
+
padding: 1em;
|
|
92
|
+
}
|
|
93
|
+
|
|
89
94
|
.wp-block-cover-image,
|
|
90
95
|
.wp-block-cover {
|
|
91
96
|
position: relative;
|
|
92
97
|
background-position: center center;
|
|
93
|
-
min-height: 430px;
|
|
94
98
|
display: flex;
|
|
95
99
|
justify-content: center;
|
|
96
100
|
align-items: center;
|
|
97
|
-
padding: 1em;
|
|
98
101
|
overflow: hidden;
|
|
99
102
|
overflow: clip;
|
|
100
103
|
box-sizing: border-box; direction: ltr;
|
|
@@ -86,15 +86,18 @@
|
|
|
86
86
|
/**
|
|
87
87
|
* Reset the WP Admin page styles for Gutenberg-like pages.
|
|
88
88
|
*/
|
|
89
|
+
:where(.wp-block-cover-image, .wp-block-cover) {
|
|
90
|
+
min-height: 430px;
|
|
91
|
+
padding: 1em;
|
|
92
|
+
}
|
|
93
|
+
|
|
89
94
|
.wp-block-cover-image,
|
|
90
95
|
.wp-block-cover {
|
|
91
96
|
position: relative;
|
|
92
97
|
background-position: center center;
|
|
93
|
-
min-height: 430px;
|
|
94
98
|
display: flex;
|
|
95
99
|
justify-content: center;
|
|
96
100
|
align-items: center;
|
|
97
|
-
padding: 1em;
|
|
98
101
|
overflow: hidden;
|
|
99
102
|
overflow: clip;
|
|
100
103
|
box-sizing: border-box;
|
|
@@ -2556,9 +2556,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2556
2556
|
display: inline-block;
|
|
2557
2557
|
margin-right: 8px;
|
|
2558
2558
|
}
|
|
2559
|
-
.wp-block-social-links.wp-block-social-links {
|
|
2560
|
-
background: none;
|
|
2561
|
-
}
|
|
2562
2559
|
|
|
2563
2560
|
.wp-social-link:hover {
|
|
2564
2561
|
transform: none;
|
|
@@ -2608,7 +2605,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2608
2605
|
.wp-block-social-links .wp-block-social-links__social-prompt {
|
|
2609
2606
|
min-height: 24px;
|
|
2610
2607
|
list-style: none;
|
|
2611
|
-
order: 2;
|
|
2612
2608
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
2613
2609
|
font-size: 13px;
|
|
2614
2610
|
line-height: 24px;
|
|
@@ -2759,10 +2755,14 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2759
2755
|
z-index: 2;
|
|
2760
2756
|
}
|
|
2761
2757
|
|
|
2762
|
-
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted, .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected,
|
|
2763
|
-
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,
|
|
2764
|
-
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected {
|
|
2765
|
-
box-shadow:
|
|
2758
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted::after, .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected::after,
|
|
2759
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted::after,
|
|
2760
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected::after {
|
|
2761
|
+
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
|
|
2762
|
+
}
|
|
2763
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-hovered::after,
|
|
2764
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-hovered::after {
|
|
2765
|
+
box-shadow: 0 0 0 1px var(--wp-block-synced-color);
|
|
2766
2766
|
}
|
|
2767
2767
|
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus::after,
|
|
2768
2768
|
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus::after {
|
|
@@ -2773,6 +2773,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2773
2773
|
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff;
|
|
2774
2774
|
}
|
|
2775
2775
|
|
|
2776
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.has-editable-outline::after {
|
|
2777
|
+
border: none;
|
|
2778
|
+
}
|
|
2779
|
+
|
|
2776
2780
|
.wp-block-text-columns .block-editor-rich-text__editable:focus {
|
|
2777
2781
|
outline: 1px solid #ddd;
|
|
2778
2782
|
}
|
package/build-style/editor.css
CHANGED
|
@@ -2564,9 +2564,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2564
2564
|
display: inline-block;
|
|
2565
2565
|
margin-left: 8px;
|
|
2566
2566
|
}
|
|
2567
|
-
.wp-block-social-links.wp-block-social-links {
|
|
2568
|
-
background: none;
|
|
2569
|
-
}
|
|
2570
2567
|
|
|
2571
2568
|
.wp-social-link:hover {
|
|
2572
2569
|
transform: none;
|
|
@@ -2616,7 +2613,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2616
2613
|
.wp-block-social-links .wp-block-social-links__social-prompt {
|
|
2617
2614
|
min-height: 24px;
|
|
2618
2615
|
list-style: none;
|
|
2619
|
-
order: 2;
|
|
2620
2616
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
2621
2617
|
font-size: 13px;
|
|
2622
2618
|
line-height: 24px;
|
|
@@ -2767,10 +2763,14 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2767
2763
|
z-index: 2;
|
|
2768
2764
|
}
|
|
2769
2765
|
|
|
2770
|
-
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted, .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected,
|
|
2771
|
-
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,
|
|
2772
|
-
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected {
|
|
2773
|
-
box-shadow:
|
|
2766
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted::after, .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected::after,
|
|
2767
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted::after,
|
|
2768
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected::after {
|
|
2769
|
+
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
|
|
2770
|
+
}
|
|
2771
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-hovered::after,
|
|
2772
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-hovered::after {
|
|
2773
|
+
box-shadow: 0 0 0 1px var(--wp-block-synced-color);
|
|
2774
2774
|
}
|
|
2775
2775
|
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus::after,
|
|
2776
2776
|
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus::after {
|
|
@@ -2781,6 +2781,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2781
2781
|
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff;
|
|
2782
2782
|
}
|
|
2783
2783
|
|
|
2784
|
+
.is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.has-editable-outline::after {
|
|
2785
|
+
border: none;
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2784
2788
|
.wp-block-text-columns .block-editor-rich-text__editable:focus {
|
|
2785
2789
|
outline: 1px solid #ddd;
|
|
2786
2790
|
}
|
|
@@ -86,12 +86,13 @@
|
|
|
86
86
|
/**
|
|
87
87
|
* Reset the WP Admin page styles for Gutenberg-like pages.
|
|
88
88
|
*/
|
|
89
|
-
.wp-block-pullquote {
|
|
89
|
+
:where(.wp-block-pullquote) {
|
|
90
90
|
border-top: 4px solid currentColor;
|
|
91
91
|
border-bottom: 4px solid currentColor;
|
|
92
92
|
margin-bottom: 1.75em;
|
|
93
93
|
color: currentColor;
|
|
94
94
|
}
|
|
95
|
+
|
|
95
96
|
.wp-block-pullquote cite,
|
|
96
97
|
.wp-block-pullquote footer, .wp-block-pullquote__citation {
|
|
97
98
|
color: currentColor;
|
|
@@ -86,12 +86,13 @@
|
|
|
86
86
|
/**
|
|
87
87
|
* Reset the WP Admin page styles for Gutenberg-like pages.
|
|
88
88
|
*/
|
|
89
|
-
.wp-block-pullquote {
|
|
89
|
+
:where(.wp-block-pullquote) {
|
|
90
90
|
border-top: 4px solid currentColor;
|
|
91
91
|
border-bottom: 4px solid currentColor;
|
|
92
92
|
margin-bottom: 1.75em;
|
|
93
93
|
color: currentColor;
|
|
94
94
|
}
|
|
95
|
+
|
|
95
96
|
.wp-block-pullquote cite,
|
|
96
97
|
.wp-block-pullquote footer, .wp-block-pullquote__citation {
|
|
97
98
|
color: currentColor;
|