@wordpress/block-library 9.27.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/build/categories/edit.js +15 -3
- package/build/categories/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +4 -2
- package/build/cover/edit/inspector-controls.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/paragraph/edit.js +2 -2
- package/build/paragraph/edit.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/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 +6 -2
- package/build/video/edit.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/inspector-controls.js +4 -2
- package/build-module/cover/edit/inspector-controls.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/paragraph/edit.js +2 -2
- package/build-module/paragraph/edit.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/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 +6 -2
- package/build-module/video/edit.js.map +1 -1
- package/build-style/editor-rtl.css +67 -10
- package/build-style/editor.css +67 -10
- package/build-style/navigation/editor-rtl.css +6 -6
- package/build-style/navigation/editor.css +6 -6
- 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 +1 -0
- package/build-style/style.css +1 -0
- package/build-style/video/style-rtl.css +1 -0
- package/build-style/video/style.css +1 -0
- package/package.json +35 -35
- package/src/categories/edit.js +13 -1
- package/src/cover/edit/inspector-controls.js +6 -2
- package/src/editor.scss +1 -0
- package/src/file/edit.js +4 -1
- package/src/latest-posts/edit.js +0 -2
- package/src/page-list/editor.scss +0 -6
- package/src/paragraph/edit.js +2 -2
- 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/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 +7 -2
- package/src/video/index.php +91 -0
- package/src/video/style.native.scss +1 -0
- package/src/video/style.scss +1 -0
- package/build/cover/edit/poster-image.js +0 -81
- package/build/cover/edit/poster-image.js.map +0 -1
- package/build/video/poster-image.js +0 -81
- package/build/video/poster-image.js.map +0 -1
- package/build-module/cover/edit/poster-image.js +0 -74
- package/build-module/cover/edit/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/cover/edit/poster-image.js +0 -91
- package/src/video/poster-image.js +0 -91
|
@@ -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"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["postDate","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","
|
|
1
|
+
{"version":3,"names":["postDate","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","datetime","type","role","textAlign","format","isLink","usesContext","example","viewportWidth","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","edit","deprecated","variations","settings","init"],"sources":["@wordpress/block-library/src/post-date/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postDate 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';\nimport deprecated from './deprecated';\nimport variations from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;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,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAAC,IAAA;IAAA;IAAAC,SAAA;MAAAF,IAAA;IAAA;IAAAG,MAAA;MAAAH,IAAA;IAAA;IAAAI,MAAA;MAAAJ,IAAA;MAAA;MAAAC,IAAA;IAAA;EAAA;EAAAI,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAArB,KAAA;MAAAsB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAArB,KAAA;QAAAsB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE3C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM4C,QAAQ,GAAG;EACvBjD,IAAI;EACJ8C,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMjD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE+C;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -4,14 +4,43 @@
|
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { postDate } from '@wordpress/icons';
|
|
6
6
|
const variations = [{
|
|
7
|
+
name: 'post-date',
|
|
8
|
+
title: __('Post Date'),
|
|
9
|
+
description: __("Display a post's publish date."),
|
|
10
|
+
attributes: {
|
|
11
|
+
metadata: {
|
|
12
|
+
bindings: {
|
|
13
|
+
datetime: {
|
|
14
|
+
source: 'core/post-data',
|
|
15
|
+
args: {
|
|
16
|
+
key: 'date'
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
scope: ['block', 'inserter', 'transform'],
|
|
23
|
+
isActive: blockAttributes => blockAttributes?.metadata?.bindings?.datetime?.source === 'core/post-data' && blockAttributes?.metadata?.bindings?.datetime?.args?.key === 'date',
|
|
24
|
+
icon: postDate
|
|
25
|
+
}, {
|
|
7
26
|
name: 'post-date-modified',
|
|
8
27
|
title: __('Modified Date'),
|
|
9
28
|
description: __("Display a post's last updated date."),
|
|
10
29
|
attributes: {
|
|
11
|
-
|
|
30
|
+
metadata: {
|
|
31
|
+
bindings: {
|
|
32
|
+
datetime: {
|
|
33
|
+
source: 'core/post-data',
|
|
34
|
+
args: {
|
|
35
|
+
key: 'modified'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
className: 'wp-block-post-date__modified-date'
|
|
12
41
|
},
|
|
13
|
-
scope: ['block', 'inserter'],
|
|
14
|
-
isActive: blockAttributes => blockAttributes
|
|
42
|
+
scope: ['block', 'inserter', 'transform'],
|
|
43
|
+
isActive: blockAttributes => blockAttributes?.metadata?.bindings?.datetime?.source === 'core/post-data' && blockAttributes?.metadata?.bindings?.datetime?.args?.key === 'modified',
|
|
15
44
|
icon: postDate
|
|
16
45
|
}];
|
|
17
46
|
export default variations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","postDate","variations","name","title","description","attributes","
|
|
1
|
+
{"version":3,"names":["__","postDate","variations","name","title","description","attributes","metadata","bindings","datetime","source","args","key","scope","isActive","blockAttributes","icon","className"],"sources":["@wordpress/block-library/src/post-date/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { postDate } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'post-date',\n\t\ttitle: __( 'Post Date' ),\n\t\tdescription: __( \"Display a post's publish date.\" ),\n\t\tattributes: {\n\t\t\tmetadata: {\n\t\t\t\tbindings: {\n\t\t\t\t\tdatetime: {\n\t\t\t\t\t\tsource: 'core/post-data',\n\t\t\t\t\t\targs: { key: 'date' },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes?.metadata?.bindings?.datetime?.source ===\n\t\t\t\t'core/post-data' &&\n\t\t\tblockAttributes?.metadata?.bindings?.datetime?.args?.key === 'date',\n\t\ticon: postDate,\n\t},\n\t{\n\t\tname: 'post-date-modified',\n\t\ttitle: __( 'Modified Date' ),\n\t\tdescription: __( \"Display a post's last updated date.\" ),\n\t\tattributes: {\n\t\t\tmetadata: {\n\t\t\t\tbindings: {\n\t\t\t\t\tdatetime: {\n\t\t\t\t\t\tsource: 'core/post-data',\n\t\t\t\t\t\targs: { key: 'modified' },\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tclassName: 'wp-block-post-date__modified-date',\n\t\t},\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes?.metadata?.bindings?.datetime?.source ===\n\t\t\t\t'core/post-data' &&\n\t\t\tblockAttributes?.metadata?.bindings?.datetime?.args?.key ===\n\t\t\t\t'modified',\n\t\ticon: postDate,\n\t},\n];\n\nexport default variations;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,MAAMC,UAAU,GAAG,CAClB;EACCC,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAEJ,EAAE,CAAE,WAAY,CAAC;EACxBK,WAAW,EAAEL,EAAE,CAAE,gCAAiC,CAAC;EACnDM,UAAU,EAAE;IACXC,QAAQ,EAAE;MACTC,QAAQ,EAAE;QACTC,QAAQ,EAAE;UACTC,MAAM,EAAE,gBAAgB;UACxBC,IAAI,EAAE;YAAEC,GAAG,EAAE;UAAO;QACrB;MACD;IACD;EACD,CAAC;EACDC,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,EAAER,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,KACpD,gBAAgB,IACjBK,eAAe,EAAER,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEE,IAAI,EAAEC,GAAG,KAAK,MAAM;EACpEI,IAAI,EAAEf;AACP,CAAC,EACD;EACCE,IAAI,EAAE,oBAAoB;EAC1BC,KAAK,EAAEJ,EAAE,CAAE,eAAgB,CAAC;EAC5BK,WAAW,EAAEL,EAAE,CAAE,qCAAsC,CAAC;EACxDM,UAAU,EAAE;IACXC,QAAQ,EAAE;MACTC,QAAQ,EAAE;QACTC,QAAQ,EAAE;UACTC,MAAM,EAAE,gBAAgB;UACxBC,IAAI,EAAE;YAAEC,GAAG,EAAE;UAAW;QACzB;MACD;IACD,CAAC;IACDK,SAAS,EAAE;EACZ,CAAC;EACDJ,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,EAAER,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,KACpD,gBAAgB,IACjBK,eAAe,EAAER,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEE,IAAI,EAAEC,GAAG,KACvD,UAAU;EACZI,IAAI,EAAEf;AACP,CAAC,CACD;AAED,eAAeC,UAAU","ignoreList":[]}
|