@wordpress/editor 14.43.0 → 14.44.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/README.md +8 -0
- package/build/components/autocompleters/index.cjs +3 -0
- package/build/components/autocompleters/index.cjs.map +2 -2
- package/build/components/autocompleters/link.cjs +71 -0
- package/build/components/autocompleters/link.cjs.map +7 -0
- package/build/components/collab-sidebar/index.cjs.map +2 -2
- package/build/components/collaborators-overlay/cursor-dom-utils.cjs +1 -1
- package/build/components/collaborators-overlay/cursor-dom-utils.cjs.map +2 -2
- package/build/components/collaborators-overlay/timing-utils.cjs +1 -1
- package/build/components/collaborators-overlay/timing-utils.cjs.map +2 -2
- package/build/components/collaborators-overlay/use-render-cursors.cjs.map +2 -2
- package/build/components/error-boundary/index.cjs +1 -1
- package/build/components/error-boundary/index.cjs.map +2 -2
- package/build/components/post-revisions-panel/index.cjs +44 -42
- package/build/components/post-revisions-panel/index.cjs.map +2 -2
- package/build/components/post-revisions-preview/revisions-slider.cjs +9 -17
- package/build/components/post-revisions-preview/revisions-slider.cjs.map +2 -2
- package/build/components/post-title/index.cjs +2 -2
- package/build/components/post-title/index.cjs.map +2 -2
- package/build/components/sidebar/index.cjs +7 -1
- package/build/components/sidebar/index.cjs.map +2 -2
- package/build/components/sidebar/post-revision-summary.cjs +11 -2
- package/build/components/sidebar/post-revision-summary.cjs.map +2 -2
- package/build/components/sidebar/post-summary.cjs +0 -18
- package/build/components/sidebar/post-summary.cjs.map +2 -2
- package/build/components/style-book/categories.cjs.map +2 -2
- package/build/components/style-book/examples.cjs +1 -1
- package/build/components/style-book/examples.cjs.map +2 -2
- package/build/components/style-book/types.cjs.map +1 -1
- package/build/components/styles-canvas/revisions.cjs +2 -2
- package/build/components/styles-canvas/revisions.cjs.map +1 -1
- package/build/components/sync-connection-error-modal/index.cjs +66 -74
- package/build/components/sync-connection-error-modal/index.cjs.map +3 -3
- package/build/components/sync-connection-error-modal/use-retry-countdown.cjs +32 -9
- package/build/components/sync-connection-error-modal/use-retry-countdown.cjs.map +2 -2
- package/build/hooks/default-autocompleters.cjs +1 -1
- package/build/hooks/default-autocompleters.cjs.map +2 -2
- package/build/store/private-actions.cjs +1 -6
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-selectors.cjs +4 -6
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +1 -1
- package/build/store/reducer.cjs.map +2 -2
- package/build-module/components/autocompleters/index.mjs +4 -2
- package/build-module/components/autocompleters/index.mjs.map +2 -2
- package/build-module/components/autocompleters/link.mjs +40 -0
- package/build-module/components/autocompleters/link.mjs.map +7 -0
- package/build-module/components/collab-sidebar/index.mjs.map +2 -2
- package/build-module/components/collaborators-overlay/cursor-dom-utils.mjs +1 -1
- package/build-module/components/collaborators-overlay/cursor-dom-utils.mjs.map +2 -2
- package/build-module/components/collaborators-overlay/timing-utils.mjs +1 -1
- package/build-module/components/collaborators-overlay/timing-utils.mjs.map +2 -2
- package/build-module/components/collaborators-overlay/use-render-cursors.mjs.map +2 -2
- package/build-module/components/error-boundary/index.mjs +1 -1
- package/build-module/components/error-boundary/index.mjs.map +2 -2
- package/build-module/components/post-revisions-panel/index.mjs +44 -42
- package/build-module/components/post-revisions-panel/index.mjs.map +2 -2
- package/build-module/components/post-revisions-preview/revisions-slider.mjs +9 -17
- package/build-module/components/post-revisions-preview/revisions-slider.mjs.map +2 -2
- package/build-module/components/post-title/index.mjs +2 -2
- package/build-module/components/post-title/index.mjs.map +2 -2
- package/build-module/components/sidebar/index.mjs +7 -1
- package/build-module/components/sidebar/index.mjs.map +2 -2
- package/build-module/components/sidebar/post-revision-summary.mjs +15 -3
- package/build-module/components/sidebar/post-revision-summary.mjs.map +2 -2
- package/build-module/components/sidebar/post-summary.mjs +1 -18
- package/build-module/components/sidebar/post-summary.mjs.map +2 -2
- package/build-module/components/style-book/categories.mjs.map +2 -2
- package/build-module/components/style-book/examples.mjs +1 -1
- package/build-module/components/style-book/examples.mjs.map +2 -2
- package/build-module/components/styles-canvas/revisions.mjs +2 -2
- package/build-module/components/styles-canvas/revisions.mjs.map +1 -1
- package/build-module/components/sync-connection-error-modal/index.mjs +66 -75
- package/build-module/components/sync-connection-error-modal/index.mjs.map +2 -2
- package/build-module/components/sync-connection-error-modal/use-retry-countdown.mjs +33 -10
- package/build-module/components/sync-connection-error-modal/use-retry-countdown.mjs.map +2 -2
- package/build-module/hooks/default-autocompleters.mjs +2 -2
- package/build-module/hooks/default-autocompleters.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +1 -6
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +4 -6
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +1 -1
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-style/style-rtl.css +40 -30
- package/build-style/style.css +40 -30
- package/build-types/bindings/post-data.d.ts +3 -3
- package/build-types/bindings/term-data.d.ts +14 -14
- package/build-types/components/autocompleters/index.d.ts +1 -0
- package/build-types/components/autocompleters/link.d.ts +12 -0
- package/build-types/components/autocompleters/link.d.ts.map +1 -0
- package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
- package/build-types/components/collaborators-overlay/use-render-cursors.d.ts.map +1 -1
- package/build-types/components/keyboard-shortcut-help-modal/config.d.ts +11 -11
- package/build-types/components/post-actions/set-as-homepage.d.ts +1 -1
- package/build-types/components/post-actions/set-as-posts-page.d.ts +1 -1
- package/build-types/components/post-format/index.d.ts +10 -10
- package/build-types/components/post-locked-modal/index.d.ts +2 -2
- package/build-types/components/post-revisions-panel/index.d.ts.map +1 -1
- package/build-types/components/post-revisions-preview/revisions-slider.d.ts.map +1 -1
- package/build-types/components/post-status/index.d.ts +10 -10
- package/build-types/components/post-visibility/utils.d.ts +6 -6
- package/build-types/components/sidebar/index.d.ts.map +1 -1
- package/build-types/components/sidebar/post-revision-summary.d.ts.map +1 -1
- package/build-types/components/sidebar/post-summary.d.ts +0 -3
- package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
- package/build-types/components/style-book/categories.d.ts.map +1 -1
- package/build-types/components/style-book/examples.d.ts.map +1 -1
- package/build-types/components/style-book/types.d.ts +1 -13
- package/build-types/components/style-book/types.d.ts.map +1 -1
- package/build-types/components/sync-connection-error-modal/index.d.ts +0 -14
- package/build-types/components/sync-connection-error-modal/index.d.ts.map +1 -1
- package/build-types/components/sync-connection-error-modal/use-retry-countdown.d.ts.map +1 -1
- package/build-types/hooks/custom-sources-backwards-compatibility.d.ts +1 -1
- package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -1
- package/build-types/hooks/pattern-overrides.d.ts +1 -1
- package/build-types/hooks/pattern-overrides.d.ts.map +1 -1
- package/build-types/store/private-actions.d.ts.map +1 -1
- package/build-types/store/private-selectors.d.ts.map +1 -1
- package/build-types/store/reducer.d.ts +10 -10
- package/build-types/store/reducer.d.ts.map +1 -1
- package/build-types/utils/pageTypeBadge.d.ts +1 -1
- package/build-types/utils/pageTypeBadge.d.ts.map +1 -1
- package/package.json +45 -45
- package/src/components/autocompleters/index.js +1 -0
- package/src/components/autocompleters/link.js +47 -0
- package/src/components/autocompleters/style.scss +6 -0
- package/src/components/collab-sidebar/index.js +1 -0
- package/src/components/collaborators-overlay/cursor-dom-utils.ts +1 -1
- package/src/components/collaborators-overlay/timing-utils.ts +1 -1
- package/src/components/collaborators-overlay/use-render-cursors.ts +4 -2
- package/src/components/error-boundary/index.js +1 -1
- package/src/components/error-boundary/index.native.js +1 -1
- package/src/components/post-revisions-panel/index.js +46 -44
- package/src/components/post-revisions-preview/revisions-slider.js +9 -27
- package/src/components/post-title/index.js +3 -3
- package/src/components/sidebar/index.js +7 -1
- package/src/components/sidebar/post-revision-summary.js +13 -3
- package/src/components/sidebar/post-summary.js +1 -18
- package/src/components/style-book/categories.ts +0 -1
- package/src/components/style-book/examples.tsx +6 -12
- package/src/components/style-book/types.ts +1 -18
- package/src/components/styles-canvas/revisions.js +2 -2
- package/src/components/sync-connection-error-modal/index.tsx +151 -163
- package/src/components/sync-connection-error-modal/use-retry-countdown.ts +46 -10
- package/src/hooks/default-autocompleters.js +2 -2
- package/src/hooks/test/default-autocompleters.js +2 -2
- package/src/store/private-actions.js +1 -6
- package/src/store/private-selectors.js +4 -13
- package/src/store/reducer.js +9 -8
|
@@ -19,29 +19,24 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
19
19
|
var { Badge } = unlock(componentsPrivateApis);
|
|
20
20
|
var DAY_IN_MILLISECONDS = 864e5;
|
|
21
21
|
var EMPTY_ARRAY = [];
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
orderby: "date",
|
|
25
|
-
order: "desc",
|
|
26
|
-
context: "embed",
|
|
27
|
-
_fields: "id,date,author"
|
|
22
|
+
var defaultLayouts = { activity: true };
|
|
23
|
+
var noop = () => {
|
|
28
24
|
};
|
|
29
|
-
var
|
|
25
|
+
var paginationInfo = {};
|
|
30
26
|
var view = {
|
|
31
27
|
type: "activity",
|
|
32
28
|
titleField: "date",
|
|
33
29
|
fields: ["author"],
|
|
34
|
-
layout: {
|
|
35
|
-
density: "compact"
|
|
36
|
-
}
|
|
30
|
+
layout: { density: "compact" }
|
|
37
31
|
};
|
|
38
32
|
var fields = [
|
|
39
33
|
{
|
|
40
34
|
id: "date",
|
|
41
35
|
label: __("Date"),
|
|
42
|
-
render: ({ item }) => {
|
|
36
|
+
render: ({ item, field }) => {
|
|
43
37
|
const dateNowInMs = getDate(null).getTime();
|
|
44
|
-
const
|
|
38
|
+
const _value = field.getValue({ item });
|
|
39
|
+
const date = getDate(_value ?? null);
|
|
45
40
|
const displayDate = dateNowInMs - date.getTime() > DAY_IN_MILLISECONDS ? dateI18n(
|
|
46
41
|
getSettings().formats.datetimeAbbreviated,
|
|
47
42
|
date
|
|
@@ -50,7 +45,7 @@ var fields = [
|
|
|
50
45
|
"time",
|
|
51
46
|
{
|
|
52
47
|
className: "editor-post-revisions-panel__revision-date",
|
|
53
|
-
dateTime:
|
|
48
|
+
dateTime: _value,
|
|
54
49
|
children: displayDate
|
|
55
50
|
}
|
|
56
51
|
);
|
|
@@ -60,35 +55,42 @@ var fields = [
|
|
|
60
55
|
},
|
|
61
56
|
authorField
|
|
62
57
|
];
|
|
63
|
-
var noop = () => {
|
|
64
|
-
};
|
|
65
|
-
var paginationInfo = {};
|
|
66
58
|
function PostRevisionsPanelContent() {
|
|
67
59
|
const { setCurrentRevisionId } = unlock(useDispatch(editorStore));
|
|
68
|
-
const {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
60
|
+
const {
|
|
61
|
+
revisionsCount,
|
|
62
|
+
revisions,
|
|
63
|
+
revisionKey,
|
|
64
|
+
isLoading,
|
|
65
|
+
lastRevisionId
|
|
66
|
+
} = useSelect((select) => {
|
|
67
|
+
const { getCurrentPostId, getCurrentPostType } = select(editorStore);
|
|
68
|
+
const { getCurrentPostRevisionsCount, getCurrentPostLastRevisionId } = select(editorStore);
|
|
69
|
+
const { getRevisions, getEntityConfig, isResolving } = select(coreStore);
|
|
70
|
+
const _postType = getCurrentPostType();
|
|
71
|
+
const entityConfig = getEntityConfig("postType", _postType);
|
|
72
|
+
const _revisionKey = entityConfig?.revisionKey || "id";
|
|
73
|
+
const revisionsQuery = {
|
|
74
|
+
per_page: 3,
|
|
75
|
+
orderby: "date",
|
|
76
|
+
order: "desc",
|
|
77
|
+
_fields: `${_revisionKey},date,author`
|
|
78
|
+
};
|
|
79
|
+
const query = [
|
|
80
|
+
"postType",
|
|
81
|
+
_postType,
|
|
82
|
+
getCurrentPostId(),
|
|
83
|
+
revisionsQuery
|
|
84
|
+
];
|
|
85
|
+
const _revisions = getRevisions(...query);
|
|
86
|
+
return {
|
|
87
|
+
revisionsCount: getCurrentPostRevisionsCount(),
|
|
88
|
+
lastRevisionId: getCurrentPostLastRevisionId(),
|
|
89
|
+
revisions: _revisions,
|
|
90
|
+
revisionKey: _revisionKey,
|
|
91
|
+
isLoading: isResolving("getRevisions", query)
|
|
92
|
+
};
|
|
93
|
+
}, []);
|
|
92
94
|
return /* @__PURE__ */ jsx(
|
|
93
95
|
PanelBody,
|
|
94
96
|
{
|
|
@@ -108,10 +110,10 @@ function PostRevisionsPanelContent() {
|
|
|
108
110
|
isLoading,
|
|
109
111
|
paginationInfo,
|
|
110
112
|
defaultLayouts,
|
|
111
|
-
getItemId: (item) => item
|
|
113
|
+
getItemId: (item) => item[revisionKey],
|
|
112
114
|
isItemClickable: () => true,
|
|
113
115
|
onClickItem: (item) => {
|
|
114
|
-
setCurrentRevisionId(item
|
|
116
|
+
setCurrentRevisionId(item[revisionKey]);
|
|
115
117
|
},
|
|
116
118
|
children: /* @__PURE__ */ jsx(DataViews.Layout, {})
|
|
117
119
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/post-revisions-panel/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { DataViews } from '@wordpress/dataviews';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { authorField } from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from '../post-last-revision/check';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\nconst DAY_IN_MILLISECONDS = 86400000;\nconst EMPTY_ARRAY = [];\
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,eAAe;AAAA,OACT;AACP,SAAS,SAAS,iBAAiB;AACnC,SAAS,iBAAiB;AAC1B,SAAS,UAAU,SAAS,eAAe,mBAAmB;AAC9D,SAAS,WAAW,mBAAmB;AACvC,SAAS,UAAU;AACnB,SAAS,mBAAmB;AAK5B,OAAO,2BAA2B;AAClC,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { DataViews } from '@wordpress/dataviews';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { authorField } from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from '../post-last-revision/check';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\nconst DAY_IN_MILLISECONDS = 86400000;\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = { activity: true };\nconst noop = () => {};\nconst paginationInfo = {};\nconst view = {\n\ttype: 'activity',\n\ttitleField: 'date',\n\tfields: [ 'author' ],\n\tlayout: { density: 'compact' },\n};\nconst fields = [\n\t{\n\t\tid: 'date',\n\t\tlabel: __( 'Date' ),\n\t\trender: ( { item, field } ) => {\n\t\t\tconst dateNowInMs = getDate( null ).getTime();\n\t\t\tconst _value = field.getValue( { item } );\n\t\t\tconst date = getDate( _value ?? null );\n\t\t\tconst displayDate =\n\t\t\t\tdateNowInMs - date.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t? dateI18n(\n\t\t\t\t\t\t\tgetSettings().formats.datetimeAbbreviated,\n\t\t\t\t\t\t\tdate\n\t\t\t\t\t )\n\t\t\t\t\t: humanTimeDiff( date );\n\t\t\treturn (\n\t\t\t\t<time\n\t\t\t\t\tclassName=\"editor-post-revisions-panel__revision-date\"\n\t\t\t\t\tdateTime={ _value }\n\t\t\t\t>\n\t\t\t\t\t{ displayDate }\n\t\t\t\t</time>\n\t\t\t);\n\t\t},\n\t\tenableSorting: false,\n\t\tenableHiding: false,\n\t},\n\tauthorField,\n];\n\nfunction PostRevisionsPanelContent() {\n\tconst { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );\n\tconst {\n\t\trevisionsCount,\n\t\trevisions,\n\t\trevisionKey,\n\t\tisLoading,\n\t\tlastRevisionId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst { getCurrentPostRevisionsCount, getCurrentPostLastRevisionId } =\n\t\t\tselect( editorStore );\n\t\tconst { getRevisions, getEntityConfig, isResolving } =\n\t\t\tselect( coreStore );\n\t\tconst _postType = getCurrentPostType();\n\t\tconst entityConfig = getEntityConfig( 'postType', _postType );\n\t\tconst _revisionKey = entityConfig?.revisionKey || 'id';\n\t\tconst revisionsQuery = {\n\t\t\tper_page: 3,\n\t\t\torderby: 'date',\n\t\t\torder: 'desc',\n\t\t\t_fields: `${ _revisionKey },date,author`,\n\t\t};\n\t\tconst query = [\n\t\t\t'postType',\n\t\t\t_postType,\n\t\t\tgetCurrentPostId(),\n\t\t\trevisionsQuery,\n\t\t];\n\t\tconst _revisions = getRevisions( ...query );\n\t\treturn {\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisions: _revisions,\n\t\t\trevisionKey: _revisionKey,\n\t\t\tisLoading: isResolving( 'getRevisions', query ),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={\n\t\t\t\t<HStack justify=\"space-between\" align=\"center\" as=\"span\">\n\t\t\t\t\t<span>{ __( 'Revisions' ) }</span>\n\t\t\t\t\t<Badge className=\"editor-post-revisions-panel__revisions-count\">\n\t\t\t\t\t\t{ revisionsCount }\n\t\t\t\t\t</Badge>\n\t\t\t\t</HStack>\n\t\t\t}\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<VStack className=\"editor-post-revisions-panel\">\n\t\t\t\t<DataViews\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ noop }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tdata={ revisions || EMPTY_ARRAY }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\tgetItemId={ ( item ) => item[ revisionKey ] }\n\t\t\t\t\tisItemClickable={ () => true }\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\tsetCurrentRevisionId( item[ revisionKey ] );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<DataViews.Layout />\n\t\t\t\t</DataViews>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-post-revisions-panel__view-all\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => setCurrentRevisionId( lastRevisionId ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'View all revisions' ) }\n\t\t\t\t</Button>\n\t\t\t</VStack>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function PostRevisionsPanel() {\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostRevisionsPanelContent />\n\t\t</PostLastRevisionCheck>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// packages/editor/src/components/post-revisions-preview/revisions-slider.js
|
|
2
|
-
import { useMemo } from "@wordpress/element";
|
|
3
2
|
import { useSelect, useDispatch } from "@wordpress/data";
|
|
4
3
|
import { RangeControl, Spinner } from "@wordpress/components";
|
|
5
4
|
import { store as coreStore } from "@wordpress/core-data";
|
|
@@ -23,6 +22,8 @@ function RevisionsSlider() {
|
|
|
23
22
|
const query = {
|
|
24
23
|
per_page: -1,
|
|
25
24
|
context: "edit",
|
|
25
|
+
orderby: "date",
|
|
26
|
+
order: "asc",
|
|
26
27
|
_fields: [
|
|
27
28
|
.../* @__PURE__ */ new Set([
|
|
28
29
|
"id",
|
|
@@ -54,39 +55,30 @@ function RevisionsSlider() {
|
|
|
54
55
|
[]
|
|
55
56
|
);
|
|
56
57
|
const { setCurrentRevisionId } = unlock(useDispatch(editorStore));
|
|
57
|
-
const
|
|
58
|
-
const sortedRevisions = useMemo(() => {
|
|
59
|
-
return revisions?.slice().sort(
|
|
60
|
-
(a, b) => new Date(a[revisionDateField]) - new Date(b[revisionDateField])
|
|
61
|
-
) ?? [];
|
|
62
|
-
}, [revisions, revisionDateField]);
|
|
63
|
-
const selectedIndex = sortedRevisions.findIndex(
|
|
58
|
+
const selectedIndex = revisions?.findIndex(
|
|
64
59
|
(r) => r[revisionKey] === currentRevisionId
|
|
65
60
|
);
|
|
66
61
|
const handleSliderChange = (index) => {
|
|
67
|
-
const revision =
|
|
62
|
+
const revision = revisions?.[index];
|
|
68
63
|
if (revision) {
|
|
69
64
|
setCurrentRevisionId(revision[revisionKey]);
|
|
70
65
|
}
|
|
71
66
|
};
|
|
72
67
|
const dateSettings = getDateSettings();
|
|
73
68
|
const renderTooltipContent = (index) => {
|
|
74
|
-
const revision =
|
|
69
|
+
const revision = revisions?.[index];
|
|
75
70
|
if (!revision) {
|
|
76
71
|
return index;
|
|
77
72
|
}
|
|
78
|
-
return dateI18n(
|
|
79
|
-
dateSettings.formats.datetime,
|
|
80
|
-
revision[revisionDateField]
|
|
81
|
-
);
|
|
73
|
+
return dateI18n(dateSettings.formats.datetime, revision.date);
|
|
82
74
|
};
|
|
83
75
|
if (isLoading) {
|
|
84
76
|
return /* @__PURE__ */ jsx(Spinner, {});
|
|
85
77
|
}
|
|
86
|
-
if (!
|
|
78
|
+
if (!revisions?.length) {
|
|
87
79
|
return /* @__PURE__ */ jsx("span", { className: "editor-revisions-header__no-revisions", children: __("No revisions found.") });
|
|
88
80
|
}
|
|
89
|
-
if (
|
|
81
|
+
if (revisions?.length === 1) {
|
|
90
82
|
return /* @__PURE__ */ jsx("span", { className: "editor-revisions-header__no-revisions", children: __("Only one revision found.") });
|
|
91
83
|
}
|
|
92
84
|
return /* @__PURE__ */ jsx(
|
|
@@ -96,7 +88,7 @@ function RevisionsSlider() {
|
|
|
96
88
|
className: "editor-revisions-header__slider",
|
|
97
89
|
hideLabelFromVision: true,
|
|
98
90
|
label: __("Revision"),
|
|
99
|
-
max:
|
|
91
|
+
max: revisions?.length - 1,
|
|
100
92
|
min: 0,
|
|
101
93
|
marks: true,
|
|
102
94
|
onChange: handleSliderChange,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/post-revisions-preview/revisions-slider.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {
|
|
5
|
-
"mappings": ";AAGA,SAAS,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { RangeControl, Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { dateI18n, getSettings as getDateSettings } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Slider component for navigating revisions.\n *\n * @return {React.JSX.Element} The revisions slider component.\n */\nfunction RevisionsSlider() {\n\tconst { revisions, isLoading, currentRevisionId, revisionKey } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPostId, getCurrentPostType } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getRevisions, isResolving, getEntityConfig } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tconst postId = getCurrentPostId();\n\t\t\tconst postType = getCurrentPostType();\n\n\t\t\tif ( ! postId || ! postType ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst entityConfig = getEntityConfig( 'postType', postType );\n\t\t\tconst _revisionKey = entityConfig?.revisionKey || 'id';\n\t\t\tconst query = {\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'edit',\n\t\t\t\torderby: 'date',\n\t\t\t\torder: 'asc',\n\t\t\t\t_fields: [\n\t\t\t\t\t...new Set( [\n\t\t\t\t\t\t'id',\n\t\t\t\t\t\t'date',\n\t\t\t\t\t\t'modified',\n\t\t\t\t\t\t'author',\n\t\t\t\t\t\t'meta',\n\t\t\t\t\t\t'title.raw',\n\t\t\t\t\t\t'excerpt.raw',\n\t\t\t\t\t\t'content.raw',\n\t\t\t\t\t\t_revisionKey,\n\t\t\t\t\t] ),\n\t\t\t\t].join(),\n\t\t\t};\n\t\t\treturn {\n\t\t\t\trevisions: getRevisions( 'postType', postType, postId, query ),\n\t\t\t\tisLoading: isResolving( 'getRevisions', [\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t\tcurrentRevisionId: unlock(\n\t\t\t\t\tselect( editorStore )\n\t\t\t\t).getCurrentRevisionId(),\n\t\t\t\trevisionKey: _revisionKey,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );\n\n\tconst selectedIndex = revisions?.findIndex(\n\t\t( r ) => r[ revisionKey ] === currentRevisionId\n\t);\n\n\tconst handleSliderChange = ( index ) => {\n\t\tconst revision = revisions?.[ index ];\n\t\tif ( revision ) {\n\t\t\tsetCurrentRevisionId( revision[ revisionKey ] );\n\t\t}\n\t};\n\n\t// Format date for tooltip.\n\tconst dateSettings = getDateSettings();\n\tconst renderTooltipContent = ( index ) => {\n\t\tconst revision = revisions?.[ index ];\n\t\tif ( ! revision ) {\n\t\t\treturn index;\n\t\t}\n\t\treturn dateI18n( dateSettings.formats.datetime, revision.date );\n\t};\n\n\tif ( isLoading ) {\n\t\treturn <Spinner />;\n\t}\n\n\tif ( ! revisions?.length ) {\n\t\treturn (\n\t\t\t<span className=\"editor-revisions-header__no-revisions\">\n\t\t\t\t{ __( 'No revisions found.' ) }\n\t\t\t</span>\n\t\t);\n\t}\n\n\tif ( revisions?.length === 1 ) {\n\t\treturn (\n\t\t\t<span className=\"editor-revisions-header__no-revisions\">\n\t\t\t\t{ __( 'Only one revision found.' ) }\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RangeControl\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"editor-revisions-header__slider\"\n\t\t\thideLabelFromVision\n\t\t\tlabel={ __( 'Revision' ) }\n\t\t\tmax={ revisions?.length - 1 }\n\t\t\tmin={ 0 }\n\t\t\tmarks\n\t\t\tonChange={ handleSliderChange }\n\t\t\trenderTooltipContent={ renderTooltipContent }\n\t\t\tvalue={ selectedIndex }\n\t\t\twithInputField={ false }\n\t\t/>\n\t);\n}\n\nexport default RevisionsSlider;\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,WAAW,mBAAmB;AACvC,SAAS,cAAc,eAAe;AACtC,SAAS,SAAS,iBAAiB;AACnC,SAAS,UAAU;AACnB,SAAS,UAAU,eAAe,uBAAuB;AAKzD,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AAoFd;AA7ET,SAAS,kBAAkB;AAC1B,QAAM,EAAE,WAAW,WAAW,mBAAmB,YAAY,IAAI;AAAA,IAChE,CAAE,WAAY;AACb,YAAM,EAAE,kBAAkB,mBAAmB,IAC5C,OAAQ,WAAY;AACrB,YAAM,EAAE,cAAc,aAAa,gBAAgB,IAClD,OAAQ,SAAU;AAEnB,YAAM,SAAS,iBAAiB;AAChC,YAAM,WAAW,mBAAmB;AAEpC,UAAK,CAAE,UAAU,CAAE,UAAW;AAC7B,eAAO,CAAC;AAAA,MACT;AAEA,YAAM,eAAe,gBAAiB,YAAY,QAAS;AAC3D,YAAM,eAAe,cAAc,eAAe;AAClD,YAAM,QAAQ;AAAA,QACb,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,QACP,SAAS;AAAA,UACR,GAAG,oBAAI,IAAK;AAAA,YACX;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD,CAAE;AAAA,QACH,EAAE,KAAK;AAAA,MACR;AACA,aAAO;AAAA,QACN,WAAW,aAAc,YAAY,UAAU,QAAQ,KAAM;AAAA,QAC7D,WAAW,YAAa,gBAAgB;AAAA,UACvC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAE;AAAA,QACF,mBAAmB;AAAA,UAClB,OAAQ,WAAY;AAAA,QACrB,EAAE,qBAAqB;AAAA,QACvB,aAAa;AAAA,MACd;AAAA,IACD;AAAA,IACA,CAAC;AAAA,EACF;AAEA,QAAM,EAAE,qBAAqB,IAAI,OAAQ,YAAa,WAAY,CAAE;AAEpE,QAAM,gBAAgB,WAAW;AAAA,IAChC,CAAE,MAAO,EAAG,WAAY,MAAM;AAAA,EAC/B;AAEA,QAAM,qBAAqB,CAAE,UAAW;AACvC,UAAM,WAAW,YAAa,KAAM;AACpC,QAAK,UAAW;AACf,2BAAsB,SAAU,WAAY,CAAE;AAAA,IAC/C;AAAA,EACD;AAGA,QAAM,eAAe,gBAAgB;AACrC,QAAM,uBAAuB,CAAE,UAAW;AACzC,UAAM,WAAW,YAAa,KAAM;AACpC,QAAK,CAAE,UAAW;AACjB,aAAO;AAAA,IACR;AACA,WAAO,SAAU,aAAa,QAAQ,UAAU,SAAS,IAAK;AAAA,EAC/D;AAEA,MAAK,WAAY;AAChB,WAAO,oBAAC,WAAQ;AAAA,EACjB;AAEA,MAAK,CAAE,WAAW,QAAS;AAC1B,WACC,oBAAC,UAAK,WAAU,yCACb,aAAI,qBAAsB,GAC7B;AAAA,EAEF;AAEA,MAAK,WAAW,WAAW,GAAI;AAC9B,WACC,oBAAC,UAAK,WAAU,yCACb,aAAI,0BAA2B,GAClC;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,WAAU;AAAA,MACV,qBAAmB;AAAA,MACnB,OAAQ,GAAI,UAAW;AAAA,MACvB,KAAM,WAAW,SAAS;AAAA,MAC1B,KAAM;AAAA,MACN,OAAK;AAAA,MACL,UAAW;AAAA,MACX;AAAA,MACA,OAAQ;AAAA,MACR,gBAAiB;AAAA;AAAA,EAClB;AAEF;AAEA,IAAO,2BAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -95,7 +95,7 @@ var PostTitle = forwardRef((_, forwardedRef) => {
|
|
|
95
95
|
try {
|
|
96
96
|
plainText = clipboardData.getData("text/plain");
|
|
97
97
|
html = clipboardData.getData("text/html");
|
|
98
|
-
} catch
|
|
98
|
+
} catch {
|
|
99
99
|
return;
|
|
100
100
|
}
|
|
101
101
|
const content = pasteHandler({
|
|
@@ -127,7 +127,7 @@ var PostTitle = forwardRef((_, forwardedRef) => {
|
|
|
127
127
|
});
|
|
128
128
|
const style = isEditingContentOnlySection ? { opacity: 0.2 } : void 0;
|
|
129
129
|
return (
|
|
130
|
-
/* eslint-disable jsx-a11y/
|
|
130
|
+
/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */
|
|
131
131
|
/* @__PURE__ */ jsx(
|
|
132
132
|
"h1",
|
|
133
133
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/post-title/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\tprivateApis as richTextPrivateApis,\n\tcreate,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nimport { unlock } from '../../lock-unlock';\n\nconst { useRichText } = unlock( richTextPrivateApis );\n\nconst PostTitle = forwardRef( ( _, forwardedRef ) => {\n\tconst { placeholder, isEditingContentOnlySection, isPreview } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getEditedContentOnlySection } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst { titlePlaceholder, isPreviewMode } = getSettings();\n\n\t\t\treturn {\n\t\t\t\tplaceholder: titlePlaceholder,\n\t\t\t\tisEditingContentOnlySection: !! getEditedContentOnlySection(),\n\t\t\t\tisPreview: isPreviewMode,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst {\n\t\tvalue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: title,\n\t\tonChange( newValue ) {\n\t\t\tonUpdate( newValue.replace( REGEXP_NEWLINES, ' ' ) );\n\t\t},\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch
|
|
5
|
-
"mappings": ";AAGA,OAAO,UAAU;AAIjB,SAAS,UAAU;AACnB,SAAS,YAAY,gBAAgB;AACrC,SAAS,sBAAsB;AAC/B,SAAS,WAAW,mBAAmB;AACvC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAC7B;AAAA,EACC,eAAe;AAAA,EACf;AAAA,EACA;AAAA,OACM;AACP,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB,iBAAiB;AAKjD,SAAS,oBAAoB,uBAAuB;AACpD,OAAO,uBAAuB;AAC9B,OAAO,kBAAkB;AACzB,OAAO,0BAA0B;AAEjC,SAAS,cAAc;AA0JrB;AAxJF,IAAM,EAAE,YAAY,IAAI,OAAQ,mBAAoB;AAEpD,IAAM,YAAY,WAAY,CAAE,GAAG,iBAAkB;AACpD,QAAM,EAAE,aAAa,6BAA6B,UAAU,IAAI;AAAA,IAC/D,CAAE,WAAY;AACb,YAAM,EAAE,aAAa,4BAA4B,IAAI;AAAA,QACpD,OAAQ,gBAAiB;AAAA,MAC1B;AACA,YAAM,EAAE,kBAAkB,cAAc,IAAI,YAAY;AAExD,aAAO;AAAA,QACN,aAAa;AAAA,QACb,6BAA6B,CAAC,CAAE,4BAA4B;AAAA,QAC5D,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,IACA,CAAC;AAAA,EACF;AAEA,QAAM,CAAE,YAAY,aAAc,IAAI,SAAU,KAAM;AAEtD,QAAM,EAAE,KAAK,SAAS,IAAI,kBAAmB,YAAa;AAE1D,QAAM,EAAE,OAAO,UAAU,SAAS,IAAI,aAAa;AAEnD,QAAM,CAAE,WAAW,YAAa,IAAI,SAAU,CAAC,CAAE;AAEjD,QAAM,EAAE,oBAAoB,cAAc,mBAAmB,IAC5D,YAAa,gBAAiB;AAE/B,QAAM,qBACL,eAAgB,WAAY,KAAK,GAAI,WAAY;AAElD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,EACN,IAAI,YAAa;AAAA,IAChB,OAAO;AAAA,IACP,SAAU,UAAW;AACpB,eAAU,SAAS,QAAS,iBAAiB,GAAI,CAAE;AAAA,IACpD;AAAA,IACA,aAAa;AAAA,IACb,gBAAgB,UAAU;AAAA,IAC1B,cAAc,UAAU;AAAA,IACxB,kBAAmB,UAAU,QAAS;AACrC,mBAAc,CAAE,QAAS;AACxB,cAAM,EAAE,OAAO,IAAI,IAAI;AACvB,YAAK,UAAU,YAAY,QAAQ,QAAS;AAC3C,iBAAO;AAAA,QACR;AACA,eAAO;AAAA,UACN,OAAO;AAAA,UACP,KAAK;AAAA,QACN;AAAA,MACD,CAAE;AAAA,IACH;AAAA,IACA,0BAA0B;AAAA,EAC3B,CAAE;AAEF,WAAS,mBAAoB,QAAS;AACrC,iBAAc,QAAQ,CAAE;AAAA,EACzB;AAEA,WAAS,WAAW;AACnB,kBAAe,IAAK;AACpB,uBAAmB;AAAA,EACpB;AAEA,WAAS,aAAa;AACrB,kBAAe,KAAM;AACrB,iBAAc,CAAC,CAAE;AAAA,EAClB;AAEA,WAAS,eAAe;AACvB,uBAAoB,QAAW,QAAW,CAAE;AAAA,EAC7C;AAEA,WAAS,UAAW,OAAQ;AAC3B,QAAK,MAAM,YAAY,OAAQ;AAC9B,YAAM,eAAe;AACrB,mBAAa;AAAA,IACd;AAAA,EACD;AAEA,WAAS,QAAS,OAAQ;AACzB,UAAM,gBAAgB,MAAM;AAE5B,QAAI,YAAY;AAChB,QAAI,OAAO;AAEX,QAAI;AACH,kBAAY,cAAc,QAAS,YAAa;AAChD,aAAO,cAAc,QAAS,WAAY;AAAA,IAC3C,
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\tprivateApis as richTextPrivateApis,\n\tcreate,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nimport { unlock } from '../../lock-unlock';\n\nconst { useRichText } = unlock( richTextPrivateApis );\n\nconst PostTitle = forwardRef( ( _, forwardedRef ) => {\n\tconst { placeholder, isEditingContentOnlySection, isPreview } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getEditedContentOnlySection } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst { titlePlaceholder, isPreviewMode } = getSettings();\n\n\t\t\treturn {\n\t\t\t\tplaceholder: titlePlaceholder,\n\t\t\t\tisEditingContentOnlySection: !! getEditedContentOnlySection(),\n\t\t\t\tisPreview: isPreviewMode,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst {\n\t\tvalue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: title,\n\t\tonChange( newValue ) {\n\t\t\tonUpdate( newValue.replace( REGEXP_NEWLINES, ' ' ) );\n\t\t},\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch {\n\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t// behaviour.\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\t\t\tonChange( insert( value, create( { html: contentNoHTML } ) ) );\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = clsx( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t} );\n\n\t// Because the title is within the editor iframe, we can't use scss styles.\n\t// Instead use an inline style to dim the block when it's disabled.\n\tconst style = isEditingContentOnlySection ? { opacity: 0.2 } : undefined;\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<h1\n\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\tcontentEditable={ ! isEditingContentOnlySection && ! isPreview }\n\t\t\tclassName={ className }\n\t\t\taria-label={ decodedPlaceholder }\n\t\t\trole=\"textbox\"\n\t\t\taria-multiline=\"true\"\n\t\t\tonFocus={ onSelect }\n\t\t\tonBlur={ onUnselect }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonPaste={ onPaste }\n\t\t\tstyle={ style }\n\t\t/>\n\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n} );\n\n/**\n * Renders the `PostTitle` component.\n *\n * @param {Object} _ Unused parameter.\n * @param {Element} forwardedRef Forwarded ref for the component.\n *\n * @return {React.ReactNode} The rendered PostTitle component.\n */\nexport default forwardRef( ( _, forwardedRef ) => (\n\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t<PostTitle ref={ forwardedRef } />\n\t</PostTypeSupportCheck>\n) );\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -87,7 +87,13 @@ var SidebarContent = ({
|
|
|
87
87
|
/* @__PURE__ */ jsx(PostSummary, { onActionPerformed }),
|
|
88
88
|
/* @__PURE__ */ jsx(PluginDocumentSettingPanel.Slot, {}),
|
|
89
89
|
/* @__PURE__ */ jsx(TemplateContentPanel, {}),
|
|
90
|
-
window?.__experimentalDataFormInspector && [
|
|
90
|
+
window?.__experimentalDataFormInspector && [
|
|
91
|
+
"post",
|
|
92
|
+
"page",
|
|
93
|
+
"wp_template",
|
|
94
|
+
"wp_template_part",
|
|
95
|
+
"wp_block"
|
|
96
|
+
].includes(postType) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
91
97
|
/* @__PURE__ */ jsx(TemplateActionsPanel, {}),
|
|
92
98
|
/* @__PURE__ */ jsx(PostRevisionsPanel, {})
|
|
93
99
|
] }),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/sidebar/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n} from '@wordpress/element';\nimport { isRTL, __, _x } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport PatternOverridesPanel from '../pattern-overrides-panel';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebar from '../plugin-sidebar';\nimport PostSummary from './post-summary';\nimport PostRevisionSummary from './post-revision-summary';\nimport PostTaxonomiesPanel from '../post-taxonomies/panel';\nimport PostTransformPanel from '../post-transform-panel';\nimport SidebarHeader from './header';\nimport TemplateActionsPanel from '../template-actions-panel';\nimport TemplateContentPanel from '../template-content-panel';\nimport TemplatePartContentPanel from '../template-part-content-panel';\nimport { MediaMetadataPanel } from '../media';\nimport PostRevisionsPanel from '../post-revisions-panel';\nimport RevisionBlockDiffPanel from '../revision-block-diff';\nimport useAutoSwitchEditorSidebars from '../provider/use-auto-switch-editor-sidebars';\nimport { sidebars } from './constants';\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport {\n\tATTACHMENT_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst SidebarContent = ( {\n\ttabName,\n\tkeyboardShortcut,\n\tonActionPerformed,\n\textraPanels,\n\tpostType,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `PluginSidebar` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\tconst isAttachment = postType === ATTACHMENT_POST_TYPE;\n\tconst isRevisionsMode = useSelect( ( select ) => {\n\t\treturn unlock( select( editorStore ) ).isRevisionsMode();\n\t} );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === tabName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ tabName ] );\n\n\tlet tabContent;\n\tif ( isAttachment ) {\n\t\ttabContent = (\n\t\t\t<MediaMetadataPanel onActionPerformed={ onActionPerformed } />\n\t\t);\n\t} else if ( isRevisionsMode ) {\n\t\ttabContent = <PostRevisionSummary />;\n\t} else {\n\t\ttabContent = (\n\t\t\t<>\n\t\t\t\t<PostSummary onActionPerformed={ onActionPerformed } />\n\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t<TemplateContentPanel />\n\t\t\t\t{ window?.__experimentalDataFormInspector &&\n\t\t\t\t\t[
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,WAAW,mBAAmB;AACvC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,OAAO,IAAI,UAAU;AAC9B,SAAS,YAAY,mBAAmB;AACxC,SAAS,SAAS,8BAA8B;AAChD,SAAS,eAAe,6BAA6B;AACrD,SAAS,SAAS,sBAAsB;AAKxC,OAAO,2BAA2B;AAClC,OAAO,gCAAgC;AACvC,OAAO,mBAAmB;AAC1B,OAAO,iBAAiB;AACxB,OAAO,yBAAyB;AAChC,OAAO,yBAAyB;AAChC,OAAO,wBAAwB;AAC/B,OAAO,mBAAmB;AAC1B,OAAO,0BAA0B;AACjC,OAAO,0BAA0B;AACjC,OAAO,8BAA8B;AACrC,SAAS,0BAA0B;AACnC,OAAO,wBAAwB;AAC/B,OAAO,4BAA4B;AACnC,OAAO,iCAAiC;AACxC,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,SAAS,mBAAmB;AACrC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAwDJ,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n} from '@wordpress/element';\nimport { isRTL, __, _x } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport PatternOverridesPanel from '../pattern-overrides-panel';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebar from '../plugin-sidebar';\nimport PostSummary from './post-summary';\nimport PostRevisionSummary from './post-revision-summary';\nimport PostTaxonomiesPanel from '../post-taxonomies/panel';\nimport PostTransformPanel from '../post-transform-panel';\nimport SidebarHeader from './header';\nimport TemplateActionsPanel from '../template-actions-panel';\nimport TemplateContentPanel from '../template-content-panel';\nimport TemplatePartContentPanel from '../template-part-content-panel';\nimport { MediaMetadataPanel } from '../media';\nimport PostRevisionsPanel from '../post-revisions-panel';\nimport RevisionBlockDiffPanel from '../revision-block-diff';\nimport useAutoSwitchEditorSidebars from '../provider/use-auto-switch-editor-sidebars';\nimport { sidebars } from './constants';\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport {\n\tATTACHMENT_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst SidebarContent = ( {\n\ttabName,\n\tkeyboardShortcut,\n\tonActionPerformed,\n\textraPanels,\n\tpostType,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `PluginSidebar` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\tconst isAttachment = postType === ATTACHMENT_POST_TYPE;\n\tconst isRevisionsMode = useSelect( ( select ) => {\n\t\treturn unlock( select( editorStore ) ).isRevisionsMode();\n\t} );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === tabName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ tabName ] );\n\n\tlet tabContent;\n\tif ( isAttachment ) {\n\t\ttabContent = (\n\t\t\t<MediaMetadataPanel onActionPerformed={ onActionPerformed } />\n\t\t);\n\t} else if ( isRevisionsMode ) {\n\t\ttabContent = <PostRevisionSummary />;\n\t} else {\n\t\ttabContent = (\n\t\t\t<>\n\t\t\t\t<PostSummary onActionPerformed={ onActionPerformed } />\n\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t<TemplateContentPanel />\n\t\t\t\t{ window?.__experimentalDataFormInspector &&\n\t\t\t\t\t[\n\t\t\t\t\t\t'post',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\t'wp_template',\n\t\t\t\t\t\t'wp_template_part',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t].includes( postType ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<TemplateActionsPanel />\n\t\t\t\t\t\t\t<PostRevisionsPanel />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t<TemplatePartContentPanel />\n\t\t\t\t<PostTransformPanel />\n\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t<PatternOverridesPanel />\n\t\t\t\t{ extraPanels }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<PluginSidebar\n\t\t\tidentifier={ tabName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SidebarHeader ref={ tabListRef } />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"editor-sidebar__panel\"\n\t\t\theaderClassName=\"editor-sidebar__panel-tabs\"\n\t\t\ttitle={\n\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t_x( 'Settings', 'panel button label' )\n\t\t\t}\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t{ tabContent }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t{ ! isAttachment && (\n\t\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t\t{ isRevisionsMode && <RevisionBlockDiffPanel /> }\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t) }\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebar>\n\t);\n};\n\nconst Sidebar = ( { extraPanels, onActionPerformed } ) => {\n\tuseAutoSwitchEditorSidebars();\n\tconst { tabName, keyboardShortcut, showSummary, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst shortcut = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/editor/toggle-sidebar' );\n\n\t\t\tconst sidebar =\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\t\tconst _isEditorSidebarOpened = [\n\t\t\t\tsidebars.block,\n\t\t\t\tsidebars.document,\n\t\t\t].includes( sidebar );\n\t\t\tlet _tabName = sidebar;\n\t\t\tif ( ! _isEditorSidebarOpened ) {\n\t\t\t\t_tabName = !! select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).getBlockSelectionStart()\n\t\t\t\t\t? sidebars.block\n\t\t\t\t\t: sidebars.document;\n\t\t\t}\n\n\t\t\tconst _postType = select( editorStore ).getCurrentPostType();\n\n\t\t\treturn {\n\t\t\t\ttabName: _tabName,\n\t\t\t\tkeyboardShortcut: shortcut,\n\t\t\t\tshowSummary: ! [\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\tNAVIGATION_POST_TYPE,\n\t\t\t\t].includes( _postType ),\n\t\t\t\tpostType: _postType,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea( 'core', newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\tselectedTabId={ tabName }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\ttabName={ tabName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tshowSummary={ showSummary }\n\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\textraPanels={ extraPanels }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default Sidebar;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
// packages/editor/src/components/sidebar/post-revision-summary.js
|
|
2
2
|
import { useSelect } from "@wordpress/data";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
ExternalLink,
|
|
5
|
+
__experimentalVStack as VStack
|
|
6
|
+
} from "@wordpress/components";
|
|
7
|
+
import { __ } from "@wordpress/i18n";
|
|
8
|
+
import { addQueryArgs } from "@wordpress/url";
|
|
4
9
|
import { store as editorStore } from "../../store/index.mjs";
|
|
5
10
|
import { unlock } from "../../lock-unlock.mjs";
|
|
6
11
|
import RevisionAuthorPanel from "../revision-author-panel/index.mjs";
|
|
@@ -9,7 +14,6 @@ import { PostContentInformationUI } from "../post-content-information/index.mjs"
|
|
|
9
14
|
import RevisionFieldsDiffPanel from "../revision-fields-diff/index.mjs";
|
|
10
15
|
import PostPanelSection from "../post-panel-section/index.mjs";
|
|
11
16
|
import PostCardPanel from "../post-card-panel/index.mjs";
|
|
12
|
-
import { OpenRevisionsClassicScreen } from "./post-summary.mjs";
|
|
13
17
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
14
18
|
function PostRevisionSummary() {
|
|
15
19
|
const { revisionId, postId, postContent } = useSelect((select) => {
|
|
@@ -31,7 +35,15 @@ function PostRevisionSummary() {
|
|
|
31
35
|
/* @__PURE__ */ jsx(PostContentInformationUI, { postContent }),
|
|
32
36
|
/* @__PURE__ */ jsx(RevisionCreatedPanel, {})
|
|
33
37
|
] }),
|
|
34
|
-
/* @__PURE__ */ jsx(
|
|
38
|
+
/* @__PURE__ */ jsx(
|
|
39
|
+
ExternalLink,
|
|
40
|
+
{
|
|
41
|
+
href: addQueryArgs("revision.php", {
|
|
42
|
+
revision: revisionId
|
|
43
|
+
}),
|
|
44
|
+
children: __("Open classic revisions screen")
|
|
45
|
+
}
|
|
46
|
+
),
|
|
35
47
|
/* @__PURE__ */ jsx(RevisionAuthorPanel, {})
|
|
36
48
|
] }) }),
|
|
37
49
|
/* @__PURE__ */ jsx(RevisionFieldsDiffPanel, {})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/sidebar/post-revision-summary.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {
|
|
5
|
-
"mappings": ";AAGA,SAAS,iBAAiB;AAC1B,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tExternalLink,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport RevisionAuthorPanel from '../revision-author-panel';\nimport RevisionCreatedPanel from '../revision-created-panel';\nimport { PostContentInformationUI } from '../post-content-information';\nimport RevisionFieldsDiffPanel from '../revision-fields-diff';\nimport PostPanelSection from '../post-panel-section';\nimport PostCardPanel from '../post-card-panel';\n\nexport default function PostRevisionSummary() {\n\tconst { revisionId, postId, postContent } = useSelect( ( select ) => {\n\t\tconst { getCurrentRevisionId, getCurrentRevision, getCurrentPostId } =\n\t\t\tunlock( select( editorStore ) );\n\t\tconst _revisionId = getCurrentRevisionId();\n\t\treturn {\n\t\t\trevisionId: _revisionId,\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostContent: _revisionId && getCurrentRevision()?.content?.raw,\n\t\t};\n\t}, [] );\n\tif ( ! revisionId ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<PostPanelSection className=\"editor-post-summary\">\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<PostCardPanel postId={ postId } hideActions />\n\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t<PostContentInformationUI postContent={ postContent } />\n\t\t\t\t\t\t<RevisionCreatedPanel />\n\t\t\t\t\t</VStack>\n\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\t\t\trevision: revisionId,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Open classic revisions screen' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t<RevisionAuthorPanel />\n\t\t\t\t</VStack>\n\t\t\t</PostPanelSection>\n\t\t\t<RevisionFieldsDiffPanel />\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA,wBAAwB;AAAA,OAClB;AACP,SAAS,UAAU;AACnB,SAAS,oBAAoB;AAK7B,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AACvB,OAAO,yBAAyB;AAChC,OAAO,0BAA0B;AACjC,SAAS,gCAAgC;AACzC,OAAO,6BAA6B;AACpC,OAAO,sBAAsB;AAC7B,OAAO,mBAAmB;AAiBxB,mBAGG,KACA,YAJH;AAfa,SAAR,sBAAuC;AAC7C,QAAM,EAAE,YAAY,QAAQ,YAAY,IAAI,UAAW,CAAE,WAAY;AACpE,UAAM,EAAE,sBAAsB,oBAAoB,iBAAiB,IAClE,OAAQ,OAAQ,WAAY,CAAE;AAC/B,UAAM,cAAc,qBAAqB;AACzC,WAAO;AAAA,MACN,YAAY;AAAA,MACZ,QAAQ,iBAAiB;AAAA,MACzB,aAAa,eAAe,mBAAmB,GAAG,SAAS;AAAA,IAC5D;AAAA,EACD,GAAG,CAAC,CAAE;AACN,MAAK,CAAE,YAAa;AACnB,WAAO;AAAA,EACR;AACA,SACC,iCACC;AAAA,wBAAC,oBAAiB,WAAU,uBAC3B,+BAAC,UAAO,SAAU,GACjB;AAAA,0BAAC,iBAAc,QAAkB,aAAW,MAAC;AAAA,MAC7C,qBAAC,UAAO,SAAU,GACjB;AAAA,4BAAC,4BAAyB,aAA4B;AAAA,QACtD,oBAAC,wBAAqB;AAAA,SACvB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAO,aAAc,gBAAgB;AAAA,YACpC,UAAU;AAAA,UACX,CAAE;AAAA,UAEA,aAAI,+BAAgC;AAAA;AAAA,MACvC;AAAA,MACA,oBAAC,uBAAoB;AAAA,OACtB,GACD;AAAA,IACA,oBAAC,2BAAwB;AAAA,KAC1B;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
// packages/editor/src/components/sidebar/post-summary.js
|
|
2
|
-
import {
|
|
3
|
-
__experimentalVStack as VStack,
|
|
4
|
-
ExternalLink
|
|
5
|
-
} from "@wordpress/components";
|
|
2
|
+
import { __experimentalVStack as VStack } from "@wordpress/components";
|
|
6
3
|
import { useSelect } from "@wordpress/data";
|
|
7
|
-
import { __ } from "@wordpress/i18n";
|
|
8
|
-
import { addQueryArgs } from "@wordpress/url";
|
|
9
4
|
import DataFormPostSummary from "./dataform-post-summary.mjs";
|
|
10
5
|
import PluginPostStatusInfo from "../plugin-post-status-info/index.mjs";
|
|
11
6
|
import PostAuthorPanel from "../post-author/panel.mjs";
|
|
@@ -31,17 +26,6 @@ import { PrivatePostLastRevision } from "../post-last-revision/index.mjs";
|
|
|
31
26
|
import PostTrash from "../post-trash/index.mjs";
|
|
32
27
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
33
28
|
var PANEL_NAME = "post-status";
|
|
34
|
-
function OpenRevisionsClassicScreen({ revisionId }) {
|
|
35
|
-
return /* @__PURE__ */ jsx(
|
|
36
|
-
ExternalLink,
|
|
37
|
-
{
|
|
38
|
-
href: addQueryArgs("revision.php", {
|
|
39
|
-
revision: revisionId
|
|
40
|
-
}),
|
|
41
|
-
children: __("Open classic revisions screen")
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
29
|
function PostSummary({ onActionPerformed }) {
|
|
46
30
|
const postType = useSelect(
|
|
47
31
|
(select) => select(editorStore).getCurrentPostType(),
|
|
@@ -110,7 +94,6 @@ function ClassicPostSummary({ onActionPerformed }) {
|
|
|
110
94
|
] }) }) }) });
|
|
111
95
|
}
|
|
112
96
|
export {
|
|
113
|
-
OpenRevisionsClassicScreen,
|
|
114
97
|
PostSummary as default
|
|
115
98
|
};
|
|
116
99
|
//# sourceMappingURL=post-summary.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/sidebar/post-summary.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {
|
|
5
|
-
"mappings": ";AAGA
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DataFormPostSummary from './dataform-post-summary';\nimport PluginPostStatusInfo from '../plugin-post-status-info';\nimport PostAuthorPanel from '../post-author/panel';\nimport PostCardPanel from '../post-card-panel';\nimport PostContentInformation from '../post-content-information';\nimport PageAttributesPanel from '../page-attributes/panel';\nimport PostDiscussionPanel from '../post-discussion/panel';\nimport { PrivatePostExcerptPanel as PostExcerptPanel } from '../post-excerpt/panel';\nimport PostFeaturedImagePanel from '../post-featured-image/panel';\nimport PostFormatPanel from '../post-format/panel';\nimport PostLastEditedPanel from '../post-last-edited-panel';\nimport PostPanelSection from '../post-panel-section';\nimport PostSchedulePanel from '../post-schedule/panel';\nimport PostStatusPanel from '../post-status';\nimport PostSyncStatus from '../post-sync-status';\nimport PostTemplatePanel from '../post-template/panel';\nimport PostURLPanel from '../post-url/panel';\nimport BlogTitle from '../blog-title';\nimport PostsPerPage from '../posts-per-page';\nimport SiteDiscussion from '../site-discussion';\nimport { store as editorStore } from '../../store';\nimport { PrivatePostLastRevision } from '../post-last-revision';\nimport PostTrash from '../post-trash';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nexport default function PostSummary( { onActionPerformed } ) {\n\tconst postType = useSelect(\n\t\t( select ) => select( editorStore ).getCurrentPostType(),\n\t\t[]\n\t);\n\tif (\n\t\twindow?.__experimentalDataFormInspector &&\n\t\t[ 'page', 'post' ].includes( postType )\n\t) {\n\t\treturn <DataFormPostSummary onActionPerformed={ onActionPerformed } />;\n\t}\n\treturn <ClassicPostSummary onActionPerformed={ onActionPerformed } />;\n}\n\nfunction ClassicPostSummary( { onActionPerformed } ) {\n\tconst { isRemovedPostStatusPanel, postType, postId } = useSelect(\n\t\t( select ) => {\n\t\t\t// We use isEditorPanelRemoved to hide the panel if it was programmatically removed. We do\n\t\t\t// not use isEditorPanelEnabled since this panel should not be disabled through the UI.\n\t\t\tconst {\n\t\t\t\tisEditorPanelRemoved,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t} = select( editorStore );\n\t\t\treturn {\n\t\t\t\tisRemovedPostStatusPanel: isEditorPanelRemoved( PANEL_NAME ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\treturn (\n\t\t<PostPanelSection className=\"editor-post-summary\">\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<PostCardPanel\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFeaturedImagePanel withPanelBody={ false } />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<PostContentInformation />\n\t\t\t\t\t\t\t\t<PostLastEditedPanel />\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t{ ! isRemovedPostStatusPanel && (\n\t\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<PostStatusPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSchedulePanel />\n\t\t\t\t\t\t\t\t\t\t<PostURLPanel />\n\t\t\t\t\t\t\t\t\t\t<PostAuthorPanel />\n\t\t\t\t\t\t\t\t\t\t<PostTemplatePanel />\n\t\t\t\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t\t\t\t<PrivatePostLastRevision />\n\t\t\t\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSyncStatus />\n\t\t\t\t\t\t\t\t\t\t<BlogTitle />\n\t\t\t\t\t\t\t\t\t\t<PostsPerPage />\n\t\t\t\t\t\t\t\t\t\t<SiteDiscussion />\n\t\t\t\t\t\t\t\t\t\t<PostFormatPanel />\n\t\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t<PostTrash\n\t\t\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PostPanelSection>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,wBAAwB,cAAc;AAC/C,SAAS,iBAAiB;AAK1B,OAAO,yBAAyB;AAChC,OAAO,0BAA0B;AACjC,OAAO,qBAAqB;AAC5B,OAAO,mBAAmB;AAC1B,OAAO,4BAA4B;AACnC,OAAO,yBAAyB;AAChC,OAAO,yBAAyB;AAChC,SAAS,2BAA2B,wBAAwB;AAC5D,OAAO,4BAA4B;AACnC,OAAO,qBAAqB;AAC5B,OAAO,yBAAyB;AAChC,OAAO,sBAAsB;AAC7B,OAAO,uBAAuB;AAC9B,OAAO,qBAAqB;AAC5B,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAC9B,OAAO,kBAAkB;AACzB,OAAO,eAAe;AACtB,OAAO,kBAAkB;AACzB,OAAO,oBAAoB;AAC3B,SAAS,SAAS,mBAAmB;AACrC,SAAS,+BAA+B;AACxC,OAAO,eAAe;AAgBb,SA2BJ,UA3BI,KAoCF,YApCE;AAXT,IAAM,aAAa;AAEJ,SAAR,YAA8B,EAAE,kBAAkB,GAAI;AAC5D,QAAM,WAAW;AAAA,IAChB,CAAE,WAAY,OAAQ,WAAY,EAAE,mBAAmB;AAAA,IACvD,CAAC;AAAA,EACF;AACA,MACC,QAAQ,mCACR,CAAE,QAAQ,MAAO,EAAE,SAAU,QAAS,GACrC;AACD,WAAO,oBAAC,uBAAoB,mBAAwC;AAAA,EACrE;AACA,SAAO,oBAAC,sBAAmB,mBAAwC;AACpE;AAEA,SAAS,mBAAoB,EAAE,kBAAkB,GAAI;AACpD,QAAM,EAAE,0BAA0B,UAAU,OAAO,IAAI;AAAA,IACtD,CAAE,WAAY;AAGb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,WAAY;AACxB,aAAO;AAAA,QACN,0BAA0B,qBAAsB,UAAW;AAAA,QAC3D,UAAU,mBAAmB;AAAA,QAC7B,QAAQ,iBAAiB;AAAA,MAC1B;AAAA,IACD;AAAA,IACA,CAAC;AAAA,EACF;AACA,SACC,oBAAC,oBAAiB,WAAU,uBAC3B,8BAAC,qBAAqB,MAArB,EACE,WAAE,UACH,gCACC,+BAAC,UAAO,SAAU,GACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IACA,oBAAC,0BAAuB,eAAgB,OAAQ;AAAA,IAChD,oBAAC,oBAAiB;AAAA,IAClB,qBAAC,UAAO,SAAU,GACjB;AAAA,0BAAC,0BAAuB;AAAA,MACxB,oBAAC,uBAAoB;AAAA,OACtB;AAAA,IACE,CAAE,4BACH,qBAAC,UAAO,SAAU,GACjB;AAAA,2BAAC,UAAO,SAAU,GACjB;AAAA,4BAAC,mBAAgB;AAAA,QACjB,oBAAC,qBAAkB;AAAA,QACnB,oBAAC,gBAAa;AAAA,QACd,oBAAC,mBAAgB;AAAA,QACjB,oBAAC,qBAAkB;AAAA,QACnB,oBAAC,uBAAoB;AAAA,QACrB,oBAAC,2BAAwB;AAAA,QACzB,oBAAC,uBAAoB;AAAA,QACrB,oBAAC,kBAAe;AAAA,QAChB,oBAAC,aAAU;AAAA,QACX,oBAAC,gBAAa;AAAA,QACd,oBAAC,kBAAe;AAAA,QAChB,oBAAC,mBAAgB;AAAA,QACf;AAAA,SACH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA;AAAA;AAAA,MACD;AAAA,OACD;AAAA,KAEF,GACD,GAEF,GACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/style-book/categories.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\n// @wordpress/blocks imports are not typed.\
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\n// @wordpress/blocks imports are not typed.\nimport { getCategories } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tBlockExample,\n\tStyleBookCategory,\n\tCategoryExamples,\n} from './types';\nimport {\n\tSTYLE_BOOK_CATEGORIES,\n\tSTYLE_BOOK_THEME_SUBCATEGORIES,\n} from './constants';\n\n/**\n * Returns category examples for a given category definition and list of examples.\n * @param {StyleBookCategory} categoryDefinition The category definition.\n * @param {BlockExample[]} examples An array of block examples.\n * @return {CategoryExamples|undefined} An object containing the category examples.\n */\nexport function getExamplesByCategory(\n\tcategoryDefinition: StyleBookCategory,\n\texamples: BlockExample[]\n): CategoryExamples | undefined {\n\tif ( ! categoryDefinition?.slug || ! examples?.length ) {\n\t\treturn;\n\t}\n\tconst categories: CategoryExamples[] =\n\t\tcategoryDefinition?.subcategories ?? [];\n\tif ( categories.length ) {\n\t\treturn categories.reduce(\n\t\t\t( acc, subcategoryDefinition ) => {\n\t\t\t\tconst subcategoryExamples = getExamplesByCategory(\n\t\t\t\t\tsubcategoryDefinition,\n\t\t\t\t\texamples\n\t\t\t\t);\n\t\t\t\tif ( subcategoryExamples ) {\n\t\t\t\t\tif ( ! acc.subcategories ) {\n\t\t\t\t\t\tacc.subcategories = [];\n\t\t\t\t\t}\n\t\t\t\t\tacc.subcategories = [\n\t\t\t\t\t\t...acc.subcategories,\n\t\t\t\t\t\tsubcategoryExamples,\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: categoryDefinition.title,\n\t\t\t\tslug: categoryDefinition.slug,\n\t\t\t}\n\t\t);\n\t}\n\n\tconst blocksToInclude = categoryDefinition?.blocks || [];\n\tconst blocksToExclude = categoryDefinition?.exclude || [];\n\tconst categoryExamples = examples.filter( ( example ) => {\n\t\treturn (\n\t\t\t! blocksToExclude.includes( example.name ) &&\n\t\t\t( example.category === categoryDefinition.slug ||\n\t\t\t\tblocksToInclude.includes( example.name ) )\n\t\t);\n\t} );\n\n\tif ( ! categoryExamples.length ) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\ttitle: categoryDefinition.title,\n\t\tslug: categoryDefinition.slug,\n\t\texamples: categoryExamples,\n\t};\n}\n\n/**\n * Returns category examples for a given category definition and list of examples.\n *\n * @return {StyleBookCategory[]} An array of top-level category definitions.\n */\nexport function getTopLevelStyleBookCategories(): StyleBookCategory[] {\n\tconst reservedCategories = [\n\t\t...STYLE_BOOK_THEME_SUBCATEGORIES,\n\t\t...STYLE_BOOK_CATEGORIES,\n\t].map( ( { slug } ) => slug );\n\tconst extraCategories: StyleBookCategory[] = getCategories();\n\tconst extraCategoriesFiltered = extraCategories.filter(\n\t\t( { slug } ) => ! reservedCategories.includes( slug )\n\t);\n\treturn [ ...STYLE_BOOK_CATEGORIES, ...extraCategoriesFiltered ];\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,qBAAqB;AAU9B;AAAA,EACC;AAAA,EACA;AAAA,OACM;AAQA,SAAS,sBACf,oBACA,UAC+B;AAC/B,MAAK,CAAE,oBAAoB,QAAQ,CAAE,UAAU,QAAS;AACvD;AAAA,EACD;AACA,QAAM,aACL,oBAAoB,iBAAiB,CAAC;AACvC,MAAK,WAAW,QAAS;AACxB,WAAO,WAAW;AAAA,MACjB,CAAE,KAAK,0BAA2B;AACjC,cAAM,sBAAsB;AAAA,UAC3B;AAAA,UACA;AAAA,QACD;AACA,YAAK,qBAAsB;AAC1B,cAAK,CAAE,IAAI,eAAgB;AAC1B,gBAAI,gBAAgB,CAAC;AAAA,UACtB;AACA,cAAI,gBAAgB;AAAA,YACnB,GAAG,IAAI;AAAA,YACP;AAAA,UACD;AAAA,QACD;AACA,eAAO;AAAA,MACR;AAAA,MACA;AAAA,QACC,OAAO,mBAAmB;AAAA,QAC1B,MAAM,mBAAmB;AAAA,MAC1B;AAAA,IACD;AAAA,EACD;AAEA,QAAM,kBAAkB,oBAAoB,UAAU,CAAC;AACvD,QAAM,kBAAkB,oBAAoB,WAAW,CAAC;AACxD,QAAM,mBAAmB,SAAS,OAAQ,CAAE,YAAa;AACxD,WACC,CAAE,gBAAgB,SAAU,QAAQ,IAAK,MACvC,QAAQ,aAAa,mBAAmB,QACzC,gBAAgB,SAAU,QAAQ,IAAK;AAAA,EAE1C,CAAE;AAEF,MAAK,CAAE,iBAAiB,QAAS;AAChC;AAAA,EACD;AAEA,SAAO;AAAA,IACN,OAAO,mBAAmB;AAAA,IAC1B,MAAM,mBAAmB;AAAA,IACzB,UAAU;AAAA,EACX;AACD;AAOO,SAAS,iCAAsD;AACrE,QAAM,qBAAqB;AAAA,IAC1B,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,EAAE,IAAK,CAAE,EAAE,KAAK,MAAO,IAAK;AAC5B,QAAM,kBAAuC,cAAc;AAC3D,QAAM,0BAA0B,gBAAgB;AAAA,IAC/C,CAAE,EAAE,KAAK,MAAO,CAAE,mBAAmB,SAAU,IAAK;AAAA,EACrD;AACA,SAAO,CAAE,GAAG,uBAAuB,GAAG,uBAAwB;AAC/D;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|