@wordpress/block-library 9.26.1-next.719a03cbe.0 → 9.27.1-next.46f643fa0.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/categories/edit.js +15 -3
- package/build/categories/edit.js.map +1 -1
- package/build/cover/edit/block-controls.js +4 -2
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +6 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +13 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/index.js +6 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -1
- package/build/cover/save.js.map +1 -1
- package/build/file/edit.js +2 -1
- package/build/file/edit.js.map +1 -1
- package/build/latest-posts/edit.js +0 -2
- package/build/latest-posts/edit.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation-link/edit.js +32 -15
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +112 -14
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +19 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/paragraph/edit.js +2 -2
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-content/edit.js +78 -16
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +6 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/deprecated.js +104 -1
- package/build/post-date/deprecated.js.map +1 -1
- package/build/post-date/edit.js +32 -32
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +4 -4
- package/build/post-date/index.js.map +1 -1
- package/build/post-date/variations.js +32 -3
- package/build/post-date/variations.js.map +1 -1
- package/build/separator/edit.js +5 -30
- package/build/separator/edit.js.map +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/social-link/variations.js +51 -49
- package/build/social-link/variations.js.map +1 -1
- package/build/utils/poster-image.js +93 -0
- package/build/utils/poster-image.js.map +1 -0
- package/build/video/edit.js +7 -6
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +95 -104
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +6 -2
- package/build/video/tracks.js.map +1 -1
- package/build-module/categories/edit.js +15 -3
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +4 -2
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +6 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +12 -4
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/index.js +6 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/file/edit.js +2 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +0 -2
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation-link/edit.js +32 -15
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +113 -15
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +20 -3
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/paragraph/edit.js +2 -2
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-content/edit.js +80 -18
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +6 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/deprecated.js +104 -1
- package/build-module/post-date/deprecated.js.map +1 -1
- package/build-module/post-date/edit.js +35 -35
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +4 -4
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-date/variations.js +32 -3
- package/build-module/post-date/variations.js.map +1 -1
- package/build-module/separator/edit.js +6 -31
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/social-link/variations.js +52 -50
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/utils/poster-image.js +85 -0
- package/build-module/utils/poster-image.js.map +1 -0
- package/build-module/video/edit.js +7 -6
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +96 -105
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +6 -2
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/archives/editor-rtl.css +0 -4
- package/build-style/archives/editor.css +0 -4
- package/build-style/editor-rtl.css +67 -18
- package/build-style/editor.css +67 -18
- package/build-style/file/style-rtl.css +1 -1
- package/build-style/file/style.css +1 -1
- package/build-style/navigation/editor-rtl.css +6 -6
- package/build-style/navigation/editor.css +6 -6
- package/build-style/navigation/style-rtl.css +1 -0
- package/build-style/navigation/style.css +1 -0
- package/build-style/page-list/editor-rtl.css +0 -4
- package/build-style/page-list/editor.css +0 -4
- package/build-style/style-rtl.css +3 -1
- package/build-style/style.css +3 -1
- package/build-style/video/editor-rtl.css +0 -4
- package/build-style/video/editor.css +0 -4
- package/build-style/video/style-rtl.css +1 -0
- package/build-style/video/style.css +1 -0
- package/package.json +35 -35
- package/src/archives/editor.scss +0 -4
- package/src/categories/edit.js +13 -1
- package/src/comments-pagination/index.php +7 -2
- package/src/cover/block.json +6 -0
- package/src/cover/edit/block-controls.js +22 -17
- package/src/cover/edit/index.js +4 -1
- package/src/cover/edit/inspector-controls.js +15 -2
- package/src/cover/save.js +2 -0
- package/src/editor.scss +1 -0
- package/src/file/edit.js +4 -1
- package/src/file/style.scss +1 -1
- package/src/latest-posts/edit.js +0 -2
- package/src/media-text/edit.js +1 -1
- package/src/navigation/style.scss +1 -0
- package/src/navigation-link/edit.js +28 -16
- package/src/navigation-link/test/edit.js +738 -6
- package/src/navigation-link/update-attributes.js +125 -12
- package/src/navigation-submenu/edit.js +21 -1
- package/src/page-list/editor.scss +0 -6
- package/src/paragraph/edit.js +2 -2
- package/src/post-content/block.json +6 -0
- package/src/post-content/edit.js +71 -19
- package/src/post-content/index.php +11 -4
- package/src/post-date/block.json +4 -4
- package/src/post-date/deprecated.js +104 -1
- package/src/post-date/edit.js +74 -86
- package/src/post-date/index.php +55 -28
- package/src/post-date/variations.js +37 -3
- package/src/post-featured-image/index.php +3 -2
- package/src/separator/edit.js +8 -43
- package/src/site-tagline/block.json +1 -1
- package/src/social-link/README.md +21 -0
- package/src/social-link/index.php +49 -49
- package/src/social-link/variations.js +51 -49
- package/src/utils/poster-image.js +131 -0
- package/src/utils/poster-image.scss +75 -0
- package/src/video/edit.js +8 -6
- package/src/video/editor.scss +0 -6
- package/src/video/index.php +91 -0
- package/src/video/style.native.scss +1 -0
- package/src/video/style.scss +1 -0
- package/src/video/tracks-editor.js +93 -103
- package/src/video/tracks.js +2 -1
- package/build/video/poster-image.js +0 -81
- package/build/video/poster-image.js.map +0 -1
- package/build-module/video/poster-image.js +0 -74
- package/build-module/video/poster-image.js.map +0 -1
- package/src/video/poster-image.js +0 -86
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
-
import { useBlockProps, useInnerBlocksProps, RecursionProvider, useHasRecursion, Warning, __experimentalUseBlockPreview as useBlockPreview } from '@wordpress/block-editor';
|
|
5
|
+
import { InspectorControls, useBlockProps, useInnerBlocksProps, RecursionProvider, useHasRecursion, Warning, privateApis as blockEditorPrivateApis, __experimentalUseBlockPreview as useBlockPreview } from '@wordpress/block-editor';
|
|
6
6
|
import { parse } from '@wordpress/blocks';
|
|
7
7
|
import { useEntityProp, useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';
|
|
8
8
|
import { useSelect } from '@wordpress/data';
|
|
@@ -12,13 +12,18 @@ import { useMemo } from '@wordpress/element';
|
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
14
|
import { useCanEditEntity } from '../utils/hooks';
|
|
15
|
-
import {
|
|
15
|
+
import { unlock } from '../lock-unlock';
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
|
+
const {
|
|
18
|
+
HTMLElementControl
|
|
19
|
+
} = unlock(blockEditorPrivateApis);
|
|
16
20
|
function ReadOnlyContent({
|
|
17
21
|
parentLayout,
|
|
18
22
|
layoutClassNames,
|
|
19
23
|
userCanEdit,
|
|
20
24
|
postType,
|
|
21
|
-
postId
|
|
25
|
+
postId,
|
|
26
|
+
tagName: TagName = 'div'
|
|
22
27
|
}) {
|
|
23
28
|
const [,, content] = useEntityProp('postType', postType, 'content', postId);
|
|
24
29
|
const blockProps = useBlockProps({
|
|
@@ -45,12 +50,12 @@ function ReadOnlyContent({
|
|
|
45
50
|
...blockPreviewProps
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
|
-
return content?.protected ? /*#__PURE__*/_jsx(
|
|
53
|
+
return content?.protected ? /*#__PURE__*/_jsx(TagName, {
|
|
49
54
|
...blockProps,
|
|
50
55
|
children: /*#__PURE__*/_jsx(Warning, {
|
|
51
56
|
children: __('This content is password protected.')
|
|
52
57
|
})
|
|
53
|
-
}) : /*#__PURE__*/_jsx(
|
|
58
|
+
}) : /*#__PURE__*/_jsx(TagName, {
|
|
54
59
|
...blockProps,
|
|
55
60
|
dangerouslySetInnerHTML: {
|
|
56
61
|
__html: content?.rendered
|
|
@@ -58,7 +63,8 @@ function ReadOnlyContent({
|
|
|
58
63
|
});
|
|
59
64
|
}
|
|
60
65
|
function EditableContent({
|
|
61
|
-
context = {}
|
|
66
|
+
context = {},
|
|
67
|
+
tagName: TagName = 'div'
|
|
62
68
|
}) {
|
|
63
69
|
const {
|
|
64
70
|
postType,
|
|
@@ -80,7 +86,7 @@ function EditableContent({
|
|
|
80
86
|
onChange,
|
|
81
87
|
template: !hasInnerBlocks ? initialInnerBlocks : undefined
|
|
82
88
|
});
|
|
83
|
-
return /*#__PURE__*/_jsx(
|
|
89
|
+
return /*#__PURE__*/_jsx(TagName, {
|
|
84
90
|
...props
|
|
85
91
|
});
|
|
86
92
|
}
|
|
@@ -91,7 +97,8 @@ function Content(props) {
|
|
|
91
97
|
postType,
|
|
92
98
|
postId
|
|
93
99
|
} = {},
|
|
94
|
-
layoutClassNames
|
|
100
|
+
layoutClassNames,
|
|
101
|
+
tagName
|
|
95
102
|
} = props;
|
|
96
103
|
const userCanEdit = useCanEditEntity('postType', postType, postId);
|
|
97
104
|
if (userCanEdit === undefined) {
|
|
@@ -106,7 +113,8 @@ function Content(props) {
|
|
|
106
113
|
layoutClassNames: layoutClassNames,
|
|
107
114
|
userCanEdit: userCanEdit,
|
|
108
115
|
postType: postType,
|
|
109
|
-
postId: postId
|
|
116
|
+
postId: postId,
|
|
117
|
+
tagName: tagName
|
|
110
118
|
});
|
|
111
119
|
}
|
|
112
120
|
function Placeholder({
|
|
@@ -135,8 +143,51 @@ function RecursionError() {
|
|
|
135
143
|
})
|
|
136
144
|
});
|
|
137
145
|
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Render inspector controls for the PostContent block.
|
|
149
|
+
*
|
|
150
|
+
* @param {Object} props Component props.
|
|
151
|
+
* @param {string} props.tagName The HTML tag name.
|
|
152
|
+
* @param {Function} props.onSelectTagName onChange function for the SelectControl.
|
|
153
|
+
* @param {string} props.clientId The client ID of the current block.
|
|
154
|
+
*
|
|
155
|
+
* @return {JSX.Element} The control group.
|
|
156
|
+
*/
|
|
157
|
+
function PostContentEditControls({
|
|
158
|
+
tagName,
|
|
159
|
+
onSelectTagName,
|
|
160
|
+
clientId
|
|
161
|
+
}) {
|
|
162
|
+
return /*#__PURE__*/_jsx(InspectorControls, {
|
|
163
|
+
group: "advanced",
|
|
164
|
+
children: /*#__PURE__*/_jsx(HTMLElementControl, {
|
|
165
|
+
tagName: tagName,
|
|
166
|
+
onChange: onSelectTagName,
|
|
167
|
+
clientId: clientId,
|
|
168
|
+
options: [{
|
|
169
|
+
label: __('Default (<div>)'),
|
|
170
|
+
value: 'div'
|
|
171
|
+
}, {
|
|
172
|
+
label: '<main>',
|
|
173
|
+
value: 'main'
|
|
174
|
+
}, {
|
|
175
|
+
label: '<section>',
|
|
176
|
+
value: 'section'
|
|
177
|
+
}, {
|
|
178
|
+
label: '<article>',
|
|
179
|
+
value: 'article'
|
|
180
|
+
}]
|
|
181
|
+
})
|
|
182
|
+
});
|
|
183
|
+
}
|
|
138
184
|
export default function PostContentEdit({
|
|
139
185
|
context,
|
|
186
|
+
attributes: {
|
|
187
|
+
tagName = 'div'
|
|
188
|
+
},
|
|
189
|
+
setAttributes,
|
|
190
|
+
clientId,
|
|
140
191
|
__unstableLayoutClassNames: layoutClassNames,
|
|
141
192
|
__unstableParentLayout: parentLayout
|
|
142
193
|
}) {
|
|
@@ -148,15 +199,26 @@ export default function PostContentEdit({
|
|
|
148
199
|
if (contextPostId && contextPostType && hasAlreadyRendered) {
|
|
149
200
|
return /*#__PURE__*/_jsx(RecursionError, {});
|
|
150
201
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
202
|
+
const handleSelectTagName = value => {
|
|
203
|
+
setAttributes({
|
|
204
|
+
tagName: value
|
|
205
|
+
});
|
|
206
|
+
};
|
|
207
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
208
|
+
children: [/*#__PURE__*/_jsx(PostContentEditControls, {
|
|
209
|
+
tagName: tagName,
|
|
210
|
+
onSelectTagName: handleSelectTagName,
|
|
211
|
+
clientId: clientId
|
|
212
|
+
}), /*#__PURE__*/_jsx(RecursionProvider, {
|
|
213
|
+
uniqueId: contextPostId,
|
|
214
|
+
children: contextPostId && contextPostType ? /*#__PURE__*/_jsx(Content, {
|
|
215
|
+
context: context,
|
|
216
|
+
parentLayout: parentLayout,
|
|
217
|
+
layoutClassNames: layoutClassNames
|
|
218
|
+
}) : /*#__PURE__*/_jsx(Placeholder, {
|
|
219
|
+
layoutClassNames: layoutClassNames
|
|
220
|
+
})
|
|
221
|
+
})]
|
|
160
222
|
});
|
|
161
223
|
}
|
|
162
224
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","useBlockProps","useInnerBlocksProps","RecursionProvider","useHasRecursion","Warning","__experimentalUseBlockPreview","useBlockPreview","parse","useEntityProp","useEntityBlockEditor","store","coreStore","useSelect","useMemo","useCanEditEntity","jsx","_jsx","jsxs","_jsxs","ReadOnlyContent","parentLayout","layoutClassNames","userCanEdit","postType","postId","content","blockProps","className","blocks","raw","blockPreviewProps","props","layout","protected","children","dangerouslySetInnerHTML","__html","rendered","EditableContent","context","onInput","onChange","id","entityRecord","select","getEntityRecord","hasInnerBlocks","length","initialInnerBlocks","value","template","undefined","Content","queryId","isDescendentOfQueryLoop","Number","isFinite","isEditable","Placeholder","RecursionError","PostContentEdit","__unstableLayoutClassNames","__unstableParentLayout","contextPostId","contextPostType","hasAlreadyRendered","uniqueId"],"sources":["@wordpress/block-library/src/post-content/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tWarning,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tuseEntityProp,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nfunction ReadOnlyContent( {\n\tparentLayout,\n\tlayoutClassNames,\n\tuserCanEdit,\n\tpostType,\n\tpostId,\n} ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\tconst blocks = useMemo( () => {\n\t\treturn content?.raw ? parse( content.raw ) : [];\n\t}, [ content?.raw ] );\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: blockProps,\n\t\tlayout: parentLayout,\n\t} );\n\n\tif ( userCanEdit ) {\n\t\t/*\n\t\t * Rendering the block preview using the raw content blocks allows for\n\t\t * block support styles to be generated and applied by the editor.\n\t\t *\n\t\t * The preview using the raw blocks can only be presented to users with\n\t\t * edit permissions for the post to prevent potential exposure of private\n\t\t * block content.\n\t\t */\n\t\treturn <div { ...blockPreviewProps }></div>;\n\t}\n\n\treturn content?.protected ? (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</div>\n\t) : (\n\t\t<div\n\t\t\t{ ...blockProps }\n\t\t\tdangerouslySetInnerHTML={ { __html: content?.rendered } }\n\t\t></div>\n\t);\n}\n\nfunction EditableContent( { context = {} } ) {\n\tconst { postType, postId } = context;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst entityRecord = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst hasInnerBlocks = !! entityRecord?.content?.raw || blocks?.length;\n\n\tconst initialInnerBlocks = [ [ 'core/paragraph' ] ];\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplate: ! hasInnerBlocks ? initialInnerBlocks : undefined,\n\t\t}\n\t);\n\treturn <div { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst { context: { queryId, postType, postId } = {}, layoutClassNames } =\n\t\tprops;\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tif ( userCanEdit === undefined ) {\n\t\treturn null;\n\t}\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tparentLayout={ props.parentLayout }\n\t\t\tlayoutClassNames={ layoutClassNames }\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t/>\n\t);\n}\n\nfunction Placeholder( { layoutClassNames } ) {\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'This is the Content block, it will display all the blocks in any single post or page.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'If there are any Custom Post Types registered at your site, the Content block can display the contents of those entries as well.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nexport default function PostContentEdit( {\n\tcontext,\n\t__unstableLayoutClassNames: layoutClassNames,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst hasAlreadyRendered = useHasRecursion( contextPostId );\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ contextPostId }>\n\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t<Content\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\t\tlayoutClassNames={ layoutClassNames }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Placeholder layoutClassNames={ layoutClassNames } />\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","InspectorControls","useBlockProps","useInnerBlocksProps","RecursionProvider","useHasRecursion","Warning","privateApis","blockEditorPrivateApis","__experimentalUseBlockPreview","useBlockPreview","parse","useEntityProp","useEntityBlockEditor","store","coreStore","useSelect","useMemo","useCanEditEntity","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HTMLElementControl","ReadOnlyContent","parentLayout","layoutClassNames","userCanEdit","postType","postId","tagName","TagName","content","blockProps","className","blocks","raw","blockPreviewProps","props","layout","protected","children","dangerouslySetInnerHTML","__html","rendered","EditableContent","context","onInput","onChange","id","entityRecord","select","getEntityRecord","hasInnerBlocks","length","initialInnerBlocks","value","template","undefined","Content","queryId","isDescendentOfQueryLoop","Number","isFinite","isEditable","Placeholder","RecursionError","PostContentEditControls","onSelectTagName","clientId","group","options","label","PostContentEdit","attributes","setAttributes","__unstableLayoutClassNames","__unstableParentLayout","contextPostId","contextPostType","hasAlreadyRendered","handleSelectTagName","uniqueId"],"sources":["@wordpress/block-library/src/post-content/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tuseEntityProp,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nfunction ReadOnlyContent( {\n\tparentLayout,\n\tlayoutClassNames,\n\tuserCanEdit,\n\tpostType,\n\tpostId,\n\ttagName: TagName = 'div',\n} ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\tconst blocks = useMemo( () => {\n\t\treturn content?.raw ? parse( content.raw ) : [];\n\t}, [ content?.raw ] );\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: blockProps,\n\t\tlayout: parentLayout,\n\t} );\n\n\tif ( userCanEdit ) {\n\t\t/*\n\t\t * Rendering the block preview using the raw content blocks allows for\n\t\t * block support styles to be generated and applied by the editor.\n\t\t *\n\t\t * The preview using the raw blocks can only be presented to users with\n\t\t * edit permissions for the post to prevent potential exposure of private\n\t\t * block content.\n\t\t */\n\t\treturn <div { ...blockPreviewProps }></div>;\n\t}\n\n\treturn content?.protected ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</TagName>\n\t) : (\n\t\t<TagName\n\t\t\t{ ...blockProps }\n\t\t\tdangerouslySetInnerHTML={ { __html: content?.rendered } }\n\t\t></TagName>\n\t);\n}\n\nfunction EditableContent( { context = {}, tagName: TagName = 'div' } ) {\n\tconst { postType, postId } = context;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst entityRecord = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst hasInnerBlocks = !! entityRecord?.content?.raw || blocks?.length;\n\n\tconst initialInnerBlocks = [ [ 'core/paragraph' ] ];\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplate: ! hasInnerBlocks ? initialInnerBlocks : undefined,\n\t\t}\n\t);\n\treturn <TagName { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst {\n\t\tcontext: { queryId, postType, postId } = {},\n\t\tlayoutClassNames,\n\t\ttagName,\n\t} = props;\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tif ( userCanEdit === undefined ) {\n\t\treturn null;\n\t}\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tparentLayout={ props.parentLayout }\n\t\t\tlayoutClassNames={ layoutClassNames }\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t\ttagName={ tagName }\n\t\t/>\n\t);\n}\n\nfunction Placeholder( { layoutClassNames } ) {\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'This is the Content block, it will display all the blocks in any single post or page.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'If there are any Custom Post Types registered at your site, the Content block can display the contents of those entries as well.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\n/**\n * Render inspector controls for the PostContent block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n * @param {string} props.clientId The client ID of the current block.\n *\n * @return {JSX.Element} The control group.\n */\nfunction PostContentEditControls( { tagName, onSelectTagName, clientId } ) {\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<HTMLElementControl\n\t\t\t\ttagName={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\tclientId={ clientId }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default function PostContentEdit( {\n\tcontext,\n\tattributes: { tagName = 'div' },\n\tsetAttributes,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst hasAlreadyRendered = useHasRecursion( contextPostId );\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\tconst handleSelectTagName = ( value ) => {\n\t\tsetAttributes( { tagName: value } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<PostContentEditControls\n\t\t\t\ttagName={ tagName }\n\t\t\t\tonSelectTagName={ handleSelectTagName }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<RecursionProvider uniqueId={ contextPostId }>\n\t\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t\t<Content\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\t\t\tlayoutClassNames={ layoutClassNames }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Placeholder layoutClassNames={ layoutClassNames } />\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,12 @@ const metadata = {
|
|
|
16
16
|
description: "Displays the contents of a post or page.",
|
|
17
17
|
textdomain: "default",
|
|
18
18
|
usesContext: ["postId", "postType", "queryId"],
|
|
19
|
+
attributes: {
|
|
20
|
+
tagName: {
|
|
21
|
+
type: "string",
|
|
22
|
+
"default": "div"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
19
25
|
example: {
|
|
20
26
|
viewportWidth: 350
|
|
21
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["postContent","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","usesContext","example","viewportWidth","supports","align","html","layout","background","backgroundImage","backgroundSize","__experimentalDefaultControls","dimensions","minHeight","spacing","blockGap","padding","margin","color","gradients","heading","link","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","edit","settings","init"],"sources":["@wordpress/block-library/src/post-content/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,UAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAN,6BAAA;QAAAM,MAAA;QAAAD,OAAA;MAAA;IAAA;IAAAE,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAV,6BAAA;QAAAH,UAAA;QAAAc,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAApB,6BAAA;QAAAa,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAAf,KAAA;MAAAgB,KAAA;MAAAC,KAAA;MAAAxB,6BAAA;QAAAsB,MAAA;QAAAf,KAAA;QAAAgB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;
|
|
1
|
+
{"version":3,"names":["postContent","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","usesContext","attributes","tagName","type","example","viewportWidth","supports","align","html","layout","background","backgroundImage","backgroundSize","__experimentalDefaultControls","dimensions","minHeight","spacing","blockGap","padding","margin","color","gradients","heading","link","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","edit","settings","init"],"sources":["@wordpress/block-library/src/post-content/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;EAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,UAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAN,6BAAA;QAAAM,MAAA;QAAAD,OAAA;MAAA;IAAA;IAAAE,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAV,6BAAA;QAAAH,UAAA;QAAAc,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAApB,6BAAA;QAAAa,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAAf,KAAA;MAAAgB,KAAA;MAAAC,KAAA;MAAAxB,6BAAA;QAAAsB,MAAA;QAAAf,KAAA;QAAAgB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAE5C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM6C,QAAQ,GAAG;EACvBlD,IAAI;EACJiD;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMlD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEgD;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* Internal dependencies
|
|
3
8
|
*/
|
|
4
9
|
import migrateFontFamily from '../utils/migrate-font-family';
|
|
10
|
+
const v2 = {
|
|
11
|
+
attributes: {
|
|
12
|
+
textAlign: {
|
|
13
|
+
type: 'string'
|
|
14
|
+
},
|
|
15
|
+
format: {
|
|
16
|
+
type: 'string'
|
|
17
|
+
},
|
|
18
|
+
isLink: {
|
|
19
|
+
type: 'boolean',
|
|
20
|
+
default: false,
|
|
21
|
+
role: 'content'
|
|
22
|
+
},
|
|
23
|
+
displayType: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
default: 'date'
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
supports: {
|
|
29
|
+
html: false,
|
|
30
|
+
color: {
|
|
31
|
+
gradients: true,
|
|
32
|
+
link: true,
|
|
33
|
+
__experimentalDefaultControls: {
|
|
34
|
+
background: true,
|
|
35
|
+
text: true,
|
|
36
|
+
link: true
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
spacing: {
|
|
40
|
+
margin: true,
|
|
41
|
+
padding: true
|
|
42
|
+
},
|
|
43
|
+
typography: {
|
|
44
|
+
fontSize: true,
|
|
45
|
+
lineHeight: true,
|
|
46
|
+
__experimentalFontFamily: true,
|
|
47
|
+
__experimentalFontWeight: true,
|
|
48
|
+
__experimentalFontStyle: true,
|
|
49
|
+
__experimentalTextTransform: true,
|
|
50
|
+
__experimentalTextDecoration: true,
|
|
51
|
+
__experimentalLetterSpacing: true,
|
|
52
|
+
__experimentalDefaultControls: {
|
|
53
|
+
fontSize: true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
interactivity: {
|
|
57
|
+
clientNavigation: true
|
|
58
|
+
},
|
|
59
|
+
__experimentalBorder: {
|
|
60
|
+
radius: true,
|
|
61
|
+
color: true,
|
|
62
|
+
width: true,
|
|
63
|
+
style: true,
|
|
64
|
+
__experimentalDefaultControls: {
|
|
65
|
+
radius: true,
|
|
66
|
+
color: true,
|
|
67
|
+
width: true,
|
|
68
|
+
style: true
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
save() {
|
|
73
|
+
return null;
|
|
74
|
+
},
|
|
75
|
+
migrate({
|
|
76
|
+
className,
|
|
77
|
+
displayType,
|
|
78
|
+
metadata,
|
|
79
|
+
...otherAttributes
|
|
80
|
+
}) {
|
|
81
|
+
if (displayType === 'date' || displayType === 'modified') {
|
|
82
|
+
if (displayType === 'modified') {
|
|
83
|
+
className = clsx(className, 'wp-block-post-date__modified-date');
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
...otherAttributes,
|
|
87
|
+
className,
|
|
88
|
+
metadata: {
|
|
89
|
+
...metadata,
|
|
90
|
+
bindings: {
|
|
91
|
+
datetime: {
|
|
92
|
+
source: 'core/post-data',
|
|
93
|
+
args: {
|
|
94
|
+
key: displayType
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
isEligible(attributes) {
|
|
103
|
+
// If there's neither an explicit `datetime` attribute nor a block binding for that attribute,
|
|
104
|
+
// then we're dealing with an old version of the block.
|
|
105
|
+
return !attributes.datetime && !attributes?.metadata?.bindings?.datetime;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
5
108
|
const v1 = {
|
|
6
109
|
attributes: {
|
|
7
110
|
textAlign: {
|
|
@@ -50,5 +153,5 @@ const v1 = {
|
|
|
50
153
|
*
|
|
51
154
|
* See block-deprecation.md
|
|
52
155
|
*/
|
|
53
|
-
export default [v1];
|
|
156
|
+
export default [v2, v1];
|
|
54
157
|
//# sourceMappingURL=deprecated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["migrateFontFamily","
|
|
1
|
+
{"version":3,"names":["clsx","migrateFontFamily","v2","attributes","textAlign","type","format","isLink","default","role","displayType","supports","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","save","migrate","className","metadata","otherAttributes","bindings","datetime","source","args","key","isEligible","v1","fontFamily"],"sources":["@wordpress/block-library/src/post-date/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst v2 = {\n\tattributes: {\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tformat: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tisLink: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t\trole: 'content',\n\t\t},\n\t\tdisplayType: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'date',\n\t\t},\n\t},\n\tsupports: {\n\t\thtml: false,\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\tlink: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t\tlink: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\tcolor: true,\n\t\t\twidth: true,\n\t\t\tstyle: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t\tcolor: true,\n\t\t\t\twidth: true,\n\t\t\t\tstyle: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave() {\n\t\treturn null;\n\t},\n\tmigrate( { className, displayType, metadata, ...otherAttributes } ) {\n\t\tif ( displayType === 'date' || displayType === 'modified' ) {\n\t\t\tif ( displayType === 'modified' ) {\n\t\t\t\tclassName = clsx(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'wp-block-post-date__modified-date'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...otherAttributes,\n\t\t\t\tclassName,\n\t\t\t\tmetadata: {\n\t\t\t\t\t...metadata,\n\t\t\t\t\tbindings: {\n\t\t\t\t\t\tdatetime: {\n\t\t\t\t\t\t\tsource: 'core/post-data',\n\t\t\t\t\t\t\targs: { key: displayType },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t},\n\tisEligible( attributes ) {\n\t\t// If there's neither an explicit `datetime` attribute nor a block binding for that attribute,\n\t\t// then we're dealing with an old version of the block.\n\t\treturn (\n\t\t\t! attributes.datetime && ! attributes?.metadata?.bindings?.datetime\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tformat: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tisLink: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tsupports: {\n\t\thtml: false,\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\tlink: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t},\n\t},\n\tsave() {\n\t\treturn null;\n\t},\n\tmigrate: migrateFontFamily,\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v2, v1 ];\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,14 +7,14 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
10
|
-
import { useMemo, useState } from '@wordpress/element';
|
|
10
|
+
import { useEffect, useMemo, useState } from '@wordpress/element';
|
|
11
11
|
import { dateI18n, humanTimeDiff, getSettings as getDateSettings } from '@wordpress/date';
|
|
12
|
-
import { AlignmentControl, BlockControls, InspectorControls, useBlockProps, __experimentalDateFormatPicker as DateFormatPicker, __experimentalPublishDateTimePicker as PublishDateTimePicker } from '@wordpress/block-editor';
|
|
12
|
+
import { AlignmentControl, BlockControls, InspectorControls, store as blockEditorStore, useBlockProps, __experimentalDateFormatPicker as DateFormatPicker, __experimentalPublishDateTimePicker as PublishDateTimePicker } from '@wordpress/block-editor';
|
|
13
13
|
import { Dropdown, ToolbarGroup, ToolbarButton, ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
14
14
|
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
15
15
|
import { edit } from '@wordpress/icons';
|
|
16
16
|
import { DOWN } from '@wordpress/keycodes';
|
|
17
|
-
import { useSelect } from '@wordpress/data';
|
|
17
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Internal dependencies
|
|
@@ -23,22 +23,22 @@ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
|
23
23
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
24
24
|
export default function PostDateEdit({
|
|
25
25
|
attributes: {
|
|
26
|
+
datetime,
|
|
26
27
|
textAlign,
|
|
27
28
|
format,
|
|
28
29
|
isLink,
|
|
29
|
-
|
|
30
|
+
metadata
|
|
30
31
|
},
|
|
31
32
|
context: {
|
|
32
|
-
postId,
|
|
33
33
|
postType: postTypeSlug,
|
|
34
34
|
queryId
|
|
35
35
|
},
|
|
36
36
|
setAttributes
|
|
37
37
|
}) {
|
|
38
|
+
const displayType = metadata?.bindings?.datetime?.source === 'core/post-data' && metadata?.bindings?.datetime?.args?.key;
|
|
38
39
|
const blockProps = useBlockProps({
|
|
39
40
|
className: clsx({
|
|
40
|
-
[`has-text-align-${textAlign}`]: textAlign
|
|
41
|
-
[`wp-block-post-date__modified-date`]: displayType === 'modified'
|
|
41
|
+
[`has-text-align-${textAlign}`]: textAlign
|
|
42
42
|
})
|
|
43
43
|
});
|
|
44
44
|
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
@@ -50,19 +50,32 @@ export default function PostDateEdit({
|
|
|
50
50
|
const popoverProps = useMemo(() => ({
|
|
51
51
|
anchor: popoverAnchor
|
|
52
52
|
}), [popoverAnchor]);
|
|
53
|
+
const {
|
|
54
|
+
__unstableMarkNextChangeAsNotPersistent
|
|
55
|
+
} = useDispatch(blockEditorStore);
|
|
56
|
+
|
|
57
|
+
// We need to set the datetime to a default value upon first loading
|
|
58
|
+
// to discern the block from its legacy version (which would default
|
|
59
|
+
// to the containing post's publish date).
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
if (datetime === undefined) {
|
|
62
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
63
|
+
setAttributes({
|
|
64
|
+
datetime: new Date()
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}, [datetime]);
|
|
53
68
|
const isDescendentOfQueryLoop = Number.isFinite(queryId);
|
|
54
69
|
const dateSettings = getDateSettings();
|
|
55
70
|
const [siteFormat = dateSettings.formats.date] = useEntityProp('root', 'site', 'date_format');
|
|
56
71
|
const [siteTimeFormat = dateSettings.formats.time] = useEntityProp('root', 'site', 'time_format');
|
|
57
|
-
const [date, setDate] = useEntityProp('postType', postTypeSlug, displayType, postId);
|
|
58
72
|
const postType = useSelect(select => postTypeSlug ? select(coreStore).getPostType(postTypeSlug) : null, [postTypeSlug]);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
dateTime: dateI18n('c', date),
|
|
73
|
+
let postDate = /*#__PURE__*/_jsx("time", {
|
|
74
|
+
dateTime: dateI18n('c', datetime),
|
|
62
75
|
ref: setPopoverAnchor,
|
|
63
|
-
children: format === 'human-diff' ? humanTimeDiff(
|
|
64
|
-
})
|
|
65
|
-
if (isLink &&
|
|
76
|
+
children: format === 'human-diff' ? humanTimeDiff(datetime) : dateI18n(format || siteFormat, datetime)
|
|
77
|
+
});
|
|
78
|
+
if (isLink && datetime) {
|
|
66
79
|
postDate = /*#__PURE__*/_jsx("a", {
|
|
67
80
|
href: "#post-date-pseudo-link",
|
|
68
81
|
onClick: event => event.preventDefault(),
|
|
@@ -79,14 +92,17 @@ export default function PostDateEdit({
|
|
|
79
92
|
textAlign: nextAlign
|
|
80
93
|
});
|
|
81
94
|
}
|
|
82
|
-
}),
|
|
95
|
+
}), displayType !== 'modified' && !isDescendentOfQueryLoop && /*#__PURE__*/_jsx(ToolbarGroup, {
|
|
83
96
|
children: /*#__PURE__*/_jsx(Dropdown, {
|
|
84
97
|
popoverProps: popoverProps,
|
|
85
98
|
renderContent: ({
|
|
86
99
|
onClose
|
|
87
100
|
}) => /*#__PURE__*/_jsx(PublishDateTimePicker, {
|
|
88
|
-
|
|
89
|
-
|
|
101
|
+
title: displayType === 'date' ? __('Publish Date') : __('Date'),
|
|
102
|
+
currentDate: datetime,
|
|
103
|
+
onChange: newDatetime => setAttributes({
|
|
104
|
+
datetime: newDatetime
|
|
105
|
+
}),
|
|
90
106
|
is12Hour: is12HourFormat(siteTimeFormat),
|
|
91
107
|
onClose: onClose,
|
|
92
108
|
dateOrder: /* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */
|
|
@@ -117,9 +133,9 @@ export default function PostDateEdit({
|
|
|
117
133
|
label: __('Settings'),
|
|
118
134
|
resetAll: () => {
|
|
119
135
|
setAttributes({
|
|
136
|
+
datetime: undefined,
|
|
120
137
|
format: undefined,
|
|
121
|
-
isLink: false
|
|
122
|
-
displayType: 'date'
|
|
138
|
+
isLink: false
|
|
123
139
|
});
|
|
124
140
|
},
|
|
125
141
|
dropdownMenuProps: dropdownMenuProps,
|
|
@@ -156,22 +172,6 @@ export default function PostDateEdit({
|
|
|
156
172
|
}),
|
|
157
173
|
checked: isLink
|
|
158
174
|
})
|
|
159
|
-
}), /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
160
|
-
hasValue: () => displayType !== 'date',
|
|
161
|
-
label: __('Display last modified date'),
|
|
162
|
-
onDeselect: () => setAttributes({
|
|
163
|
-
displayType: 'date'
|
|
164
|
-
}),
|
|
165
|
-
isShownByDefault: true,
|
|
166
|
-
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
167
|
-
__nextHasNoMarginBottom: true,
|
|
168
|
-
label: __('Display last modified date'),
|
|
169
|
-
onChange: value => setAttributes({
|
|
170
|
-
displayType: value ? 'modified' : 'date'
|
|
171
|
-
}),
|
|
172
|
-
checked: displayType === 'modified',
|
|
173
|
-
help: __('Only shows if the post has been modified')
|
|
174
|
-
})
|
|
175
175
|
})]
|
|
176
176
|
})
|
|
177
177
|
}), /*#__PURE__*/_jsx("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","useState","dateI18n","humanTimeDiff","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","sprintf","edit","DOWN","useSelect","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","dropdownMenuProps","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","getPostType","dateLabel","postDate","dateTime","ref","children","href","onClick","event","preventDefault","group","value","onChange","nextAlign","renderContent","onClose","currentDate","is12Hour","is12HourFormat","dateOrder","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","icon","title","onKeyDown","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","defaultFormat","nextFormat","labels","singular_name","toLowerCase","__nextHasNoMarginBottom","checked","help","test"],"sources":["@wordpress/block-library/src/post-date/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `wp-block-post-date__modified-date` ]: displayType === 'modified',\n\t\t} ),\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tconst dateLabel =\n\t\tdisplayType === 'date' ? __( 'Post Date' ) : __( 'Post Modified Date' );\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\tdateLabel\n\t);\n\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ date &&\n\t\t\t\t\tdisplayType === 'date' &&\n\t\t\t\t\t! isDescendentOfQueryLoop && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tdateOrder={\n\t\t\t\t\t\t\t\t\t\t\t/* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'dmy', 'date order' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t! isOpen &&\n\t\t\t\t\t\t\t\t\t\t\tevent.keyCode === DOWN\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tformat: undefined,\n\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\tdisplayType: 'date',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! format }\n\t\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { format: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => isLink !== false }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayType !== 'date' }\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayType: 'date' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Only shows if the post has been modified'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useState","dateI18n","humanTimeDiff","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","blockEditorStore","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","sprintf","edit","DOWN","useSelect","useDispatch","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PostDateEdit","attributes","datetime","textAlign","format","isLink","metadata","context","postType","postTypeSlug","queryId","setAttributes","displayType","bindings","source","args","key","blockProps","className","dropdownMenuProps","popoverAnchor","setPopoverAnchor","popoverProps","anchor","__unstableMarkNextChangeAsNotPersistent","undefined","Date","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","select","getPostType","postDate","dateTime","ref","children","href","onClick","event","preventDefault","group","value","onChange","nextAlign","renderContent","onClose","title","currentDate","newDatetime","is12Hour","is12HourFormat","dateOrder","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","icon","onKeyDown","label","resetAll","hasValue","onDeselect","isShownByDefault","defaultFormat","nextFormat","labels","singular_name","toLowerCase","__nextHasNoMarginBottom","checked","test"],"sources":["@wordpress/block-library/src/post-date/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function PostDateEdit( {\n\tattributes: { datetime, textAlign, format, isLink, metadata },\n\tcontext: { postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst displayType =\n\t\tmetadata?.bindings?.datetime?.source === 'core/post-data' &&\n\t\tmetadata?.bindings?.datetime?.args?.key;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// We need to set the datetime to a default value upon first loading\n\t// to discern the block from its legacy version (which would default\n\t// to the containing post's publish date).\n\tuseEffect( () => {\n\t\tif ( datetime === undefined ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { datetime: new Date() } );\n\t\t}\n\t}, [ datetime ] );\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tlet postDate = (\n\t\t<time dateTime={ dateI18n( 'c', datetime ) } ref={ setPopoverAnchor }>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( datetime )\n\t\t\t\t: dateI18n( format || siteFormat, datetime ) }\n\t\t</time>\n\t);\n\n\tif ( isLink && datetime ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ displayType !== 'modified' && ! isDescendentOfQueryLoop && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\tdisplayType === 'date'\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Publish Date' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Date' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrentDate={ datetime }\n\t\t\t\t\t\t\t\t\tonChange={ ( newDatetime ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tdatetime: newDatetime,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tdateOrder={\n\t\t\t\t\t\t\t\t\t\t/* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */\n\t\t\t\t\t\t\t\t\t\t_x( 'dmy', 'date order' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t/>\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</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tdatetime: undefined,\n\t\t\t\t\t\t\tformat: undefined,\n\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! format }\n\t\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { format: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => isLink !== false }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,10 @@ const metadata = {
|
|
|
16
16
|
description: "Display the publish date for an entry such as a post or page.",
|
|
17
17
|
textdomain: "default",
|
|
18
18
|
attributes: {
|
|
19
|
+
datetime: {
|
|
20
|
+
type: "string",
|
|
21
|
+
role: "content"
|
|
22
|
+
},
|
|
19
23
|
textAlign: {
|
|
20
24
|
type: "string"
|
|
21
25
|
},
|
|
@@ -26,10 +30,6 @@ const metadata = {
|
|
|
26
30
|
type: "boolean",
|
|
27
31
|
"default": false,
|
|
28
32
|
role: "content"
|
|
29
|
-
},
|
|
30
|
-
displayType: {
|
|
31
|
-
type: "string",
|
|
32
|
-
"default": "date"
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
usesContext: ["postId", "postType", "queryId"],
|